Mercurial > mm7
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)