summaryrefslogtreecommitdiff
path: root/libs/Z2AudioLib
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-12-19 11:06:32 -0800
committerGitHub <noreply@github.com>2022-12-19 12:06:32 -0700
commitca71275bbecc7db9a4eeca3a6ac4215b66de4318 (patch)
treec2851f8cec211216fe0cb6a31a0260a62fc3bf53 /libs/Z2AudioLib
parent1114b13da81ab0b52fd4bb56a32f32331a21e581 (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.cpp2
-rw-r--r--libs/Z2AudioLib/Z2SceneMgr.cpp69
-rw-r--r--libs/Z2AudioLib/Z2SoundObjMgr.cpp6
-rw-r--r--libs/Z2AudioLib/Z2SoundObject.cpp19
-rw-r--r--libs/Z2AudioLib/Z2StatusMgr.cpp2
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;