annotate 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
rev   line source
0
Ritor1
parents:
diff changeset
1 #pragma once
Ritor1
parents:
diff changeset
2
Ritor1
parents:
diff changeset
3
Ritor1
parents:
diff changeset
4
Ritor1
parents:
diff changeset
5
Ritor1
parents:
diff changeset
6 /* 321 */
Ritor1
parents:
diff changeset
7 enum DECORATION_FLAGS
Ritor1
parents:
diff changeset
8 {
Ritor1
parents:
diff changeset
9 DECORATION_MOVE_THROUGH = 0x1,
Ritor1
parents:
diff changeset
10 DECORATION_DONT_DRAW = 0x2,
Ritor1
parents:
diff changeset
11 DECORATION_FLICKER_SLOW = 0x4,
Ritor1
parents:
diff changeset
12 DECORATION_FICKER_AVERAGE = 0x8,
Ritor1
parents:
diff changeset
13 DECORATION_FICKER_FAST = 0x10,
Ritor1
parents:
diff changeset
14 DECORATION_MARKER = 0x20,
Ritor1
parents:
diff changeset
15 DECORATION_SLOW_LOOP = 0x40,
Ritor1
parents:
diff changeset
16 DECORATION_EMITS_FIRE = 0x80,
Ritor1
parents:
diff changeset
17 DECORATION_SOUND_ON_DAWN = 0x100,
Ritor1
parents:
diff changeset
18 DECORATION_SOUND_ON_DUSK = 0x200,
Ritor1
parents:
diff changeset
19 DECORATION_EMITS_SMOKE = 0x400,
Ritor1
parents:
diff changeset
20 };
Ritor1
parents:
diff changeset
21
Ritor1
parents:
diff changeset
22
Ritor1
parents:
diff changeset
23
Ritor1
parents:
diff changeset
24 /* 54 */
Ritor1
parents:
diff changeset
25 #pragma pack(push, 1)
1477
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1113
diff changeset
26 struct DecorationDesc_mm6
0
Ritor1
parents:
diff changeset
27 {
1113
39eaa6b00141 something to bool cast (performance warning) mostly fixed
Grumpy7
parents: 380
diff changeset
28 inline bool CanMoveThrough() {return (uFlags & DECORATION_MOVE_THROUGH) != 0;}
39eaa6b00141 something to bool cast (performance warning) mostly fixed
Grumpy7
parents: 380
diff changeset
29 inline bool DontDraw() {return (uFlags & DECORATION_DONT_DRAW) != 0;}
39eaa6b00141 something to bool cast (performance warning) mostly fixed
Grumpy7
parents: 380
diff changeset
30 inline bool SoundOnDawn() {return (uFlags & DECORATION_SOUND_ON_DAWN) != 0;}
39eaa6b00141 something to bool cast (performance warning) mostly fixed
Grumpy7
parents: 380
diff changeset
31 inline bool SoundOnDusk() {return (uFlags & DECORATION_SOUND_ON_DUSK) != 0;}
379
5bea494a2365 AudioPlayer::UpdateSounds (004AAFCF) take 2
Nomad
parents: 0
diff changeset
32
0
Ritor1
parents:
diff changeset
33 char pName[32];
Ritor1
parents:
diff changeset
34 char field_20[32];
Ritor1
parents:
diff changeset
35 __int16 uType;
Ritor1
parents:
diff changeset
36 unsigned __int16 uDecorationHeight;
Ritor1
parents:
diff changeset
37 __int16 uRadius;
Ritor1
parents:
diff changeset
38 __int16 uLightRadius;
Ritor1
parents:
diff changeset
39 unsigned __int16 uSpriteID;
Ritor1
parents:
diff changeset
40 __int16 uFlags;
Ritor1
parents:
diff changeset
41 __int16 uSoundID;
Ritor1
parents:
diff changeset
42 __int16 _pad;
1477
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1113
diff changeset
43 //unsigned __int8 uColoredLightRed;
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1113
diff changeset
44 //unsigned __int8 uColoredLightGreen;
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1113
diff changeset
45 //unsigned __int8 uColoredLightBlue;
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1113
diff changeset
46 //char __padding;
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1113
diff changeset
47 };
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1113
diff changeset
48
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1113
diff changeset
49 struct DecorationDesc: public DecorationDesc_mm6
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1113
diff changeset
50 {
0
Ritor1
parents:
diff changeset
51 unsigned __int8 uColoredLightRed;
Ritor1
parents:
diff changeset
52 unsigned __int8 uColoredLightGreen;
Ritor1
parents:
diff changeset
53 unsigned __int8 uColoredLightBlue;
Ritor1
parents:
diff changeset
54 char __padding;
Ritor1
parents:
diff changeset
55 };
Ritor1
parents:
diff changeset
56 #pragma pack(pop)
Ritor1
parents:
diff changeset
57
Ritor1
parents:
diff changeset
58 /* 55 */
Ritor1
parents:
diff changeset
59 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
60 struct DecorationList
Ritor1
parents:
diff changeset
61 {
Ritor1
parents:
diff changeset
62 inline DecorationList(): //----- (00458380)
Ritor1
parents:
diff changeset
63 pDecorations(nullptr), uNumDecorations(0)
Ritor1
parents:
diff changeset
64 {}
Ritor1
parents:
diff changeset
65
Ritor1
parents:
diff changeset
66 void ToFile();
1477
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1113
diff changeset
67 void FromFile(void *data_mm6, void *data_mm7, void *data_mm8);
0
Ritor1
parents:
diff changeset
68 bool FromFileTxt(const char *Args);
Ritor1
parents:
diff changeset
69 void InitializeDecorationSprite(unsigned int uDecID);
Ritor1
parents:
diff changeset
70 unsigned __int16 GetDecorIdByName(const char *pName);
Ritor1
parents:
diff changeset
71
Ritor1
parents:
diff changeset
72 unsigned int uNumDecorations;
Ritor1
parents:
diff changeset
73 struct DecorationDesc *pDecorations;
Ritor1
parents:
diff changeset
74 };
Ritor1
parents:
diff changeset
75 #pragma pack(pop)
Ritor1
parents:
diff changeset
76
Ritor1
parents:
diff changeset
77
Ritor1
parents:
diff changeset
78 extern struct DecorationList *pDecorationList;