2496
|
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(); |