mirror of
https://github.com/zeldaret/tp
synced 2026-05-28 16:32:00 -04:00
work on Z2SoundMgr and Z2SeMgr (#2055)
This commit is contained in:
@@ -47,7 +47,7 @@ public:
|
||||
JAISeqData* getSeqData() { return &inner_.mSeqData; }
|
||||
u32 JAISeCategoryMgr_getProperPriority_() const { return inner_.mProperPriority; }
|
||||
u32 JAISeCategoryMgr_getPriority_() const { return inner_.mPriority; }
|
||||
bool isFarAway() const { return mPriority == -1; }
|
||||
bool isFarAway() const { return inner_.mPriority == -1; }
|
||||
|
||||
/* 0x0ac */ TInner inner_;
|
||||
};
|
||||
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
/* 802A0484 */ JAISe* newSe_(int, u32);
|
||||
/* 802A0574 */ void calc();
|
||||
/* 802A0704 */ void mixOut();
|
||||
/* 802A0768 */ int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 802A0768 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 802A08D0 */ int getNumActiveSe() const;
|
||||
|
||||
/* 802A08FC */ virtual ~JAISeMgr(); // inline?
|
||||
|
||||
@@ -13,7 +13,7 @@ class JAISeqMgr : public JAISeqDataUser, public JASGlobalInstance<JAISeqMgr> {
|
||||
public:
|
||||
/* 802A1914 */ JAISeqMgr(bool);
|
||||
/* 802A1A08 */ void freeDeadSeq_();
|
||||
/* 802A1B48 */ int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 802A1B48 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 802A1C90 */ void calc();
|
||||
/* 802A1DFC */ void stop();
|
||||
/* 802A1E3C */ void stop(u32);
|
||||
@@ -43,6 +43,8 @@ public:
|
||||
}
|
||||
JAISoundParamsMove* getParams() { return &mMove; }
|
||||
bool isActive() { return mSeqList.getNumLinks() != 0; }
|
||||
int getNumActiveSeqs() { return mSeqList.getNumLinks(); }
|
||||
void pause(bool i_pause) { mActivity.field_0x0.flags.flag2 = i_pause; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ JAISoundActivity mActivity;
|
||||
|
||||
@@ -35,6 +35,8 @@ public:
|
||||
numHandles_ = param_1;
|
||||
};
|
||||
|
||||
JAISoundHandle& operator[](int n) { return mSoundHandle[n]; }
|
||||
|
||||
JAISoundHandle* getHandleSoundID(JAISoundID);
|
||||
JAISoundHandle* getFreeHandle();
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
struct JAISoundInfo : public JASGlobalInstance<JAISoundInfo> {
|
||||
/* 802A2D34 */ JAISoundInfo(bool);
|
||||
virtual u32 getSoundType(JAISoundID) const = 0;
|
||||
virtual int getSoundType(JAISoundID) const = 0;
|
||||
virtual int getCategory(JAISoundID) const = 0;
|
||||
virtual u32 getPriority(JAISoundID) const = 0;
|
||||
virtual void getSeInfo(JAISoundID, JAISe*) const = 0;
|
||||
|
||||
@@ -13,7 +13,7 @@ class JAIStreamDataMgr;
|
||||
class JAIStreamMgr : public JASGlobalInstance<JAIStreamMgr> {
|
||||
public:
|
||||
/* 802A3B68 */ JAIStreamMgr(bool);
|
||||
/* 802A3C3C */ int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 802A3C3C */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 802A3D70 */ void freeDeadStream_();
|
||||
/* 802A3EBC */ void calc();
|
||||
/* 802A4028 */ void stop();
|
||||
@@ -32,6 +32,7 @@ public:
|
||||
JUT_ASSERT(157, !isActive());
|
||||
mStreamAramMgr = param_0;
|
||||
}
|
||||
void pause(bool i_pause) { mActivity.field_0x0.flags.flag2 = i_pause; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ JAISoundActivity mActivity;
|
||||
|
||||
@@ -82,7 +82,7 @@ public:
|
||||
|
||||
/* 0x000 */ JAUWaveBankTable waveBankTable;
|
||||
/* 0x404 */ JAISeqDataUser* seqDataUser;
|
||||
/* 0x408 */ JAUDynamicSeqDataBlocks field_0x408;
|
||||
/* 0x408 */ JAUDynamicSeqDataBlocks seqDataBlocks;
|
||||
/* 0x430 */ JAISeqDataMgr* seSeqDataMgr_;
|
||||
/* 0x434 */ JAIStreamDataMgr* streamDataMgr_;
|
||||
/* 0x438 */ JAUSoundTable* soundTable;
|
||||
@@ -100,6 +100,7 @@ public:
|
||||
/* 802A6270 */ int releaseSeqData();
|
||||
/* 802A6278 */ ~JAUSectionHeap();
|
||||
|
||||
TSectionHeapData const& getSectionHeapData() const { return sectionHeapData_; }
|
||||
JAUWaveBankTable& getWaveBankTable() { return sectionHeapData_.waveBankTable; }
|
||||
JKRHeap* getHeap() {
|
||||
if (getOpenSection()->isBuilding() != 0) {
|
||||
|
||||
@@ -18,15 +18,13 @@ struct JAUSeqDataBlock {
|
||||
/* 0x1C */ int field_0x1c;
|
||||
};
|
||||
|
||||
class JAUSeqDataBlocks {
|
||||
class JAUSeqDataBlocks : public JSUList<JAUSeqDataBlock> {
|
||||
public:
|
||||
/* 802A6928 */ u8* getSeqData(JAISoundID);
|
||||
/* 802A6974 */ JSULink<JAUSeqDataBlock>* seekFreeBlock(u32);
|
||||
/* 802A69D8 */ bool append(JSULink<JAUSeqDataBlock>*);
|
||||
/* 802A69F8 */ bool remove(JSULink<JAUSeqDataBlock>*);
|
||||
/* 802A6A18 */ bool hasFailedBlock(JAISoundID);
|
||||
|
||||
/* 0x00 */ JSUList<JAUSeqDataBlock> field_0x0;
|
||||
};
|
||||
|
||||
class JAUDynamicSeqDataBlocks {
|
||||
@@ -40,11 +38,13 @@ public:
|
||||
/* 802A6E00 */ JAUSeqDataBlock* releaseIdleDynamicSeqDataBlock_(JAISeqDataUser*, u32);
|
||||
/* 802A6EDC */ void rearrangeLoadingSeqs_();
|
||||
|
||||
JAUSeqDataBlocks const& getFreeBlocks() const { return mFreeBlocks; }
|
||||
JAUSeqDataBlocks const& getLoadedBlocks() const { return mLoadedBlocks; }
|
||||
JKRArchive* getSeqDataArchive() { return seqDataArchive_; }
|
||||
|
||||
/* 0x00 */ JAUSeqDataBlocks field_0x0;
|
||||
/* 0x00 */ JAUSeqDataBlocks mFreeBlocks;
|
||||
/* 0x0C */ JAUSeqDataBlocks field_0xc;
|
||||
/* 0x18 */ JAUSeqDataBlocks field_0x18;
|
||||
/* 0x18 */ JAUSeqDataBlocks mLoadedBlocks;
|
||||
/* 0x24 */ JKRArchive* seqDataArchive_;
|
||||
};
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ public:
|
||||
|
||||
static Z2AudioMgr* mAudioMgrPtr;
|
||||
|
||||
/* 0x0514 */ virtual int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 0x0514 */ virtual bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 0x0518 */ bool mResettingFlag;
|
||||
/* 0x0519 */ bool field_0x519;
|
||||
/* 0x051C */ JASAudioReseter mAudioReseter;
|
||||
|
||||
@@ -7,6 +7,7 @@ namespace Z2Calc {
|
||||
enum CurveSign {
|
||||
CURVE_SIGN_0 = 0,
|
||||
CURVE_SIGN_1 = 1,
|
||||
CURVE_SIGN_2 = 2,
|
||||
};
|
||||
|
||||
struct FNoise1f {
|
||||
|
||||
@@ -39,7 +39,7 @@ struct Z2LinkSoundStarter : public Z2SoundStarter {
|
||||
Z2LinkSoundStarter();
|
||||
|
||||
inline virtual ~Z2LinkSoundStarter();
|
||||
virtual int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32, f32,
|
||||
virtual bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32, f32,
|
||||
f32, f32, f32, f32, u32);
|
||||
};
|
||||
|
||||
@@ -127,7 +127,7 @@ struct Z2RideSoundStarter : public Z2SoundStarter {
|
||||
/* 802C5234 */ Z2RideSoundStarter(Z2CreatureRide*);
|
||||
|
||||
/* 802C5078 */ inline virtual ~Z2RideSoundStarter();
|
||||
/* 802C5284 */ virtual int startSound(JAISoundID, JAISoundHandle*,
|
||||
/* 802C5284 */ virtual bool startSound(JAISoundID, JAISoundHandle*,
|
||||
JGeometry::TVec3<f32> const*, u32, f32, f32, f32, f32,
|
||||
f32, u32);
|
||||
|
||||
|
||||
@@ -56,4 +56,8 @@ extern u8 struct_8045086A;
|
||||
extern u8 struct_8045086B;
|
||||
extern u8 data_8045086C;
|
||||
|
||||
extern u8 struct_80451340;
|
||||
extern u8 struct_80451341;
|
||||
extern u8 struct_80451342;
|
||||
|
||||
#endif /* Z2PARAM_H */
|
||||
|
||||
@@ -37,6 +37,7 @@ public:
|
||||
void setInGame(bool i_inGame) { inGame = i_inGame; }
|
||||
bool isInDarkness() const { return inDarkness; }
|
||||
s8 getRoomReverb() const { return dComIfGp_getReverb(roomNum); }
|
||||
bool isMovieDemo() { return sceneNum == 2 || sceneNum == 8 || sceneNum == 9; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ long BGM_ID;
|
||||
|
||||
@@ -8,19 +8,69 @@
|
||||
struct Z2MultiSeMgr {
|
||||
Z2MultiSeMgr();
|
||||
~Z2MultiSeMgr();
|
||||
void registMultiSePos(Vec*);
|
||||
s8 registMultiSePos(Vec*);
|
||||
void resetMultiSePos();
|
||||
void getPanPower();
|
||||
void getDolbyPower();
|
||||
f32 getPanPower();
|
||||
f32 getDolbyPower();
|
||||
|
||||
void setVolumeScale(f32 param_0) { mVolumeScale = param_0; }
|
||||
|
||||
f32 getMaxVolume() {
|
||||
if (mMaxVolume > 1.0f) {
|
||||
return 1.0f;
|
||||
} else if (mMaxVolume < 0.0f) {
|
||||
return 0.0f;
|
||||
} else {
|
||||
return mMaxVolume;
|
||||
}
|
||||
}
|
||||
|
||||
f32 getMaxPowR() {
|
||||
if (mMaxPowR > 1.0f) {
|
||||
return 1.0f;
|
||||
} else if (mMaxPowR < 0.0f) {
|
||||
return 0.0f;
|
||||
} else {
|
||||
return mMaxPowR;
|
||||
}
|
||||
}
|
||||
|
||||
f32 getMaxPowL() {
|
||||
if (mMaxPowL > 1.0f) {
|
||||
return 1.0f;
|
||||
} else if (mMaxPowL < 0.0f) {
|
||||
return 0.0f;
|
||||
} else {
|
||||
return mMaxPowL;
|
||||
}
|
||||
}
|
||||
|
||||
f32 getMaxPowB() {
|
||||
if (mMaxPowB > 1.0f) {
|
||||
return 1.0f;
|
||||
} else if (mMaxPowB < 0.0f) {
|
||||
return 0.0f;
|
||||
} else {
|
||||
return mMaxPowB;
|
||||
}
|
||||
}
|
||||
|
||||
f32 getMaxPowF() {
|
||||
if (mMaxPowF > 1.0f) {
|
||||
return 1.0f;
|
||||
} else if (mMaxPowF < 0.0f) {
|
||||
return 0.0f;
|
||||
} else {
|
||||
return mMaxPowF;
|
||||
}
|
||||
}
|
||||
|
||||
/* 0x00 */ float mVolumeScale;
|
||||
/* 0x04 */ float mMaxVolume;
|
||||
/* 0x08 */ float mMaxPowL;
|
||||
/* 0x0C */ float mMaxPowR;
|
||||
/* 0x10 */ float mMaxPowB;
|
||||
/* 0x14 */ float mMaxPowF;
|
||||
/* 0x10 */ float mMaxPowF;
|
||||
/* 0x14 */ float mMaxPowB;
|
||||
/* 0x18 */ s8 mPosCount;
|
||||
}; // Size = 0x1C
|
||||
|
||||
@@ -28,8 +78,8 @@ struct Z2MultiSeObj : Z2MultiSeMgr {
|
||||
Z2MultiSeObj();
|
||||
~Z2MultiSeObj() {}
|
||||
|
||||
/* 0x1C */ u32 field_0x1c;
|
||||
/* 0x20 */ u8 field_0x20;
|
||||
/* 0x1C */ u32 mSoundID;
|
||||
/* 0x20 */ s8 field_0x20;
|
||||
}; // Size = 0x24
|
||||
|
||||
class Z2SeMgr : public JASGlobalInstance<Z2SeMgr> {
|
||||
@@ -40,8 +90,8 @@ public:
|
||||
/* 802AB830 */ void modHeightAtCamera(Vec const**);
|
||||
/* 802AB93C */ void incrCrowdSize();
|
||||
/* 802AB960 */ void decrCrowdSize();
|
||||
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AB984 */ bool seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AC50C */ bool seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AD8B0 */ void seStop(JAISoundID, u32);
|
||||
/* 802AD94C */ void seStopAll(u32);
|
||||
/* 802AD9F4 */ void seMoveVolumeAll(f32, u32);
|
||||
@@ -52,19 +102,19 @@ public:
|
||||
/* 802ADE5C */ void setLevObjSE(u32, Vec*, s8);
|
||||
/* 802ADFF4 */ void setMultiTriggerSE(u32, Vec*, s8);
|
||||
/* 802AE184 */ void processSeFramework();
|
||||
/* 802AE524 */ void isLevelSe(JAISoundID);
|
||||
/* 802AE524 */ bool isLevelSe(JAISoundID);
|
||||
/* 802AE5B0 */ bool isSoundCulling(JAISoundID);
|
||||
/* 802B9AC4 */ void resetCrowdSize();
|
||||
|
||||
private:
|
||||
/* 0x000 */ JAISoundHandle mSoundHandle[24];
|
||||
/* 0x060 */ JAISoundHandles field_0x60;
|
||||
/* 0x060 */ JAISoundHandles mSoundHandles;
|
||||
/* 0x068 */ Z2MultiSeObj mLevelObjSe[10];
|
||||
/* 0x1D0 */ u8 mLevelObjectSeCount;
|
||||
/* 0x1D4 */ Z2MultiSeObj mMultiTriggerSe[10];
|
||||
/* 0x33C */ u8 mMultiTriggerSeCount;
|
||||
/* 0x33D */ u8 field_0x33d[0x60];
|
||||
/* 0x3A0 */ u32 mModY[8];
|
||||
/* 0x340 */ Vec field_0x340[8];
|
||||
/* 0x3A0 */ Vec const* mModY[8];
|
||||
/* 0x3C0 */ u8 field_0x3c0;
|
||||
/* 0x3C1 */ u8 field_0x3c1;
|
||||
/* 0x3C2 */ u8 field_0x3c2;
|
||||
|
||||
@@ -183,6 +183,7 @@ public:
|
||||
}
|
||||
|
||||
JAISoundHandle* getMainBgmHandle() { return &mMainBgmHandle; }
|
||||
JAISoundHandle* getSubBgmHandle() { return &mSubBgmHandle; }
|
||||
|
||||
/* 0x00 */ JAISoundHandle mMainBgmHandle;
|
||||
/* 0x04 */ JAISoundHandle mSubBgmHandle;
|
||||
|
||||
@@ -12,7 +12,7 @@ public:
|
||||
/* 802BB448 */ virtual u16 getAudibleSw(JAISoundID) const;
|
||||
/* 802BB00C */ virtual u16 getBgmSeqResourceID(JAISoundID) const;
|
||||
/* 802BBA88 */ virtual s32 getStreamFileEntry(JAISoundID);
|
||||
/* 802BB090 */ virtual u32 getSoundType(JAISoundID) const;
|
||||
/* 802BB090 */ virtual int getSoundType(JAISoundID) const;
|
||||
/* 802BB0D8 */ virtual int getCategory(JAISoundID) const;
|
||||
/* 802BB0E0 */ virtual u32 getPriority(JAISoundID) const;
|
||||
/* 802BB6DC */ virtual void getSeInfo(JAISoundID, JAISe*) const;
|
||||
|
||||
@@ -23,7 +23,7 @@ public:
|
||||
/* 802AA8C8 */ void stop();
|
||||
/* 802AA908 */ void initParams();
|
||||
/* 802AA9E8 */ void multiVolumeSoundID(JAISoundID, f32);
|
||||
/* 802AAAC4 */ void isPlayingSoundID(JAISoundID);
|
||||
/* 802AAAC4 */ bool isPlayingSoundID(JAISoundID);
|
||||
|
||||
/* 802A9EE8 */ virtual bool startSound(JAISoundID, JAISoundHandle*,
|
||||
JGeometry::TVec3<f32> const*);
|
||||
@@ -36,7 +36,7 @@ private:
|
||||
/* 0x004 */ JAISeMgr mSeMgr;
|
||||
/* 0x728 */ JAISeqMgr mSeqMgr;
|
||||
/* 0x79C */ JAIStreamMgr mStreamMgr;
|
||||
/* 0x80C */ JAISoundID field_0x80c;
|
||||
/* 0x80C */ JAISoundID mSoundID;
|
||||
}; // Size: 0x810
|
||||
|
||||
STATIC_ASSERT(sizeof(Z2SoundMgr) == 0x810);
|
||||
|
||||
@@ -10,8 +10,8 @@ struct Z2SoundStarter : public JAISoundStarter, public JASGlobalInstance<Z2Sound
|
||||
u16 getPortData(JAISoundHandle*, u32, s8);
|
||||
|
||||
virtual ~Z2SoundStarter() {}
|
||||
virtual int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
virtual int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32, float,
|
||||
virtual bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
virtual bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32, float,
|
||||
float, float, float, float, u32);
|
||||
};
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ struct Z2SpeechStarter : public Z2SoundStarter {
|
||||
/* 802CCFB8 */ Z2SpeechStarter();
|
||||
|
||||
/* 802CBCEC */ virtual ~Z2SpeechStarter();
|
||||
/* 802CCFF8 */ virtual int startSound(JAISoundID, JAISoundHandle*,
|
||||
/* 802CCFF8 */ virtual bool startSound(JAISoundID, JAISoundHandle*,
|
||||
JGeometry::TVec3<f32> const*, u32, f32, f32, f32, f32,
|
||||
f32, u32);
|
||||
};
|
||||
|
||||
@@ -29,6 +29,7 @@ struct Z2StatusMgr : public JASGlobalInstance<Z2StatusMgr> {
|
||||
f32 getCameraInWaterDepthRatio() const { return mCameraInWaterDepthRatio; }
|
||||
u8 getHour() { return mHour; }
|
||||
bool isPaused() { return mIsMenuIn; }
|
||||
bool isHeartGuageOn() { return mHeartGaugeOn; }
|
||||
|
||||
/* 0x00 */ u8 mHour;
|
||||
/* 0x01 */ u8 mMinute;
|
||||
|
||||
Reference in New Issue
Block a user