CommonLibSSE NG
TESRegionDataSound.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTArray.h"
4 #include "RE/T/TESRegionData.h"
5 
6 namespace RE
7 {
8  class BGSMusicType;
9  class BGSSoundDescriptorForm;
10  class TESFile;
11 
13  {
14  public:
15  inline static constexpr auto RTTI = RTTI_TESRegionDataSound;
16  inline static constexpr auto TYPE = Type::kSound;
17 
18  struct Sound
19  {
20  enum class Flag
21  {
22  kNone = 0,
23  kPleasant = 1 << 0,
24  kCloudy = 1 << 1,
25  kRainy = 1 << 2,
26  kSnowy = 1 << 3
27  };
28 
31  float chance; // 0C
32  };
33  static_assert(sizeof(Sound) == 0x10);
34 
35  ~TESRegionDataSound() override; // 00
36 
37  // override (TESRegionData)
38  void LoadData(TESForm* a_form) override; // 02
39  Type GetType() const override; // 03 - { return Type::kSound; }
40  void ConstructSelf() override; // 04
41  void Unk_05(void) override; // 05
42  void CopyFrom(TESRegionData* a_src, bool a_copy) override; // 06
43  [[nodiscard]] bool IsLoaded() const override; // 07 - { return music == 0; }
44 
45  // add
46  virtual void Load(TESFile* a_mod); // 08
47 
48  // members
49  BGSMusicType* music; // 10 - RDMO
50  BSTArray<Sound*> sounds; // 18 - RDSA
51  };
52  static_assert(sizeof(TESRegionDataSound) == 0x30);
53 }
Definition: BGSMusicType.h:13
Definition: BGSSoundDescriptorForm.h:14
Definition: BSTArray.h:377
Definition: TESFile.h:17
Definition: TESForm.h:36
Definition: TESRegionDataSound.h:13
void LoadData(TESForm *a_form) override
bool IsLoaded() const override
static constexpr auto RTTI
Definition: TESRegionDataSound.h:15
BSTArray< Sound * > sounds
Definition: TESRegionDataSound.h:50
void ConstructSelf() override
virtual void Load(TESFile *a_mod)
~TESRegionDataSound() override
BGSMusicType * music
Definition: TESRegionDataSound.h:49
void CopyFrom(TESRegionData *a_src, bool a_copy) override
void Unk_05(void) override
static constexpr auto TYPE
Definition: TESRegionDataSound.h:16
Type GetType() const override
Definition: TESRegionData.h:8
Type
Definition: TESRegionData.h:13
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_TESRegionDataSound(684984, 392724, 0x1edd638)
Definition: TESRegionDataSound.h:19
stl::enumeration< Flag, std::uint32_t > flags
Definition: TESRegionDataSound.h:30
BGSSoundDescriptorForm * sound
Definition: TESRegionDataSound.h:29
Flag
Definition: TESRegionDataSound.h:21
float chance
Definition: TESRegionDataSound.h:31