Mercurial > mm7
comparison Engine/Graphics/DecorationList.h @ 2496:5abd8fc8f1c6
for ITEM_ARTIFACT_LADYS_ESCORT
author | Ritor1 |
---|---|
date | Thu, 18 Sep 2014 17:38:54 +0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
2495:7b076fe64f23 | 2496:5abd8fc8f1c6 |
---|---|
1 #pragma once | |
2 | |
3 | |
4 | |
5 | |
6 /* 321 */ | |
7 enum DECORATION_DESC_FLAGS | |
8 { | |
9 DECORATION_DESC_MOVE_THROUGH = 0x0001, | |
10 DECORATION_DESC_DONT_DRAW = 0x0002, | |
11 DECORATION_DESC_FLICKER_SLOW = 0x0004, | |
12 DECORATION_DESC_FICKER_AVERAGE = 0x0008, | |
13 DECORATION_DESC_FICKER_FAST = 0x0010, | |
14 DECORATION_DESC_MARKER = 0x0020, | |
15 DECORATION_DESC_SLOW_LOOP = 0x0040, | |
16 DECORATION_DESC_EMITS_FIRE = 0x0080, | |
17 DECORATION_DESC_SOUND_ON_DAWN = 0x0100, | |
18 DECORATION_DESC_SOUND_ON_DUSK = 0x0200, | |
19 DECORATION_DESC_EMITS_SMOKE = 0x0400, | |
20 }; | |
21 | |
22 | |
23 | |
24 /* 54 */ | |
25 #pragma pack(push, 1) | |
26 struct DecorationDesc_mm6 | |
27 { | |
28 inline bool CanMoveThrough() {return (uFlags & DECORATION_DESC_MOVE_THROUGH) != 0;} | |
29 inline bool DontDraw() {return (uFlags & DECORATION_DESC_DONT_DRAW) != 0;} | |
30 inline bool SoundOnDawn() {return (uFlags & DECORATION_DESC_SOUND_ON_DAWN) != 0;} | |
31 inline bool SoundOnDusk() {return (uFlags & DECORATION_DESC_SOUND_ON_DUSK) != 0;} | |
32 | |
33 char pName[32]; | |
34 char field_20[32]; | |
35 __int16 uType; | |
36 unsigned __int16 uDecorationHeight; | |
37 __int16 uRadius; | |
38 __int16 uLightRadius; | |
39 unsigned __int16 uSpriteID; | |
40 __int16 uFlags; | |
41 __int16 uSoundID; | |
42 __int16 _pad; | |
43 //unsigned __int8 uColoredLightRed; | |
44 //unsigned __int8 uColoredLightGreen; | |
45 //unsigned __int8 uColoredLightBlue; | |
46 //char __padding; | |
47 }; | |
48 | |
49 struct DecorationDesc: public DecorationDesc_mm6 | |
50 { | |
51 unsigned __int8 uColoredLightRed; | |
52 unsigned __int8 uColoredLightGreen; | |
53 unsigned __int8 uColoredLightBlue; | |
54 char __padding; | |
55 }; | |
56 #pragma pack(pop) | |
57 | |
58 /* 55 */ | |
59 #pragma pack(push, 1) | |
60 struct DecorationList | |
61 { | |
62 inline DecorationList(): //----- (00458380) | |
63 pDecorations(nullptr), uNumDecorations(0) | |
64 {} | |
65 | |
66 void ToFile(); | |
67 void FromFile(void *data_mm6, void *data_mm7, void *data_mm8); | |
68 bool FromFileTxt(const char *Args); | |
69 void InitializeDecorationSprite(unsigned int uDecID); | |
70 unsigned __int16 GetDecorIdByName(const char *pName); | |
71 | |
72 unsigned int uNumDecorations; | |
73 struct DecorationDesc *pDecorations; | |
74 }; | |
75 #pragma pack(pop) | |
76 | |
77 | |
78 extern struct DecorationList *pDecorationList; | |
79 | |
80 void RespawnGlobalDecorations(); |