mapview中引入 TILEINFO结构体,忘记写#pragma pack(1)字节对齐,差点搞死。。。

来源:互联网 发布:手机淘宝不出菜鸟驿站 编辑:程序博客网 时间:2024/06/06 02:53

mapview中引入 TILEINFO结构体,忘记写#pragma pack(1)字节对齐,差点搞死。。。(笔记记录下来)

#pragma pack(1)

typedef struct tagTILEINFO
{
BYTE bFileIdx;//文件索引,是对应的文件名数组  ---1
WORD wTileIdx;//瓷砖索引,是地砖的编号  ---2共3个字节
}TILEINFO, *LPTILEINFO;


typedef struct tagMAPFILEHEADER
{
CHAR szDesc[20];//20字节描述---20
WORD wAttr;//版本号---2
SHORT shWidth;//长度 单元格---2
SHORT shHeight;//宽度 单元格---2
CHAR cEventFileIdx;//---1
CHAR cFogColor;//---1共28个字节。map中的数据=长*宽/4*28
}MAPFILEHEADER, *LPMAPFILEHEADER;


typedef struct tagCELLINFO
{
    BYTE   bFlag;            // 障碍层---1
    BYTE   bObj1Ani;         // 动画物体1---1
    BYTE   bObj2Ani;         // 动画物体2---1
    WORD   bFileIdx;         // 文件索引   // BYTE   bFileIdx;---2
WORD   wObj1;            // 物体1---2
    WORD   wObj2;            // 物体2---2
    WORD   bDoorIdx;         // 大门索引   // BYTE   bDoorIdx;//bDoorIdx;分高低位---2
    BYTE   bDoorOffset;      // 大门偏移---1
    WORD   wLigntNEvent;     // 光线---2共14个字节。map中的数据=长*宽*14

}CELLINFO, *LPCELLINFO;
0 0
原创粉丝点击