CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
BGSSoundCategory.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/F/FormTypes.h"
5#include "RE/T/TESForm.h"
6#include "RE/T/TESFullName.h"
7
8namespace RE
9{
11 public TESForm, // 00
12 public TESFullName, // 20
13 public BSISoundCategory // 30
14 {
15 public:
16 inline static constexpr auto RTTI = RTTI_BGSSoundCategory;
17 inline static constexpr auto FORMTYPE = FormType::SoundCategory;
18
19 enum class Flag // FNAM
20 {
21 kNone = 0,
22 kMuteWhenSubmerged = 1 << 0,
23 kShouldAppearOnMenu = 1 << 1
24 };
25
27 {
28 enum RecordFlag : std::uint32_t
29 {
30 kDeleted = 1 << 5,
31 kIgnored = 1 << 12
32 };
33 };
34
35 ~BGSSoundCategory() override; // 00
36
37 // override (TESForm)
38 void InitializeData() override; // 04
39 bool Load(TESFile* a_mod) override; // 06
40 void InitItemImpl() override; // 13
41
42 // override (BGSSoundCategory)
43 bool Matches(const BSISoundCategory* a_category) const override; // 01
44 float GetCategoryVolume() const override; // 02
45 void SetCategoryVolume(float a_value) override; // 03
46 float GetCategoryFrequency() const override; // 04
47 void SetCategoryFrequency(float a_value) override; // 05
48 std::uint16_t GetCategoryAttenuation() const override; // 06
49 void SetCategoryAttenuation(std::uint16_t a_value) override; // 07
50
51 [[nodiscard]] float GetDefaultMenuValue() const;
52 [[nodiscard]] float GetStaticVolumeMultiplier() const;
53 [[nodiscard]] bool IsMenuCategory() const;
54 void SetDefaultMenuValue(float a_val);
55 void SetStaticVolumeMultiplier(float a_val);
56
57 // members
59 std::uint32_t unk3C; // 3C
61 std::uint16_t unk48; // 48
62 std::uint16_t attenuation; // 4A
63 std::uint16_t staticMult; // 4C - VNAM
64 std::uint16_t defaultMenuValue; // 4E - UNAM
65 float volumeMult; // 50
66 float frequencyMult; // 54
67 };
68 static_assert(sizeof(BGSSoundCategory) == 0x58);
69}
Definition: BGSSoundCategory.h:14
std::uint16_t GetCategoryAttenuation() const override
void SetDefaultMenuValue(float a_val)
bool Load(TESFile *a_mod) override
void SetCategoryFrequency(float a_value) override
stl::enumeration< Flag, std::uint32_t > flags
Definition: BGSSoundCategory.h:58
float GetDefaultMenuValue() const
float GetStaticVolumeMultiplier() const
bool Matches(const BSISoundCategory *a_category) const override
void SetStaticVolumeMultiplier(float a_val)
~BGSSoundCategory() override
float GetCategoryVolume() const override
std::uint16_t defaultMenuValue
Definition: BGSSoundCategory.h:64
float frequencyMult
Definition: BGSSoundCategory.h:66
std::uint32_t unk3C
Definition: BGSSoundCategory.h:59
void SetCategoryAttenuation(std::uint16_t a_value) override
float GetCategoryFrequency() const override
static constexpr auto FORMTYPE
Definition: BGSSoundCategory.h:17
void InitItemImpl() override
std::uint16_t staticMult
Definition: BGSSoundCategory.h:63
Flag
Definition: BGSSoundCategory.h:20
void SetCategoryVolume(float a_value) override
BGSSoundCategory * parentCategory
Definition: BGSSoundCategory.h:60
void InitializeData() override
static constexpr auto RTTI
Definition: BGSSoundCategory.h:16
std::uint16_t unk48
Definition: BGSSoundCategory.h:61
float volumeMult
Definition: BGSSoundCategory.h:65
std::uint16_t attenuation
Definition: BGSSoundCategory.h:62
bool IsMenuCategory() const
Definition: BSISoundCategory.h:6
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: TESFullName.h:9
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSSoundCategory
Definition: Offsets_RTTI.h:1540
Definition: BGSSoundCategory.h:27
RecordFlag
Definition: BGSSoundCategory.h:29
@ kDeleted
Definition: BGSSoundCategory.h:30
@ kIgnored
Definition: BGSSoundCategory.h:31