summaryrefslogtreecommitdiff
path: root/libs/Z2AudioLib
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2023-02-23 17:41:05 +0200
committerGitHub <noreply@github.com>2023-02-23 08:41:05 -0700
commit4df6e8edea459eea6b13a0aa5c348d457d15edd5 (patch)
tree2b1a9fe520310953c358dfdf92e1c8475ec8bf62 /libs/Z2AudioLib
parentfa1f47f7a134cdc203207ec0b273ca7d32542d52 (diff)
Various matches and improvements (#299)
* Various matches and improvements * Remove unnecessary comment
Diffstat (limited to 'libs/Z2AudioLib')
-rw-r--r--libs/Z2AudioLib/Z2SceneMgr.cpp94
1 files changed, 45 insertions, 49 deletions
diff --git a/libs/Z2AudioLib/Z2SceneMgr.cpp b/libs/Z2AudioLib/Z2SceneMgr.cpp
index a533c5630f..09ad2d587d 100644
--- a/libs/Z2AudioLib/Z2SceneMgr.cpp
+++ b/libs/Z2AudioLib/Z2SceneMgr.cpp
@@ -6,6 +6,8 @@
#include "Z2AudioLib/Z2SceneMgr.h"
#include "Z2AudioLib/Z2SoundMgr.h"
#include "Z2AudioLib/Z2SeqMgr.h"
+#include "Z2AudioLib/Z2SeMgr.h"
+#include "Z2AudioLib/Z2StatusMgr.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -29,25 +31,12 @@ struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
-struct Z2StatusMgr {
- /* 802B617C */ void menuOut();
- /* 802B61E8 */ void setDemoName(char*);
- /* 802B6734 */ void checkDayTime();
-};
-
struct Z2SoundObjMgr {
/* 802BF980 */ void setForceBattleArea(bool, u16, u16, u16);
/* 802BFFEC */ void setGhostEnemyState(u8);
/* 802C013C */ void deleteEnemyAll();
};
-struct Z2SeMgr {
- /* 802AB80C */ void resetModY();
- /* 802AD94C */ void seStopAll(u32);
- /* 802AD9F4 */ void seMoveVolumeAll(f32, u32);
- /* 802B9AC4 */ void resetCrowdSize();
-};
-
struct Z2FxLineMgr {
/* 802BAEB8 */ void setSceneFx(s32);
};
@@ -172,12 +161,10 @@ extern "C" extern u8 __OSReport_disable;
//
/* 802B6840-802B68B0 2B1180 0070+00 0/0 1/1 0/0 .text __ct__10Z2SceneMgrFv */
-// Missing 2 instructions (beginning and end)
-#ifdef NONMATCHING
-Z2SceneMgr::Z2SceneMgr(void) {
- data_80450B80 = this;
+Z2SceneMgr::Z2SceneMgr(void) : JASGlobalInstance<Z2SceneMgr>(this) {
+ volatile int timerx;
sceneNum = -1;
- timer = -1;
+ timerx = -1;
BGM_ID = -1;
roomNum = -1;
SeWave_1 = 0;
@@ -198,28 +185,15 @@ Z2SceneMgr::Z2SceneMgr(void) {
inGame = 0;
inDarkness = false;
field_0x17 = 0;
- return;
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm Z2SceneMgr::Z2SceneMgr() {
- nofralloc
-#include "asm/Z2AudioLib/Z2SceneMgr/__ct__10Z2SceneMgrFv.s"
}
-#pragma pop
-#endif
/* 802B68B0-802B68E0 2B11F0 0030+00 0/0 1/1 0/0 .text setInDarkness__10Z2SceneMgrFb */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void Z2SceneMgr::setInDarkness(bool param_0) {
- nofralloc
-#include "asm/Z2AudioLib/Z2SceneMgr/setInDarkness__10Z2SceneMgrFb.s"
+void Z2SceneMgr::setInDarkness(bool param_0) {
+ inDarkness = param_0;
+ if (!param_0) {
+ Z2SoundMgr::getInstance()->resetFilterAll();
+ }
}
-#pragma pop
/* ############################################################################################## */
/* 80455A38-80455A3C 004038 0004+00 8/8 0/0 0/0 .sdata2 @3511 */
@@ -278,6 +252,16 @@ SECTION_SDATA2 static f32 lit_3529[1 + 1 /* padding */] = {
SECTION_SDATA2 static f64 lit_3531 = 4503599627370496.0 /* cast u32 to float */;
/* 802B697C-802B6A18 2B12BC 009C+00 0/0 1/1 0/0 .text setFadeOutStart__10Z2SceneMgrFUc */
+#ifdef NONMATCHING
+void Z2SceneMgr::setFadeOutStart(u8 param_0) {
+ setSceneExist(false);
+ Z2SeqMgr::getInstance()->bgmAllMute(33, 3.0f / 10.0f);
+ Z2SeMgr::getInstance()->seMoveVolumeAll(FLOAT_LABEL(lit_3511), 33);
+ Z2SeqMgr::getInstance()->setBattleBgmOff(true);
+ field_0x17 = 40;
+ timer = -1;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -286,8 +270,31 @@ asm void Z2SceneMgr::setFadeOutStart(u8 param_0) {
#include "asm/Z2AudioLib/Z2SceneMgr/setFadeOutStart__10Z2SceneMgrFUc.s"
}
#pragma pop
+#endif
/* 802B6A18-802B6AF8 2B1358 00E0+00 0/0 1/1 0/0 .text setFadeInStart__10Z2SceneMgrFUc */
+#ifdef NONMATCHING
+void Z2SceneMgr::setFadeInStart(u8 param_0) {
+ if (SeWave_3 == 0x7f) {
+ Z2SeMgr::getInstance()->seMoveVolumeAll(FLOAT_LABEL(lit_3511), 0);
+ } else {
+ Z2SeMgr::getInstance()->seMoveVolumeAll(FLOAT_LABEL(lit_3512), 33);
+
+ if (SeWave_3 == 0x85) {
+ JAISeMgr* seMgr = Z2SoundMgr::getInstance()->getSeMgr();
+ seMgr->getCategory(9)->getParams()->moveVolume(FLOAT_LABEL(lit_3511), 0);
+ }
+ }
+ Z2SeqMgr::getInstance()->i_setTwilightGateVol(FLOAT_LABEL(lit_3512));
+ Z2StatusMgr::getInstance()->menuOut();
+
+ if (field_0x1a == 0) {
+ Z2SeqMgr::getInstance()->bgmAllMute(33, 3.0f / 10.0f);
+ }
+
+ inGame = true;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -296,6 +303,7 @@ asm void Z2SceneMgr::setFadeInStart(u8 param_0) {
#include "asm/Z2AudioLib/Z2SceneMgr/setFadeInStart__10Z2SceneMgrFUc.s"
}
#pragma pop
+#endif
/* ############################################################################################## */
/* 8039BFA8-8039BFA8 028608 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -712,21 +720,9 @@ extern "C" void __ct__10JAISoundIDFRC10JAISoundID(JAISoundID* this_, JAISoundID
}
/* 802B9968-802B9978 2B42A8 0010+00 1/1 0/0 0/0 .text setFieldBgmPlay__8Z2SeqMgrFb */
-// 1 Instruction off
-#ifdef NONMATCHING
void Z2SeqMgr::setFieldBgmPlay(bool param_1) {
- mFlags = (param_1 & 1U) << 2 | mFlags & 0xfb;
+ mFlags = (param_1 & 1U) << 2 | (mFlags & ~4);
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void Z2SeqMgr::setFieldBgmPlay(bool param_0) {
- nofralloc
-#include "asm/Z2AudioLib/Z2SceneMgr/setFieldBgmPlay__8Z2SeqMgrFb.s"
-}
-#pragma pop
-#endif
/* 802B9978-802B9988 2B42B8 0010+00 1/1 0/0 0/0 .text isActive__12JAIStreamMgrCFv */
#pragma push