diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2022-12-19 11:06:32 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-19 12:06:32 -0700 |
| commit | ca71275bbecc7db9a4eeca3a6ac4215b66de4318 (patch) | |
| tree | c2851f8cec211216fe0cb6a31a0260a62fc3bf53 /libs/Z2AudioLib | |
| parent | 1114b13da81ab0b52fd4bb56a32f32331a21e581 (diff) | |
big d_a_alink pass (#214)
* d_a_alink pass1 wip
* more d_a_alink work
* remove asm
* more daalink work
* 20% dol code decompiled
* fixed some nonmatchings for building
* a few daalink functions and labeling some HIO data
Diffstat (limited to 'libs/Z2AudioLib')
| -rw-r--r-- | libs/Z2AudioLib/Z2AudioMgr.cpp | 2 | ||||
| -rw-r--r-- | libs/Z2AudioLib/Z2SceneMgr.cpp | 69 | ||||
| -rw-r--r-- | libs/Z2AudioLib/Z2SoundObjMgr.cpp | 6 | ||||
| -rw-r--r-- | libs/Z2AudioLib/Z2SoundObject.cpp | 19 | ||||
| -rw-r--r-- | libs/Z2AudioLib/Z2StatusMgr.cpp | 2 |
5 files changed, 31 insertions, 67 deletions
diff --git a/libs/Z2AudioLib/Z2AudioMgr.cpp b/libs/Z2AudioLib/Z2AudioMgr.cpp index b6424a7e29..905cb2b887 100644 --- a/libs/Z2AudioLib/Z2AudioMgr.cpp +++ b/libs/Z2AudioLib/Z2AudioMgr.cpp @@ -380,7 +380,7 @@ void Z2AudioMgr::resetRecover() { mSeqMgr.setTwilightGateVol(1.0f); mSeqMgr.setWindStoneVol(1.0f, 0); mStatusMgr.menuOut(); - mSeqMgr.bgmAllUnMute(0); + mSeqMgr.i_bgmAllUnMute(0); mSeqMgr.unMuteSceneBgm(0); } #else diff --git a/libs/Z2AudioLib/Z2SceneMgr.cpp b/libs/Z2AudioLib/Z2SceneMgr.cpp index e128658047..c139fc4120 100644 --- a/libs/Z2AudioLib/Z2SceneMgr.cpp +++ b/libs/Z2AudioLib/Z2SceneMgr.cpp @@ -4,6 +4,8 @@ // #include "Z2AudioLib/Z2SceneMgr.h" +#include "Z2AudioLib/Z2SoundMgr.h" +#include "Z2AudioLib/Z2SeqMgr.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -39,29 +41,6 @@ struct Z2SoundObjMgr { /* 802C013C */ void deleteEnemyAll(); }; -struct Z2SoundMgr { - /* 802AA430 */ void resetFilterAll(); -}; - -struct Z2SeqMgr { - /* 802AF010 */ void bgmStart(u32, u32, s32); - /* 802AF408 */ void bgmStop(u32, s32); - /* 802AFB94 */ void bgmStreamPrepare(u32); - /* 802AFDEC */ void bgmStreamCheckReady(); - /* 802AFE18 */ void bgmStreamPlay(); - /* 802AFF8C */ void changeBgmStatus(s32); - /* 802B3318 */ void setHeightVolMod(bool, u32); - /* 802B3398 */ void setTimeProcVolMod(bool, u32); - /* 802B3EAC */ void checkBgmIDPlaying(u32); - /* 802B4128 */ void resetBattleBgmParams(); - /* 802B4164 */ void setBattleBgmOff(bool); - /* 802B9968 */ void setFieldBgmPlay(bool); - /* 802B99AC */ void unMuteSceneBgm(u32); - /* 802B9A24 */ void muteSceneBgm(u32, f32); - /* 802B9AD0 */ void setTwilightGateVol(f32); - /* 802B9AFC */ void setWindStoneVol(f32, u32); -}; - struct Z2SeMgr { /* 802AB80C */ void resetModY(); /* 802AD94C */ void seStopAll(u32); @@ -78,13 +57,6 @@ struct Z2EnvSeMgr { /* 802C6AC0 */ void initSceneEnvSe(s32, s8, f32); }; -template <typename A0> -struct JSUList {}; -/* JSUList<JAIStream> */ -struct JSUList__template2 { - /* 802B9994 */ void func_802B9994(void* _this) /* const */; -}; - struct JAUSoundTable { /* 802A7160 */ void getTypeID(JAISoundID) const; }; @@ -97,10 +69,6 @@ struct JASWaveArc { /* 8029A640 */ void erase(); }; -struct JAIStreamMgr { - /* 802B9978 */ void isActive() const; -}; - // // Forward References: // @@ -193,11 +161,11 @@ extern "C" extern u8 data_80450B3C[4]; extern "C" extern u8 data_80450B40[4]; extern "C" extern u8 data_80450B48[4]; extern "C" extern u8 data_80450B58[4]; -extern "C" extern u8 data_80450B60[4]; +extern "C" extern Z2SoundMgr* data_80450B60; extern "C" extern u8 data_80450B7C[4]; -extern "C" extern u8 data_80450B80[4]; +extern "C" extern Z2SceneMgr* data_80450B80; extern "C" extern u8 data_80450B84[4]; -extern "C" extern u8 data_80450B88[4]; +extern "C" extern Z2SeMgr* data_80450B88; extern "C" extern u8 data_80450CC0[4 + 4 /* padding */]; // @@ -208,7 +176,7 @@ extern "C" extern u8 data_80450CC0[4 + 4 /* padding */]; // Missing 2 instructions (beginning and end) #ifdef NONMATCHING Z2SceneMgr::Z2SceneMgr(void) { - lbl_80450B80 = this; + data_80450B80 = this; sceneNum = -1; timer = -1; BGM_ID = -1; @@ -269,25 +237,24 @@ SECTION_SDATA2 static f32 lit_3512 = 1.0f; /* 802B68E0-802B697C 2B1220 009C+00 3/3 2/2 2/2 .text setSceneExist__10Z2SceneMgrFb */ #ifdef NONMATCHING void Z2SceneMgr::setSceneExist(bool param_1) { - Z2SoundMgr* Z2soundMgrPtr; sceneExist = param_1; timer = 0; - Z2soundMgrPtr = lbl_80450B60; - if (param_1 == false) { - Z2soundMgrPtr->JAISoundParamsMove->moveVolume(FLOAT_LABEL(lit_3511), 0xb4); - } else { + + JAISeMgr* seMgr = data_80450B60->getSeMgr(); + + if (param_1) { inGame = 1; + if (SeWave_3 == 0x85) { - Z2soundMgrPtr->JAISoundParamsMove->moveVolume(FLOAT_LABEL(lit_3511), 0); + seMgr->getCategory(9)->getParams()->moveVolume(FLOAT_LABEL(lit_3511), 0); + } else if (SeWave_3 == 0x7F) { + data_80450B88->seMoveVolumeAll(FLOAT_LABEL(lit_3511), 0); } else { - if (SeWave_3 == 0x7f) { - lbl_80450B88->seMoveVolumeAll(FLOAT_LABEL(lit_3511), 0); - } else { - Z2soundMgrPtr->JAISoundParamsMove->moveVolume(lit_3512, 0x21); - } + seMgr->getCategory(9)->getParams()->moveVolume(lit_3512, 33); } + } else { + seMgr->getCategory(9)->getParams()->moveVolume(FLOAT_LABEL(lit_3511), 180); } - return; } #else #pragma push @@ -749,7 +716,7 @@ JAISoundID::JAISoundID(JAISoundID const& soundIdToSet) { // 1 Instruction off #ifdef NONMATCHING void Z2SeqMgr::setFieldBgmPlay(bool param_1) { - unk_1 = (param_1 & 1U) << 2 | unk_1 & 0xfb; + mFlags = (param_1 & 1U) << 2 | mFlags & 0xfb; } #else #pragma push diff --git a/libs/Z2AudioLib/Z2SoundObjMgr.cpp b/libs/Z2AudioLib/Z2SoundObjMgr.cpp index 6c7a7191ef..17d781338e 100644 --- a/libs/Z2AudioLib/Z2SoundObjMgr.cpp +++ b/libs/Z2AudioLib/Z2SoundObjMgr.cpp @@ -53,7 +53,7 @@ extern "C" void _savegpr_27(); extern "C" void _restgpr_23(); extern "C" void _restgpr_27(); extern "C" void strcmp(); -extern "C" extern u8 data_80450B48[4]; +extern "C" extern Z2SoundObjMgr* data_80450B48; extern "C" extern u8 data_80450B80[4]; extern "C" extern Z2SeqMgr* data_80450B84; extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; @@ -66,9 +66,9 @@ extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; #ifdef NONMATCHING // order wrong because this needs to inherit from JASGlobalInstance<T> Z2SoundObjMgr::Z2SoundObjMgr() { - data_80450B84 = this; + data_80450B48 = this; mGhostEnemyState = 0; - mIsTwilightBattle = false; + mTwilightBattle = false; setBattleInit(); setForceBattleArea(false, 700, 1100, 1500); } diff --git a/libs/Z2AudioLib/Z2SoundObject.cpp b/libs/Z2AudioLib/Z2SoundObject.cpp index 9cd329f33e..41a56257d9 100644 --- a/libs/Z2AudioLib/Z2SoundObject.cpp +++ b/libs/Z2AudioLib/Z2SoundObject.cpp @@ -11,13 +11,8 @@ // Types: // -struct Z2SoundObjArrow { - /* 802BEB38 */ Z2SoundObjArrow(); - /* 802BEB74 */ void init(Vec*, u8); -}; - struct Z2SoundInfo { - /* 802BBAC8 */ void getSwBit(JAISoundID) const; + /* 802BBAC8 */ int getSwBit(JAISoundID) const; }; struct Z2SeMgr { @@ -106,7 +101,7 @@ extern "C" void _restgpr_23(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern u32 __float_max; -extern "C" extern u8 data_80450B4C[4]; +extern "C" extern Z2SoundInfo* data_80450B4C; extern "C" extern u8 data_80450B60[4]; extern "C" extern Z2SoundStarter* data_80450B74; extern "C" extern u8 data_80450B88[4]; @@ -232,7 +227,7 @@ void Z2SoundObjBase::dispose() { for (link = getFirst(); link != NULL; link = link->getNext()) { handle = link->getObject(); if (handle != NULL && (bool)*handle) { - u32 swBit = lbl_80450B4C->getSwBit((*handle)->getID()); + u32 swBit = data_80450B4C->getSwBit((*handle)->getID()); if ((swBit & 0x8000) != 0) { handle->releaseSound(); } else { @@ -260,7 +255,7 @@ asm void Z2SoundObjBase::dispose() { // sInstance stuff #ifdef NONMATCHING bool Z2SoundObjBase::stopOK(Z2SoundHandlePool& pSoundHandlePool) { - return !(lbl_80450B4C->getSwBit(pSoundHandlePool->getID()) & 0x8000); + return !(data_80450B4C->getSwBit(pSoundHandlePool->getID()) & 0x8000); } #else #pragma push @@ -380,7 +375,8 @@ asm void Z2DopplerSoundObjBase::init(Vec* param_0, u8 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2DopplerSoundObjBase::framework(u32 param_0, s8 param_1) { +// asm void Z2DopplerSoundObjBase::framework(u32 param_0, s8 param_1) { +extern "C" asm void framework__21Z2DopplerSoundObjBaseFUlSc() { nofralloc #include "asm/Z2AudioLib/Z2SoundObject/framework__21Z2DopplerSoundObjBaseFUlSc.s" } @@ -499,7 +495,8 @@ asm Z2SoundObjArrow::Z2SoundObjArrow() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2SoundObjArrow::init(Vec* param_0, u8 param_1) { +// asm void Z2SoundObjArrow::init(Vec* param_0, u8 param_1) { +extern "C" asm void init__15Z2SoundObjArrowFP3VecUc() { nofralloc #include "asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjArrowFP3VecUc.s" } diff --git a/libs/Z2AudioLib/Z2StatusMgr.cpp b/libs/Z2AudioLib/Z2StatusMgr.cpp index a194402f76..d011ed0690 100644 --- a/libs/Z2AudioLib/Z2StatusMgr.cpp +++ b/libs/Z2AudioLib/Z2StatusMgr.cpp @@ -108,7 +108,7 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 struct_80450860[4]; extern "C" extern u8 data_80450B40[4]; extern "C" extern u8 data_80450B60[4]; -extern "C" extern u8 data_80450B7C[4]; +extern "C" extern Z2StatusMgr* data_80450B7C; extern "C" extern u8 data_80450B80[4]; extern "C" extern Z2SeqMgr* data_80450B84; extern "C" extern Z2SeMgr* data_80450B88; |
