snd_Sound3DManager OK

This commit is contained in:
robojumper
2025-05-28 22:19:53 +02:00
parent d004459b3c
commit bd2adcab70
6 changed files with 77 additions and 266 deletions
+9 -7
View File
@@ -169,10 +169,10 @@ namespace nw4r { namespace snd { namespace detail
};
// methods
public:
virtual void at_0x08();
virtual void at_0x0c(void *, int, int, void *);
virtual int at_0x10(void *, int);
virtual int at_0x14(void *, int);
virtual ~AmbientParamUpdateCallback() {}
virtual void detail_UpdateAmbientParam(const void*, u32, int, SoundAmbientParam*);
virtual int detail_GetAmbientPriority(const void*, u32);
virtual int detail_GetRequiredVoiceOutCount(const void*, u32);
// members
private:
@@ -202,9 +202,11 @@ namespace nw4r { namespace snd { namespace detail
public:
// virtual function ordering
// vtable AmbientArgAllocaterCallback
virtual void at_0x08();
virtual void *at_0x0c(int);
virtual void at_0x10(void *, void *);
virtual ~AmbientArgAllocaterCallback() {}
virtual void *detail_AllocAmbientArg(u32 size); // at 0x8
virtual void detail_FreeAmbientArg(void *pArg,
const detail::BasicSound *pSound); // at 0xC
// members
private:
+10 -11
View File
@@ -32,18 +32,14 @@ public:
Sound3DManager();
virtual void detail_Update(
SoundParam *pParam, u32 id, detail::BasicSound *pSound, const void *pArg,
u32 flags
); // at 0x8
virtual void detail_UpdateAmbientParam(const void*, u32, int, SoundAmbientParam*) override;
virtual int detail_GetAmbientPriority(const void*, u32) override;
virtual int detail_GetRequiredVoiceOutCount(const void*, u32) override;
virtual void Update(SoundParam *pParam, u32 id, SoundHandle *pHandle, const void *pArg,
u32 flags); // at 0x10
virtual void *detail_AllocAmbientArg(u32 size); // at 0x14
virtual void *detail_AllocAmbientArg(u32 size) override;
virtual void detail_FreeAmbientArg(void *pArg,
const detail::BasicSound *pSound); // at 0x18
const detail::BasicSound *pSound) override;
u32 GetRequiredMemSize(const SoundArchive *pArchive);
bool Setup(const SoundArchive *pArchive, void *pBuffer, u32 size);
@@ -64,8 +60,9 @@ public:
}
int GetBiquadFilterType() const {
return biquadFilterType;
return mBiquadFilterType;
}
void SetBiquadFilterType(int type);
f32 GetField0x20() const {
return field_0x20;
@@ -75,6 +72,8 @@ public:
return field_0x24;
}
void SetEngine(Sound3DEngine *engine);
enum ParamDecayCurve {
DECAY_CURVE_NONE,
DECAY_CURVE_LOGARITHMIC,
@@ -88,7 +87,7 @@ private:
s32 mMaxPriorityReduction; // at 0x1C
f32 field_0x20; // at 0x20
f32 field_0x24; // at 0x24
int biquadFilterType; // at 0x28
int mBiquadFilterType; // at 0x28
};
} // namespace snd