CommonLibVR
Loading...
Searching...
No Matches
BGSMusicSingleTrack.h
Go to the documentation of this file.
1#pragma once
2
5#include "RE/B/BSTArray.h"
6#include "RE/I/ID.h"
7
8namespace RE
9{
11 {
12 public:
13 inline static constexpr auto RTTI = RTTI_BGSMusicSingleTrack;
14 inline static constexpr auto VTABLE = VTABLE_BGSMusicSingleTrack;
15
16 struct LoopData // LNAM
17 {
18 float loopBegin; // 0
19 float loopEnd; // 4
20 std::uint32_t loopCount; // 8
21 };
22 static_assert(sizeof(LoopData) == 0xC);
23
24 ~BGSMusicSingleTrack() override; // 00
25
26 // override (BGSMusicTrack)
27 void DoUpdate() override; // 01
28 void DoPlay() override; // 02
29 void DoPause() override; // 03
30 void DoFinish(bool a_arg1, float a_arg2) override; // 04
31 float GetDurationImpl() const override; // 05
32 TrackType GetType() const override; // 06 - "BGSMusicSingleTrack"
33 void DoSetDuckingAttenuation(std::uint16_t a_val) override; // 09
34 void DoClearDucking() override; // 0A
35 void Load(TESFile* a_mod) override; // 0C
36
37 // members
38 BSResource::ID trackID; // 20 - ANAM
41 std::uint32_t nextCuePoint; // 50
42 std::uint32_t loopsRemaining; // 54
43 std::uint32_t lastKnownPlaybackPosition; // 58
44 std::uint32_t pad5C; // 5C
45 LoopData* loopData; // 60 - LNAM
48 private:
50 };
51 static_assert(sizeof(BGSMusicSingleTrack) == 0x80);
52}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition BGSMusicSingleTrack.h:11
void DoFinish(bool a_arg1, float a_arg2) override
float GetDurationImpl() const override
BSResource::ID trackID
Definition BGSMusicSingleTrack.h:38
BSTArray< float > cuePoints
Definition BGSMusicSingleTrack.h:40
void DoUpdate() override
BSSoundHandle finaleHandle
Definition BGSMusicSingleTrack.h:47
static constexpr auto VTABLE
Definition BGSMusicSingleTrack.h:14
TrackType GetType() const override
static constexpr auto RTTI
Definition BGSMusicSingleTrack.h:13
std::uint32_t lastKnownPlaybackPosition
Definition BGSMusicSingleTrack.h:43
BSResource::ID finaleID
Definition BGSMusicSingleTrack.h:39
void Load(TESFile *a_mod) override
std::uint32_t pad5C
Definition BGSMusicSingleTrack.h:44
BSSoundHandle trackHandle
Definition BGSMusicSingleTrack.h:46
std::uint32_t loopsRemaining
Definition BGSMusicSingleTrack.h:42
std::uint32_t nextCuePoint
Definition BGSMusicSingleTrack.h:41
void DoPause() override
~BGSMusicSingleTrack() override
void DoSetDuckingAttenuation(std::uint16_t a_val) override
LoopData * loopData
Definition BGSMusicSingleTrack.h:45
void DoPlay() override
void DoClearDucking() override
Definition BGSMusicTrack.h:12
TrackType
Definition BSIMusicTrack.h:12
Definition BSTArray.h:378
Definition TESFile.h:17
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BGSMusicSingleTrack
Definition Offsets_VTABLE.h:8663
constexpr REL::ID RTTI_BGSMusicSingleTrack(static_cast< std::uint64_t >(685270))
Definition BGSMusicSingleTrack.h:17
std::uint32_t loopCount
Definition BGSMusicSingleTrack.h:20
float loopBegin
Definition BGSMusicSingleTrack.h:18
float loopEnd
Definition BGSMusicSingleTrack.h:19
Definition ID.h:10
Definition BSSoundHandle.h:10