struct UNITANY { DWORD dwType; //0x00 DWORD dwClassId; //0x04 DWORD _1; //0x08 DWORD dwUnitId; //0x0C DWORD dwMode; //0x10 union { LPPLAYERDATA pPlayerData; LPITEMDATA pItemData; LPMONSTERDATA pMonsterData; LPOBJECTDATA pObjectData; //LPTILEDATA pTileData doesn't appear to exist anymore }; //0x14 DWORD dwAct; //0x18 LPACT pAct; //0x1C DWORD dwSeed[2]; //0x20 DWORD _2; //0x28 union { LPPATH pPath; LPITEMPATH pItemPath; LPOBJECTPATH pObjectPath; }; //0x2C DWORD _3[5]; //0x30 DWORD dwGfxFrame; //0x44 DWORD dwFrameRemain; //0x48 WORD wFrameRate; //0x4C WORD _4; //0x4E LPBYTE pGfxUnk; //0x50 LPDWORD pGfxInfo; //0x54 DWORD _5; //0x58 LPSTATLIST pStats; //0x5C LPINVENTORY pInventory; //0x60 LPLIGHT ptLight; //0x64 DWORD _6[9]; //0x68 WORD wX; //0x8C WORD wY; //0x8E DWORD _7; //0x90 DWORD dwOwnerType; //0x94 DWORD dwOwnerId; //0x98 DWORD _8[3]; //0x9C LPINFO pInfo; //0xA8 DWORD _9[6]; //0xAC DWORD dwFlags; //0xC4 DWORD dwFlags2; //0xC8 DWORD _10[5]; //0xCC LPUNITANY pChangedNext; //0xE0 LPUNITANY pRoomNext; //0xE4 LPUNITANY pListNext; //0xE8 };