Mercurial > mm7
view DecorationList.h @ 1477:7ef4b64f6329
* LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Added support for most of mm6 resources, placeholders for mm8 resources.
Fixed few C4258
author | Nomad |
---|---|
date | Wed, 28 Aug 2013 18:43:07 +0200 |
parents | 39eaa6b00141 |
children | 59d1da1863df |
line wrap: on
line source
#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_mm6 { inline bool CanMoveThrough() {return (uFlags & DECORATION_MOVE_THROUGH) != 0;} inline bool DontDraw() {return (uFlags & DECORATION_DONT_DRAW) != 0;} inline bool SoundOnDawn() {return (uFlags & DECORATION_SOUND_ON_DAWN) != 0;} inline bool SoundOnDusk() {return (uFlags & DECORATION_SOUND_ON_DUSK) != 0;} 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; }; struct DecorationDesc: public DecorationDesc_mm6 { 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 *data_mm6, void *data_mm7, void *data_mm8); 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;