CommonLibSSE (powerof3)
BSSoundHandle.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/N/NiPoint3.h"
4 
5 namespace RE
6 {
7  class NiAVObject;
8 
9  struct BSSoundHandle
10  {
11  public:
12  enum : std::uint32_t
13  {
14  kInvalidID = static_cast<std::uint32_t>(-1)
15  };
16 
17  enum class AssumedState
18  {
19  kInitialized = 0,
20  kPlaying = 1,
21  kStopped = 2,
22  kPaused = 3
23  };
24 
25  enum class LoopType
26  {
27  kNone = 0,
28  kWholeFile = 1,
29  kEnvFast = 2,
30  kEnvSlow = 3
31  };
32 
34  ~BSSoundHandle() = default;
35 
36  [[nodiscard]] bool IsValid() const;
37  bool SetPosition(NiPoint3 a_pos);
39  bool Stop();
40  bool Play();
41 
42  // members
43  std::uint32_t soundID; // 00
44  bool assumeSuccess; // 04
45  std::uint8_t pad05; // 05
46  std::uint16_t pad06; // 06
48  };
49  static_assert(sizeof(BSSoundHandle) == 0xC);
50 }
Definition: NiAVObject.h:45
Definition: NiPoint3.h:6
Definition: AbsorbEffect.h:6
Definition: BSSoundHandle.h:10
@ kInvalidID
Definition: BSSoundHandle.h:14
~BSSoundHandle()=default
std::uint8_t pad05
Definition: BSSoundHandle.h:45
std::uint16_t pad06
Definition: BSSoundHandle.h:46
bool assumeSuccess
Definition: BSSoundHandle.h:44
bool IsValid() const
std::uint32_t soundID
Definition: BSSoundHandle.h:43
AssumedState
Definition: BSSoundHandle.h:18
bool SetPosition(NiPoint3 a_pos)
stl::enumeration< AssumedState, std::uint32_t > state
Definition: BSSoundHandle.h:47
void SetObjectToFollow(NiAVObject *a_node)
LoopType
Definition: BSSoundHandle.h:26