CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
BGSStandardSoundDef.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/B/BSTArray.h"
5#include "RE/F/FormTypes.h"
6#include "RE/I/ID.h"
7
8namespace RE
9{
10 class TESCondition;
11
13 {
14 public:
15 inline static constexpr auto RTTI = RTTI_BGSStandardSoundDef;
16
18 {
19 public:
21
22 // override (BSIPlaybackCharacteristics)
23 std::uint8_t GetFrequencyShift() override; // 01 - { return frequencyShift; }
24 std::uint8_t GetFrequencyVariance() override; // 02 - { return frequencyVariance; }
25 std::uint8_t GetPriority() override; // 03 - { return priority; }
26 std::uint16_t GetStaticAttenuation() override; // 04 - { return staticAttenuation; }
27 std::uint8_t GetDBVariance() override; // 05 - { return dbVariance; }
28
29 // members
30 std::uint8_t frequencyShift; // 08
31 std::uint8_t frequencyVariance; // 09
32 std::uint8_t priority; // 0A
33 std::uint8_t dbVariance; // 0B
34 std::uint16_t staticAttenuation; // 0C - CK Value * 100
35 std::uint16_t pad0E; // 0E
36 };
37 static_assert(sizeof(SoundPlaybackCharacteristics) == 0x10);
38
39 struct LengthCharacteristics // LNAM
40 {
41 enum class Looping
42 {
43 kNone = 0,
44 kLoop = 1 << 3,
45 kEnvelopeFast = 1 << 4,
46 kEnvelopeSlow = 1 << 5
47 };
48
49 std::uint8_t unk0; // 0
51 std::uint8_t unk2; // 2
52 std::uint8_t rumbleSendValue; // 3
53 };
54 static_assert(sizeof(LengthCharacteristics) == 0x4);
55
56 ~BGSStandardSoundDef() override; // 00
57
58 // override (BGSSoundDescriptor)
59 void Unk_01(void) override; // 01
60 void Unk_02(void) override; // 02
61 void InitSound(TESForm* a_src) override; // 03
62 bool LoadSound(TESFile* a_mod) override; // 04
63 std::uint32_t GetType() const override; // 05 - "BGSStandardSoundDef"
64 void Unk_06(void) override; // 06
65
66 // members
69 TESCondition* conditions; // 40 - CTDA
72 std::int32_t unk54; // 54
73 };
74 static_assert(sizeof(BGSStandardSoundDef) == 0x58);
75}
Definition: BGSSoundDescriptor.h:12
Definition: BGSSoundOutput.h:12
Definition: BGSStandardSoundDef.h:13
BSTArray< BSResource::ID > soundFiles
Definition: BGSStandardSoundDef.h:67
void Unk_06(void) override
BGSSoundOutput * outputModel
Definition: BGSStandardSoundDef.h:70
TESCondition * conditions
Definition: BGSStandardSoundDef.h:69
std::int32_t unk54
Definition: BGSStandardSoundDef.h:72
void Unk_02(void) override
SoundPlaybackCharacteristics soundCharacteristics
Definition: BGSStandardSoundDef.h:68
LengthCharacteristics lengthCharacteristics
Definition: BGSStandardSoundDef.h:71
std::uint32_t GetType() const override
bool LoadSound(TESFile *a_mod) override
~BGSStandardSoundDef() override
void InitSound(TESForm *a_src) override
void Unk_01(void) override
static constexpr auto RTTI
Definition: BGSStandardSoundDef.h:15
Definition: BSISoundDescriptor.h:11
Definition: BSTArray.h:377
Definition: TESCondition.h:987
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSStandardSoundDef
Definition: Offsets_RTTI.h:1545
constexpr REL::ID RTTI_BGSStandardSoundDef__SoundPlaybackCharacteristics
Definition: Offsets_RTTI.h:1546
Definition: BGSStandardSoundDef.h:40
Looping
Definition: BGSStandardSoundDef.h:42
stl::enumeration< Looping, std::uint8_t > looping
Definition: BGSStandardSoundDef.h:50
std::uint8_t unk0
Definition: BGSStandardSoundDef.h:49
std::uint8_t rumbleSendValue
Definition: BGSStandardSoundDef.h:52
std::uint8_t unk2
Definition: BGSStandardSoundDef.h:51
Definition: BGSStandardSoundDef.h:18
static constexpr auto RTTI
Definition: BGSStandardSoundDef.h:20
std::uint8_t priority
Definition: BGSStandardSoundDef.h:32
std::uint16_t staticAttenuation
Definition: BGSStandardSoundDef.h:34
std::uint8_t frequencyVariance
Definition: BGSStandardSoundDef.h:31
std::uint8_t dbVariance
Definition: BGSStandardSoundDef.h:33
std::uint8_t frequencyShift
Definition: BGSStandardSoundDef.h:30
std::uint16_t pad0E
Definition: BGSStandardSoundDef.h:35