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