CommonLibVR
TESLoadScreen.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/T/TESCondition.h"
6 #include "RE/T/TESForm.h"
7 #include "RE/T/TESModel.h"
8 
9 namespace RE
10 {
11  class TESLoadScreen : public TESForm
12  {
13  public:
14  inline static constexpr auto RTTI = RTTI_TESLoadScreen;
15  inline static constexpr auto VTABLE = VTABLE_TESLoadScreen;
16  inline static constexpr auto FORMTYPE = FormType::LoadScreen;
17 
18  struct RecordFlags
19  {
20  enum RecordFlag : std::uint32_t
21  {
22  kDeleted = 1 << 5,
24  kIgnored = 1 << 12
25  };
26  };
27 
28  struct LoadNIFData
29  {
30  TESBoundObject* loadNIF; // 00 - NNAM
31  float initialScale; // 08 - SNAM
32  std::int16_t rotationConstraints[3]; // 0C - RNAM
33  std::int16_t rotationOffsetConstraints[2]; // 12 - ONAM
34  std::uint16_t pad16; // 16
35  float initialTranslationOffset[3]; // 18 - XNAM
36  std::uint32_t pad24; // 24
37  TESModel cameraPath; // 28 - MOD2
38  };
39  static_assert(sizeof(LoadNIFData) == 0x50);
40 
41  ~TESLoadScreen() override; // 00
42 
43  // override (TESForm)
44  void InitializeData() override; // 04 - { return; }
45  void ClearData() override; // 05
46  bool Load(TESFile* a_mod) override; // 06
47  void InitItemImpl() override; // 13
48 
49  // members
53  private:
54  KEEP_FOR_RE()
55  };
56  static_assert(sizeof(TESLoadScreen) == 0x38);
57 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: TESBoundObject.h:26
Definition: TESCondition.h:992
Definition: TESFile.h:17
Definition: TESForm.h:40
Definition: TESLoadScreen.h:12
TESCondition conditions
Definition: TESLoadScreen.h:50
bool Load(TESFile *a_mod) override
static constexpr auto RTTI
Definition: TESLoadScreen.h:14
void InitializeData() override
BSFixedString loadingText
Definition: TESLoadScreen.h:52
void InitItemImpl() override
~TESLoadScreen() override
void ClearData() override
static constexpr auto VTABLE
Definition: TESLoadScreen.h:15
LoadNIFData * loadNIFData
Definition: TESLoadScreen.h:51
static constexpr auto FORMTYPE
Definition: TESLoadScreen.h:16
Definition: TESModel.h:16
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_TESLoadScreen(static_cast< std::uint64_t >(685313))
constexpr std::array< REL::ID, 1 > VTABLE_TESLoadScreen
Definition: Offsets_VTABLE.h:12845
Definition: TESLoadScreen.h:29
std::int16_t rotationOffsetConstraints[2]
Definition: TESLoadScreen.h:33
std::uint16_t pad16
Definition: TESLoadScreen.h:34
std::int16_t rotationConstraints[3]
Definition: TESLoadScreen.h:32
std::uint32_t pad24
Definition: TESLoadScreen.h:36
float initialScale
Definition: TESLoadScreen.h:31
float initialTranslationOffset[3]
Definition: TESLoadScreen.h:35
TESModel cameraPath
Definition: TESLoadScreen.h:37
TESBoundObject * loadNIF
Definition: TESLoadScreen.h:30
Definition: TESLoadScreen.h:19
RecordFlag
Definition: TESLoadScreen.h:21
@ kDeleted
Definition: TESLoadScreen.h:22
@ kIgnored
Definition: TESLoadScreen.h:24
@ kDisplaysInMainMenu
Definition: TESLoadScreen.h:23