NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
snd_Sound3DListener.h
1#ifndef NW4R_SND_SOUND_3D_LISTENER_H
2#define NW4R_SND_SOUND_3D_LISTENER_H
3#include <types.h>
4#include "nw4r/types_nw4r.h"
5#include "nw4r/ut/ut_LinkList.h"
6
7#include "nw4r/math.h"
8
9namespace nw4r {
10namespace snd {
11
12class Sound3DListener {
13public:
14 Sound3DListener();
15
16 const math::MTX34 &GetMatrix() const {
17 return mMtx;
18 }
19
20 const math::VEC3 &GetPosition() const {
21 return mPosition;
22 }
23
24 const math::VEC3 &GetVelocity() const {
25 return mVelocity;
26 }
27
28 void SetMatrix(const math::MTX34 &mtx);
29
30 f32 GetInteriorSize() const {
31 return mInteriorSize;
32 }
33 void SetInteriorSize(f32 size);
34
35 f32 GetMaxVolumeDistance() const {
36 return mMaxVolumeDistance;
37 }
38 void SetMaxVolumeDistance(f32 distance);
39
40 f32 GetUnitDistance() const {
41 return mUnitDistance;
42 }
43 void SetUnitDistance(f32 distance);
44
45 f32 GetUnitBiquadFilterValue() const {
46 return mUnitBiquadFilterValue;
47 }
48 void SetUnitBiquadFilterValue(f32 value);
49
50 f32 GetUnitBiquadFilterMax() const {
51 return mUnitBiquadFilterMax;
52 }
53 void SetUnitBiquadFilterMax(f32 value);
54
55private:
56 math::MTX34 mMtx; // at 0x0
57 math::VEC3 mPosition; // at 0x30
58 math::VEC3 mVelocity; // at 0x3C
59 f32 mInteriorSize; // at 0x48
60 f32 mMaxVolumeDistance; // at 0x4C
61 f32 mUnitDistance; // at 0x50
62 UNKWORD field_0x54; // at 0x54
63 u8 mSkipVelocityUpdate; // at 0x58
64 f32 mUnitBiquadFilterValue; // at 0x5C
65 f32 mUnitBiquadFilterMax; // at 0x60
66 ut::LinkListNode mNode; // at 0x64
67};
68
69} // namespace snd
70} // namespace nw4r
71
72#endif