0
|
1 #pragma once
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6 /* 321 */
|
|
7 enum DECORATION_FLAGS
|
|
8 {
|
|
9 DECORATION_MOVE_THROUGH = 0x1,
|
|
10 DECORATION_DONT_DRAW = 0x2,
|
|
11 DECORATION_FLICKER_SLOW = 0x4,
|
|
12 DECORATION_FICKER_AVERAGE = 0x8,
|
|
13 DECORATION_FICKER_FAST = 0x10,
|
|
14 DECORATION_MARKER = 0x20,
|
|
15 DECORATION_SLOW_LOOP = 0x40,
|
|
16 DECORATION_EMITS_FIRE = 0x80,
|
|
17 DECORATION_SOUND_ON_DAWN = 0x100,
|
|
18 DECORATION_SOUND_ON_DUSK = 0x200,
|
|
19 DECORATION_EMITS_SMOKE = 0x400,
|
|
20 };
|
|
21
|
|
22
|
|
23
|
|
24 /* 54 */
|
|
25 #pragma pack(push, 1)
|
|
26 struct DecorationDesc
|
|
27 {
|
|
28 char pName[32];
|
|
29 char field_20[32];
|
|
30 __int16 uType;
|
|
31 unsigned __int16 uDecorationHeight;
|
|
32 __int16 uRadius;
|
|
33 __int16 uLightRadius;
|
|
34 unsigned __int16 uSpriteID;
|
|
35 __int16 uFlags;
|
|
36 __int16 uSoundID;
|
|
37 __int16 _pad;
|
|
38 unsigned __int8 uColoredLightRed;
|
|
39 unsigned __int8 uColoredLightGreen;
|
|
40 unsigned __int8 uColoredLightBlue;
|
|
41 char __padding;
|
|
42 };
|
|
43 #pragma pack(pop)
|
|
44
|
|
45 /* 55 */
|
|
46 #pragma pack(push, 1)
|
|
47 struct DecorationList
|
|
48 {
|
|
49 inline DecorationList(): //----- (00458380)
|
|
50 pDecorations(nullptr), uNumDecorations(0)
|
|
51 {}
|
|
52
|
|
53 void ToFile();
|
|
54 void FromFile(void *pSerialized);
|
|
55 bool FromFileTxt(const char *Args);
|
|
56 void InitializeDecorationSprite(unsigned int uDecID);
|
|
57 unsigned __int16 GetDecorIdByName(const char *pName);
|
|
58
|
|
59 unsigned int uNumDecorations;
|
|
60 struct DecorationDesc *pDecorations;
|
|
61 };
|
|
62 #pragma pack(pop)
|
|
63
|
|
64
|
|
65 extern struct DecorationList *pDecorationList; |