CommonLibSSE (powerof3)
ExtraMapMarker.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSExtraData.h"
4 #include "RE/E/ExtraDataTypes.h"
5 #include "RE/T/TESFullName.h"
6 
7 namespace RE
8 {
9  enum class MARKER_TYPE
10  {
11  kNone = 0,
12  kCity = 1,
13  kTown = 2,
14  kSettlement = 3,
15  kCave = 4,
16  kCamp = 5,
17  kFort = 6,
18  kNordicRuins = 7,
19  kDwemerRuin = 8,
20  kShipwreck = 9,
21  kGrove = 10,
22  kLandmark = 11,
23  kDragonLair = 12,
24  kFarm = 13,
25  kWoodMill = 14,
26  kMine = 15,
27  kImperialCamp = 16,
28  kStormcloakCamp = 17,
29  kDoomstone = 18,
30  kWheatMill = 19,
31  kSmelter = 20,
32  kStable = 21,
33  kImperialTower = 22,
34  kClearing = 23,
35  kPass = 24,
36  kAlter = 25,
37  kRock = 26,
38  kLighthouse = 27,
39  kOrcStronghold = 28,
40  kGiantCamp = 29,
41  kShack = 30,
42  kNordicTower = 31,
43  kNordicDwelling = 32,
44  kDocks = 33,
45  kShrine = 34,
46  kRiftenCastle = 35,
47  kRiftenCapitol = 36,
48  kWindhelmCastle = 37,
49  kWindhelmCapitol = 38,
50  kWhiterunCastle = 39,
51  kWhiterunCapitol = 40,
52  kSolitudeCastle = 41,
53  kSolitudeCapitol = 42,
54  kMarkarthCastle = 43,
55  kMarkarthCapitol = 44,
56  kWinterholdCastle = 45,
57  kWinterholdCapitol = 46,
58  kMorthalCastle = 47,
59  kMorthalCapitol = 48,
60  kFalkreathCastle = 49,
61  kFalkreathCapitol = 50,
62  kDawnstarCastle = 51,
63  kDawnstarCapitol = 52,
65  kDLC02_RavenRock = 54,
66  kDLC02_BeastStone = 55,
67  kDLC02_TelMithryn = 56,
68  kDLC02_ToSkyrim = 57,
70  };
71 
73  {
74  public:
75  enum class Flag
76  {
77  kNone = 0,
78  kVisible = 1 << 0,
79  kCanTravelTo = 1 << 1,
80  kShowAllHidden = 1 << 2,
81  kUnk3 = 1 << 3,
82  kUnk4 = 1 << 4,
83  kUnk5 = 1 << 5,
84  kUnk6 = 1 << 6,
85  kUnk7 = 1 << 7
86  };
87 
88  constexpr void SetHidden(bool a_value) noexcept { a_value ? flags.set(Flag::kShowAllHidden) : flags.reset(Flag::kShowAllHidden); }
89  constexpr void SetVisible(bool a_value) noexcept { a_value ? flags.set(Flag::kVisible) : flags.reset(Flag::kVisible); }
90 
91  // members
95  std::uint16_t pad02; // 12
96  std::uint32_t pad04; // 14
97  };
98  static_assert(sizeof(MapMarkerData) == 0x18);
99 
101  {
102  public:
103  inline static constexpr auto RTTI = RTTI_ExtraMapMarker;
104  inline static constexpr auto EXTRADATATYPE = ExtraDataType::kMapMarker;
105 
106  virtual ~ExtraMapMarker(); // 00
107 
108  // override (BSExtraData)
109  virtual ExtraDataType GetType() const override; // 01 - { return kMapMarker; }
110  virtual bool IsNotEqual(const BSExtraData* a_rhs) const override; // 02
111 
112  // members
114  };
115  static_assert(sizeof(ExtraMapMarker) == 0x18);
116 }
Definition: BSExtraData.h:9
Definition: ExtraMapMarker.h:101
static constexpr auto RTTI
Definition: ExtraMapMarker.h:103
virtual bool IsNotEqual(const BSExtraData *a_rhs) const override
static constexpr auto EXTRADATATYPE
Definition: ExtraMapMarker.h:104
virtual ExtraDataType GetType() const override
virtual ~ExtraMapMarker()
MapMarkerData * mapData
Definition: ExtraMapMarker.h:113
Definition: ExtraMapMarker.h:73
constexpr void SetHidden(bool a_value) noexcept
Definition: ExtraMapMarker.h:88
std::uint16_t pad02
Definition: ExtraMapMarker.h:95
TESFullName locationName
Definition: ExtraMapMarker.h:92
constexpr void SetVisible(bool a_value) noexcept
Definition: ExtraMapMarker.h:89
stl::enumeration< MARKER_TYPE, std::uint8_t > type
Definition: ExtraMapMarker.h:94
std::uint32_t pad04
Definition: ExtraMapMarker.h:96
Flag
Definition: ExtraMapMarker.h:76
stl::enumeration< Flag, std::uint8_t > flags
Definition: ExtraMapMarker.h:93
Definition: TESFullName.h:9
constexpr enumeration & reset(Args... a_args) noexcept requires(std
Definition: PCH.h:272
constexpr enumeration & set(Args... a_args) noexcept requires(std
Definition: PCH.h:264
Definition: AbsorbEffect.h:6
MARKER_TYPE
Definition: ExtraMapMarker.h:10
ExtraDataType
Definition: ExtraDataTypes.h:173
constexpr REL::ID RTTI_ExtraMapMarker
Definition: Offsets_RTTI.h:4712