stoneage8.5/石器时代8.5客户端最新源代码/石器源码/systeminc/loadsprbin.h

102 lines
1.8 KiB
C
Raw Normal View History

2020-06-23 15:27:59 +08:00
#ifndef _SPRITE_H_
#define _SPRITE_H_
//??????<3F><>????<3F>e??????
#define mxSPRITE 40000
#define maxBUFFER 1024*1024*6
typedef unsigned char MOJI;
typedef unsigned char U1;
typedef char S1;
typedef unsigned short U2;
typedef short S2;
typedef unsigned long U4;
typedef long S4;
typedef float F4;
typedef double F8;
typedef enum {
ANIM_ATTACK, //<2F><><EFBFBD><EFBFBD>
ANIM_DAMAGE, //<2F><><EFBFBD><EFBFBD>
ANIM_DEAD, //<2F><><EFBFBD><EFBFBD>
ANIM_STAND, //վ<><D5BE>
ANIM_WALK, //<2F><><EFBFBD><EFBFBD>
ANIM_SIT, //<2F><><EFBFBD><EFBFBD>
ANIM_HAND, //<2F><><EFBFBD><EFBFBD>
ANIM_HAPPY, //<2F><><EFBFBD><EFBFBD>
ANIM_ANGRY, //<2F><><EFBFBD><EFBFBD>
ANIM_SAD, //<2F><><EFBFBD><EFBFBD>
ANIM_GUARD, //<2F><><EFBFBD><EFBFBD>
ANIM_NOD, //<2F><>ͷ
ANIM_THROW, //Ͷ<><CDB6>
ANIM_LIST_
} ANIM_LIST;
// 1?????<3F>ѩ<EFBFBD>
typedef struct
{
U4 BmpNo; //AdrnͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
S2 PosX,PosY; //ͼƬ<CDBC><C6AC>ʾʱ<CABE><CAB1>x<EFBFBD><78><79><C6AB>
U2 SoundNo; // С<><D0A1>10000<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>,<2C><>ʾҪ<CABE><D2AA><EFBFBD><EFBFBD>Ч;<3B><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>10000С<30><D0A1>10100<30><30><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>˺<EFBFBD>Ч<EFBFBD><D0A7>,<2C><><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
// <20><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>10100<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>????<3F>k?
} FRAMELIST;//һ֡<D2BB><D6A1><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>Ϣ
typedef struct
{
U2 dir; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0-8)
U2 no; // <20><><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ANIM_LIST<53>Ķ<EFBFBD><C4B6><EFBFBD>
U4 dtAnim; // <20>ζ<EFBFBD><CEB6><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD>ĺ<EFBFBD>ʱ
U4 frameCnt; // FRAMELIST<53><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FRAMELIST *ptFramelist;
} ANIMLIST;
// SPR??<3F>t<EFBFBD>ѩ<EFBFBD>
typedef struct
{
U4 sprNo; // Spr<70><72><EFBFBD><EFBFBD>
U4 offset; // ָ<><D6B8><EFBFBD><EFBFBD>spr.bin<69>еĵ<D0B5>ַ
U2 animSize; // <20><>ɫ<EFBFBD>ж<EFBFBD><D0B6>ٸ<EFBFBD><D9B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
} SPRADRN;
typedef struct
{
U2 animSize;
ANIMLIST *ptAnimlist;
} SPRITEDATA;
typedef struct {
U2 dtz;
U2 noSpritedata;
U2 mdAnim;
U2 mdAnim2;
U2 dir;
U2 ctLoop;
float ctAnim;
float dtAnim;
} SPRITE;
typedef struct
{
U2 dir; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0-8)
U2 no; // <20><><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ANIM_LIST<53>Ķ<EFBFBD><C4B6><EFBFBD>
U4 dtAnim; // һ<>ζ<EFBFBD><CEB6><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD>ĺ<EFBFBD>ʱ
U4 frameCnt; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
} ANIM_HEADER;
extern SPRITEDATA SpriteData[mxSPRITE];
BOOL InitSprBinFileOpen( char *, char * );
#endif