CommonLibSSE (Parapets fork)
BSXAudio2DataSrc.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/A/AudioDefs.h"
5 
6 namespace RE
7 {
8  namespace BSResource
9  {
10  class StreamBase;
11  }
12 
13  template <class T>
15  public BSIntrusiveRefCounted // 08
16  {
17  public:
18  virtual ~BSAudioDataSrc(); // 00
19 
20  // members
21  std::uint32_t flags; // 0C
23  };
24 
25  class BSXAudio2DataSrc : public BSAudioDataSrc<BSXAudio2DataSrc>
26  {
27  public:
28  inline static constexpr auto RTTI = RTTI_BSXAudio2DataSrc;
29 
30  struct StreamPacket
31  {
32  public:
33  // members
34  std::uint32_t size; // 00000
35  std::uint32_t dataOffset; // 00004
36  std::uint32_t unk00008[0x40]; // 00008
37  std::byte data[0x10000]; // 00108
38  std::uint64_t unk10108; // 10108
39  std::uint32_t unk10110; // 10110
40  std::uint32_t unk10114; // 10114
41  std::uint64_t unk10118; // 10118
42  std::uint64_t unk10120; // 10120
43  std::byte* unk10128; // 10128
44  };
45  static_assert(sizeof(StreamPacket) == 0x10130);
46 
47  ~BSXAudio2DataSrc() override; // 00
48 
49  // members
50  std::uint64_t unk18; // 18
52  std::uint16_t unk32; // 32
53  std::uint32_t unk34; // 34
54  std::uint32_t unk38; // 38
55  std::uint32_t unk3C; // 3C
56  std::uint32_t unk40; // 40
57  std::uint32_t unk44; // 44
58  std::uint64_t unk48; // 48
59  std::uint64_t unk50; // 50
60  std::uint64_t unk58; // 58
61  std::uint32_t unk60; // 60
62  std::uint32_t sourceBytes; // 64
63  std::uint32_t unk68; // 68
64  std::uint32_t unk6C; // 6C
65  std::uint64_t unk70; // 70
66  std::uint32_t unk78; // 78
67  std::byte pad7C[4]; // 7C
68  std::uint64_t unk80; // 80
69  std::uint32_t unk88; // 88
70  std::uint32_t pad8C; // 8C
71  std::uint64_t unk90; // 90
72  std::uint32_t unk98; // 98
73  std::uint32_t unk9C; // 9C
74  std::uint64_t unkA0; // A0
75  std::uint32_t* decodedPacketCumulativeBytes; // A8
76  std::uint32_t audioBytes; // B0
77  std::byte padB4[4]; // B4
78  std::byte* audioData; // B8
79  };
80  static_assert(sizeof(BSAudioDataSrc<BSXAudio2DataSrc>) == 0x18);
81  static_assert(sizeof(BSXAudio2DataSrc) == 0xC0);
82 }
Definition: BSXAudio2DataSrc.h:16
BSResource::StreamBase * stream
Definition: BSXAudio2DataSrc.h:22
virtual ~BSAudioDataSrc()
std::uint32_t flags
Definition: BSXAudio2DataSrc.h:21
Definition: StreamBase.h:13
Definition: BSXAudio2DataSrc.h:26
std::byte pad7C[4]
Definition: BSXAudio2DataSrc.h:67
std::uint32_t unk34
Definition: BSXAudio2DataSrc.h:53
std::byte * audioData
Definition: BSXAudio2DataSrc.h:78
std::uint32_t unk40
Definition: BSXAudio2DataSrc.h:56
std::uint32_t unk9C
Definition: BSXAudio2DataSrc.h:73
std::uint32_t unk44
Definition: BSXAudio2DataSrc.h:57
std::uint64_t unkA0
Definition: BSXAudio2DataSrc.h:74
std::uint32_t sourceBytes
Definition: BSXAudio2DataSrc.h:62
std::uint64_t unk50
Definition: BSXAudio2DataSrc.h:59
std::uint32_t audioBytes
Definition: BSXAudio2DataSrc.h:76
std::uint32_t unk38
Definition: BSXAudio2DataSrc.h:54
std::uint64_t unk80
Definition: BSXAudio2DataSrc.h:68
std::uint32_t pad8C
Definition: BSXAudio2DataSrc.h:70
std::byte padB4[4]
Definition: BSXAudio2DataSrc.h:77
std::uint64_t unk58
Definition: BSXAudio2DataSrc.h:60
std::uint32_t unk6C
Definition: BSXAudio2DataSrc.h:64
std::uint32_t unk60
Definition: BSXAudio2DataSrc.h:61
static constexpr auto RTTI
Definition: BSXAudio2DataSrc.h:28
WAVEFORMATEX format
Definition: BSXAudio2DataSrc.h:51
std::uint32_t * decodedPacketCumulativeBytes
Definition: BSXAudio2DataSrc.h:75
std::uint16_t unk32
Definition: BSXAudio2DataSrc.h:52
std::uint64_t unk90
Definition: BSXAudio2DataSrc.h:71
std::uint64_t unk48
Definition: BSXAudio2DataSrc.h:58
std::uint32_t unk78
Definition: BSXAudio2DataSrc.h:66
std::uint32_t unk98
Definition: BSXAudio2DataSrc.h:72
std::uint32_t unk3C
Definition: BSXAudio2DataSrc.h:55
~BSXAudio2DataSrc() override
std::uint32_t unk68
Definition: BSXAudio2DataSrc.h:63
std::uint64_t unk70
Definition: BSXAudio2DataSrc.h:65
std::uint64_t unk18
Definition: BSXAudio2DataSrc.h:50
std::uint32_t unk88
Definition: BSXAudio2DataSrc.h:69
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSXAudio2DataSrc
Definition: Offsets_RTTI.h:3656
Definition: BSIntrusiveRefCounted.h:8
Definition: BSXAudio2DataSrc.h:31
std::uint32_t size
Definition: BSXAudio2DataSrc.h:34
std::uint32_t unk10110
Definition: BSXAudio2DataSrc.h:39
std::uint32_t unk00008[0x40]
Definition: BSXAudio2DataSrc.h:36
std::uint64_t unk10118
Definition: BSXAudio2DataSrc.h:41
std::uint32_t unk10114
Definition: BSXAudio2DataSrc.h:40
std::uint64_t unk10108
Definition: BSXAudio2DataSrc.h:38
std::uint64_t unk10120
Definition: BSXAudio2DataSrc.h:42
std::byte * unk10128
Definition: BSXAudio2DataSrc.h:43
std::byte data[0x10000]
Definition: BSXAudio2DataSrc.h:37
std::uint32_t dataOffset
Definition: BSXAudio2DataSrc.h:35
Definition: AudioDefs.h:8