diff Engine/Graphics/Level/Decoration.h @ 2496:5abd8fc8f1c6

for ITEM_ARTIFACT_LADYS_ESCORT
author Ritor1
date Thu, 18 Sep 2014 17:38:54 +0600
parents
children 68cdef6879a0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Engine/Graphics/Level/Decoration.h	Thu Sep 18 17:38:54 2014 +0600
@@ -0,0 +1,46 @@
+#pragma once
+
+#include <cstdint>
+#include <array>
+
+#include "../../../VectorTypes.h"
+
+
+enum LEVEL_DECORATION_FLAGS: uint16_t
+{
+  LEVEL_DECORATION_TRIGGERED_BY_TOUCH = 0x01,
+  LEVEL_DECORATION_TRIGGERED_BY_MONSTER = 0x02,
+  LEVEL_DECORATION_TRIGGERED_BY_OBJECT = 0x04,
+  LEVEL_DECORATION_VISIBLE_ON_MAP = 0x08,
+  LEVEL_DECORATION_CHEST = 0x10,
+  LEVEL_DECORATION_INVISIBLE = 0x20,
+  LEVEL_DECORATION_OBELISK_CHEST = 0x40,
+};
+
+/*   74 */
+#pragma pack(push, 1)
+struct LevelDecoration
+{
+  LevelDecoration();
+  int GetGlobalEvent();
+  bool IsInteractive();
+  bool IsObeliskChestActive();
+
+  uint16_t uDecorationDescID;
+  uint16_t uFlags;
+  Vec3_int_ vPosition;
+  int32_t field_10_y_rot;
+  uint16_t uCog;
+  uint16_t uEventID;
+  uint16_t uTriggerRange;
+  int16_t field_1A;
+  int16_t _idx_in_stru123;
+  int16_t field_1E;
+};
+
+
+
+extern std::array<LevelDecoration, 3000> pLevelDecorations;
+extern size_t uNumLevelDecorations;
+extern LevelDecoration* activeLevelDecoration; // 5C3420
+#pragma pack(pop)