2496
|
1 #pragma once
|
|
2
|
|
3 #include <cstdint>
|
|
4 #include <array>
|
|
5
|
2499
|
6 #include "../../VectorTypes.h"
|
2496
|
7
|
|
8
|
|
9 enum LEVEL_DECORATION_FLAGS: uint16_t
|
|
10 {
|
|
11 LEVEL_DECORATION_TRIGGERED_BY_TOUCH = 0x01,
|
|
12 LEVEL_DECORATION_TRIGGERED_BY_MONSTER = 0x02,
|
|
13 LEVEL_DECORATION_TRIGGERED_BY_OBJECT = 0x04,
|
|
14 LEVEL_DECORATION_VISIBLE_ON_MAP = 0x08,
|
|
15 LEVEL_DECORATION_CHEST = 0x10,
|
|
16 LEVEL_DECORATION_INVISIBLE = 0x20,
|
|
17 LEVEL_DECORATION_OBELISK_CHEST = 0x40,
|
|
18 };
|
|
19
|
|
20 /* 74 */
|
|
21 #pragma pack(push, 1)
|
|
22 struct LevelDecoration
|
|
23 {
|
|
24 LevelDecoration();
|
|
25 int GetGlobalEvent();
|
|
26 bool IsInteractive();
|
|
27 bool IsObeliskChestActive();
|
|
28
|
|
29 uint16_t uDecorationDescID;
|
|
30 uint16_t uFlags;
|
|
31 Vec3_int_ vPosition;
|
|
32 int32_t field_10_y_rot;
|
|
33 uint16_t uCog;
|
|
34 uint16_t uEventID;
|
|
35 uint16_t uTriggerRange;
|
|
36 int16_t field_1A;
|
|
37 int16_t _idx_in_stru123;
|
|
38 int16_t field_1E;
|
|
39 };
|
|
40
|
|
41
|
|
42
|
|
43 extern std::array<LevelDecoration, 3000> pLevelDecorations;
|
|
44 extern size_t uNumLevelDecorations;
|
|
45 extern LevelDecoration* activeLevelDecoration; // 5C3420
|
|
46 #pragma pack(pop)
|