mirror of
https://github.com/zeldaret/tp
synced 2026-08-04 01:03:47 -04:00
JAUSectionHeap, Z2SoundInfo, others (#1925)
* Z2SoundInfo * JAUSectionHeap * Z2EnvSeMgr * Z2AudioMgr * m_Do_audio * d_a_alink
This commit is contained in:
@@ -6,37 +6,12 @@
|
||||
#include "JSystem/JAudio2/JAIAudible.h"
|
||||
#include "JSystem/JAudio2/JASSoundParams.h"
|
||||
#include "JSystem/JAudio2/JASHeapCtrl.h"
|
||||
#include "JSystem/JAudio2/JAUAudibleParam.h"
|
||||
#include "JSystem/TPosition3.hh"
|
||||
#include "dolphin/mtx/mtxvec.h"
|
||||
|
||||
struct Z2Audible;
|
||||
|
||||
struct JAUAudibleParam {
|
||||
f32 getDopplerPower() const {
|
||||
return (u32)((*(u8*)&field_0x0.raw >> 4) & 0xf) * (1.0f / 15.0f);
|
||||
}
|
||||
union {
|
||||
struct {
|
||||
u16 f0;
|
||||
u16 f1;
|
||||
} half;
|
||||
struct {
|
||||
u8 b0_0 : 1;
|
||||
u8 b0_1 : 1;
|
||||
u8 b0_2 : 1;
|
||||
u8 b0_3 : 1;
|
||||
u8 b0_4 : 1;
|
||||
u8 b0_5 : 1;
|
||||
u8 b0_6 : 1;
|
||||
u8 b0_7 : 1;
|
||||
u8 b1;
|
||||
u8 b2;
|
||||
u8 b3;
|
||||
} bytes;
|
||||
u32 raw;
|
||||
} field_0x0;
|
||||
};
|
||||
|
||||
struct Z2AudibleAbsPos {
|
||||
/* 802BBCDC */ void calc(JGeometry::TVec3<f32> const&);
|
||||
/* 802BBD18 */ void init(JGeometry::TVec3<f32>*, JGeometry::TVec3<f32> const&,
|
||||
|
||||
@@ -3,13 +3,14 @@
|
||||
|
||||
#include "JSystem/JAudio2/JAUAudioArcLoader.h"
|
||||
|
||||
class Z2AudioArcLoader {
|
||||
class Z2AudioArcLoader : public JAUAudioArcLoader {
|
||||
public:
|
||||
Z2AudioArcLoader(JAUSection*);
|
||||
~Z2AudioArcLoader();
|
||||
virtual ~Z2AudioArcLoader();
|
||||
|
||||
void readCommandMore(u32);
|
||||
virtual bool readCommandMore(u32);
|
||||
void readBFCA(const void*);
|
||||
void readBSTN(const void*, u32);
|
||||
virtual void readBSTN(const void*, u32);
|
||||
};
|
||||
|
||||
#endif /* Z2AUDIOARCLOADER_H */
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "Z2AudioLib/Z2SceneMgr.h"
|
||||
#include "Z2AudioLib/Z2SeMgr.h"
|
||||
#include "Z2AudioLib/Z2SeqMgr.h"
|
||||
#include "Z2AudioLib/Z2SoundInfo.h"
|
||||
#include "Z2AudioLib/Z2SoundMgr.h"
|
||||
#include "Z2AudioLib/Z2SoundObjMgr.h"
|
||||
#include "Z2AudioLib/Z2SpeechMgr2.h"
|
||||
@@ -17,7 +18,7 @@
|
||||
class JKRArchive;
|
||||
class JKRSolidHeap;
|
||||
|
||||
class Z2AudioMgr {
|
||||
class Z2AudioMgr : public Z2SeMgr, public Z2SeqMgr, public Z2SceneMgr, public Z2StatusMgr, public Z2SoundObjMgr {
|
||||
public:
|
||||
Z2AudioMgr();
|
||||
~Z2AudioMgr() {}
|
||||
@@ -33,19 +34,13 @@ public:
|
||||
|
||||
static Z2AudioMgr* mAudioMgrPtr;
|
||||
|
||||
/* 0x0000 */ Z2SeMgr mSeMgr;
|
||||
/* 0x03D0 */ Z2SeqMgr mSeqMgr;
|
||||
/* 0x04A4 */ Z2SceneMgr mSceneMgr;
|
||||
/* 0x04C4 */ Z2StatusMgr mStatusMgr;
|
||||
/* 0x04F4 */ Z2SoundObjMgr mSoundObjMgr;
|
||||
/* 0x0514 */ virtual void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 0x0514 */ virtual int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 0x0518 */ bool mResettingFlag;
|
||||
/* 0x0519 */ bool field_0x519;
|
||||
/* 0x051C */ JASAudioReseter mAudioReseter;
|
||||
/* 0x052C */ Z2SoundStarter mSoundStarter;
|
||||
/* 0x0530 */ Z2SoundMgr mSoundMgr;
|
||||
/* 0x0D40 */ // Z2SoundInfo mSoundInfo;
|
||||
/* 0x0D40 */ void* mSoundInfo[3]; // remove later
|
||||
/* 0x0D40 */ Z2SoundInfo mSoundInfo;
|
||||
/* 0x0D4C */ Z2Audience mAudience;
|
||||
/* 0x0F2C */ Z2SpeechMgr2 mSpeechMgr;
|
||||
/* 0x1370 */ Z2FxLineMgr mFxLineMgr;
|
||||
|
||||
@@ -10,6 +10,12 @@ enum CurveSign {
|
||||
};
|
||||
|
||||
struct FNoise1f {
|
||||
FNoise1f(float param_0 = 0.1f, float param_1 = 0.0f, float param_2 = 0.01f) {
|
||||
unk0 = param_0;
|
||||
unk4 = param_0;
|
||||
unk8 = param_2;
|
||||
unk12 = param_1;
|
||||
}
|
||||
void setParam(float, float, float);
|
||||
float tau(float);
|
||||
float calcNoise1f();
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "global.h"
|
||||
|
||||
struct Z2EnvSeBase {
|
||||
/* 802C589C */ Z2EnvSeBase(Vec*);
|
||||
/* 802C589C */ Z2EnvSeBase(Vec* param_0 = NULL);
|
||||
/* 802C58AC */ ~Z2EnvSeBase();
|
||||
/* 802C5908 */ void startEnvSe(JAISoundID, f32, f32, f32, f32, f32, u32);
|
||||
/* 802C5AB4 */ void startEnvSeLevel(JAISoundID, f32, f32, f32, f32, f32, u32);
|
||||
@@ -31,7 +31,7 @@ struct Z2EnvSeAutoPan : public Z2EnvSeBase {
|
||||
}; // Size: 0x1C
|
||||
|
||||
struct Z2EnvSeDir : public Z2EnvSeBase {
|
||||
/* 802C5C9C */ Z2EnvSeDir(Vec*);
|
||||
/* 802C5C9C */ Z2EnvSeDir(Vec* param_0 = NULL);
|
||||
/* 802C5D1C */ ~Z2EnvSeDir();
|
||||
/* 802C5D70 */ void setPanDir(Vec*);
|
||||
/* 802C5D9C */ void calcPan(f32);
|
||||
@@ -111,7 +111,7 @@ struct Z2EnvSeMgr : public JASGlobalInstance<Z2EnvSeMgr> {
|
||||
/* 0x120 */ Z2Calc::FNoise1f field_0x120;
|
||||
/* 0x130 */ Z2Calc::FNoise1f field_0x130;
|
||||
/* 0x140 */ u8 field_0x140;
|
||||
/* 0x141 */ u8 field_0x141;
|
||||
/* 0x141 */ u8 mSnowPower;
|
||||
/* 0x144 */ Z2EnvSeDir field_0x144;
|
||||
/* 0x160 */ u8 mWindType;
|
||||
/* 0x164 */ Z2MultiSeMgr field_0x164;
|
||||
@@ -158,7 +158,7 @@ struct Z2EnvSeMgr : public JASGlobalInstance<Z2EnvSeMgr> {
|
||||
/* 0x2E4 */ u8 field_0x2e4;
|
||||
/* 0x2E8 */ Z2Calc::FNoise1f field_0x2e8;
|
||||
/* 0x2F8 */ Z2Calc::FNoise1f field_0x2f8;
|
||||
/* 0x308 */ f32 field_0x308;
|
||||
/* 0x308 */ f32 mFogDensity;
|
||||
}; // Size: 0x30C
|
||||
|
||||
STATIC_ASSERT(sizeof(Z2EnvSeMgr) == 0x30C);
|
||||
|
||||
@@ -13,6 +13,8 @@ struct Z2MultiSeMgr {
|
||||
void getPanPower();
|
||||
void getDolbyPower();
|
||||
|
||||
void setVolumeScale(f32 param_0) { mVolumeScale = param_0; }
|
||||
|
||||
/* 0x00 */ float mVolumeScale;
|
||||
/* 0x04 */ float mMaxVolume;
|
||||
/* 0x08 */ float mMaxPowL;
|
||||
|
||||
@@ -2,33 +2,27 @@
|
||||
#define Z2SOUNDINFO_H
|
||||
|
||||
#include "JSystem/JAudio2/JAISoundInfo.h"
|
||||
#include "JSystem/JAudio2/JAIStreamDataMgr.h"
|
||||
#include "JSystem/JAudio2/JAUSoundInfo.h"
|
||||
|
||||
struct JAUSoundInfo : public JASGlobalInstance<JAUSoundInfo> {
|
||||
virtual void getAudibleSw(JAISoundID) const = 0;
|
||||
virtual void getBgmSeqResourceID(JAISoundID) const = 0;
|
||||
};
|
||||
|
||||
struct JAIStreamDataMgr {
|
||||
virtual void getStreamFileEntry(JAISoundID) = 0;
|
||||
virtual ~JAIStreamDataMgr();
|
||||
};
|
||||
|
||||
struct Z2SoundInfo /* : public JAISoundInfo, public JAUSoundInfo, public JAIStreamDataMgr */ : public JASGlobalInstance<Z2SoundInfo> {
|
||||
/* 802BB00C */ void getBgmSeqResourceID(JAISoundID) const;
|
||||
/* 802BB158 */ u32 getAudibleSwFull(JAISoundID);
|
||||
/* 802BB448 */ void getAudibleSw(JAISoundID) const;
|
||||
/* 802BBA10 */ void getStreamFilePath(JAISoundID);
|
||||
/* 802BBA88 */ void getStreamFileEntry(JAISoundID);
|
||||
/* 802BBAC8 */ void getSwBit(JAISoundID) const;
|
||||
/* 802BBB48 */ void getSoundInfo_(JAISoundID, JAISound*) const;
|
||||
|
||||
/* 802BB090 */ void getSoundType(JAISoundID) const;
|
||||
/* 802BB0D8 */ void getCategory(JAISoundID) const;
|
||||
/* 802BB0E0 */ void getPriority(JAISoundID) const;
|
||||
/* 802BB6DC */ void getSeInfo(JAISoundID, JAISe*) const;
|
||||
/* 802BB8B4 */ void getSeqInfo(JAISoundID, JAISeq*) const;
|
||||
/* 802BB8E0 */ void getStreamInfo(JAISoundID, JAIStream*) const;
|
||||
class Z2SoundInfo : public JAISoundInfo, public JAUSoundInfo, public JAIStreamDataMgr, public JASGlobalInstance<Z2SoundInfo> {
|
||||
public:
|
||||
Z2SoundInfo() : JAISoundInfo(true), JAUSoundInfo(true), JASGlobalInstance<Z2SoundInfo>(true) {}
|
||||
/* 802BB448 */ virtual void getAudibleSw(JAISoundID) const;
|
||||
/* 802BB00C */ virtual u16 getBgmSeqResourceID(JAISoundID) const;
|
||||
/* 802BBA88 */ virtual s32 getStreamFileEntry(JAISoundID);
|
||||
/* 802BB090 */ virtual u32 getSoundType(JAISoundID) const;
|
||||
/* 802BB0D8 */ virtual int getCategory(JAISoundID) const;
|
||||
/* 802BB0E0 */ virtual u32 getPriority(JAISoundID) const;
|
||||
/* 802BB6DC */ virtual void getSeInfo(JAISoundID, JAISe*) const;
|
||||
/* 802BB8B4 */ virtual void getSeqInfo(JAISoundID, JAISeq*) const;
|
||||
/* 802BB8E0 */ virtual void getStreamInfo(JAISoundID, JAIStream*) const;
|
||||
/* 802BBBE0 */ virtual ~Z2SoundInfo();
|
||||
|
||||
/* 802BB158 */ u32 getAudibleSwFull(JAISoundID);
|
||||
/* 802BBA10 */ const char* getStreamFilePath(JAISoundID);
|
||||
/* 802BBAC8 */ int getSwBit(JAISoundID) const;
|
||||
/* 802BBB48 */ void getSoundInfo_(JAISoundID, JAISound*) const;
|
||||
};
|
||||
|
||||
inline Z2SoundInfo* Z2GetSoundInfo() {
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
#include "JSystem/JAudio2/JAIStreamMgr.h"
|
||||
#include "global.h"
|
||||
|
||||
u16 seqCallback(JASTrack* param_0, u16 param_1);
|
||||
|
||||
class Z2SoundMgr : public JASGlobalInstance<Z2SoundMgr> {
|
||||
public:
|
||||
/* 802A9E80 */ Z2SoundMgr();
|
||||
@@ -23,10 +25,12 @@ public:
|
||||
/* 802AA9E8 */ void multiVolumeSoundID(JAISoundID, f32);
|
||||
/* 802AAAC4 */ void isPlayingSoundID(JAISoundID);
|
||||
|
||||
/* 802A9EE8 */ virtual void startSound(JAISoundID, JAISoundHandle*,
|
||||
/* 802A9EE8 */ virtual int startSound(JAISoundID, JAISoundHandle*,
|
||||
JGeometry::TVec3<f32> const*);
|
||||
|
||||
JAISeMgr* getSeMgr() { return &mSeMgr; }
|
||||
JAISeqMgr* getSeqMgr() { return &mSeqMgr; }
|
||||
JAIStreamMgr* getStreamMgr() { return &mStreamMgr; }
|
||||
|
||||
private:
|
||||
/* 0x004 */ JAISeMgr mSeMgr;
|
||||
|
||||
Reference in New Issue
Block a user