Mercurial > mm7
diff DecorationList.h @ 0:9c0607679772
init
author | Ritor1 |
---|---|
date | Sat, 12 Jan 2013 09:45:18 +0600 |
parents | |
children | 5bea494a2365 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DecorationList.h Sat Jan 12 09:45:18 2013 +0600 @@ -0,0 +1,65 @@ +#pragma once + + + + +/* 321 */ +enum DECORATION_FLAGS +{ + DECORATION_MOVE_THROUGH = 0x1, + DECORATION_DONT_DRAW = 0x2, + DECORATION_FLICKER_SLOW = 0x4, + DECORATION_FICKER_AVERAGE = 0x8, + DECORATION_FICKER_FAST = 0x10, + DECORATION_MARKER = 0x20, + DECORATION_SLOW_LOOP = 0x40, + DECORATION_EMITS_FIRE = 0x80, + DECORATION_SOUND_ON_DAWN = 0x100, + DECORATION_SOUND_ON_DUSK = 0x200, + DECORATION_EMITS_SMOKE = 0x400, +}; + + + +/* 54 */ +#pragma pack(push, 1) +struct DecorationDesc +{ + char pName[32]; + char field_20[32]; + __int16 uType; + unsigned __int16 uDecorationHeight; + __int16 uRadius; + __int16 uLightRadius; + unsigned __int16 uSpriteID; + __int16 uFlags; + __int16 uSoundID; + __int16 _pad; + unsigned __int8 uColoredLightRed; + unsigned __int8 uColoredLightGreen; + unsigned __int8 uColoredLightBlue; + char __padding; +}; +#pragma pack(pop) + +/* 55 */ +#pragma pack(push, 1) +struct DecorationList +{ + inline DecorationList(): //----- (00458380) + pDecorations(nullptr), uNumDecorations(0) + {} + + void ToFile(); + void FromFile(void *pSerialized); + bool FromFileTxt(const char *Args); + void InitializeDecorationSprite(unsigned int uDecID); + unsigned __int16 GetDecorIdByName(const char *pName); + + unsigned int uNumDecorations; + struct DecorationDesc *pDecorations; +}; +#pragma pack(pop) + + +extern struct DecorationList *pDecorationList; \ No newline at end of file