annotate DecorationList.h @ 1378:1fb9f4b9b6a7

Fixed portal culling at extreme angles.
author Nomad
date Tue, 16 Jul 2013 11:05:52 +0200
parents 39eaa6b00141
children 7ef4b64f6329
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)
Ritor1
parents:
diff changeset
26 struct DecorationDesc
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;
Ritor1
parents:
diff changeset
43 unsigned __int8 uColoredLightRed;
Ritor1
parents:
diff changeset
44 unsigned __int8 uColoredLightGreen;
Ritor1
parents:
diff changeset
45 unsigned __int8 uColoredLightBlue;
Ritor1
parents:
diff changeset
46 char __padding;
Ritor1
parents:
diff changeset
47 };
Ritor1
parents:
diff changeset
48 #pragma pack(pop)
Ritor1
parents:
diff changeset
49
Ritor1
parents:
diff changeset
50 /* 55 */
Ritor1
parents:
diff changeset
51 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
52 struct DecorationList
Ritor1
parents:
diff changeset
53 {
Ritor1
parents:
diff changeset
54 inline DecorationList(): //----- (00458380)
Ritor1
parents:
diff changeset
55 pDecorations(nullptr), uNumDecorations(0)
Ritor1
parents:
diff changeset
56 {}
Ritor1
parents:
diff changeset
57
Ritor1
parents:
diff changeset
58 void ToFile();
Ritor1
parents:
diff changeset
59 void FromFile(void *pSerialized);
Ritor1
parents:
diff changeset
60 bool FromFileTxt(const char *Args);
Ritor1
parents:
diff changeset
61 void InitializeDecorationSprite(unsigned int uDecID);
Ritor1
parents:
diff changeset
62 unsigned __int16 GetDecorIdByName(const char *pName);
Ritor1
parents:
diff changeset
63
Ritor1
parents:
diff changeset
64 unsigned int uNumDecorations;
Ritor1
parents:
diff changeset
65 struct DecorationDesc *pDecorations;
Ritor1
parents:
diff changeset
66 };
Ritor1
parents:
diff changeset
67 #pragma pack(pop)
Ritor1
parents:
diff changeset
68
Ritor1
parents:
diff changeset
69
Ritor1
parents:
diff changeset
70 extern struct DecorationList *pDecorationList;