diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2023-02-23 17:41:05 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-23 08:41:05 -0700 |
| commit | 4df6e8edea459eea6b13a0aa5c348d457d15edd5 (patch) | |
| tree | 2b1a9fe520310953c358dfdf92e1c8475ec8bf62 /libs | |
| parent | fa1f47f7a134cdc203207ec0b273ca7d32542d52 (diff) | |
Various matches and improvements (#299)
* Various matches and improvements
* Remove unnecessary comment
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/SSystem/SComponent/c_m3d.cpp | 34 | ||||
| -rw-r--r-- | libs/Z2AudioLib/Z2SceneMgr.cpp | 94 |
2 files changed, 60 insertions, 68 deletions
diff --git a/libs/SSystem/SComponent/c_m3d.cpp b/libs/SSystem/SComponent/c_m3d.cpp index 6fd69c5e49..28dda82caa 100644 --- a/libs/SSystem/SComponent/c_m3d.cpp +++ b/libs/SSystem/SComponent/c_m3d.cpp @@ -314,35 +314,31 @@ bool cM3d_Cross_AabCyl(const cM3dGAab* pAab, const cM3dGCyl* pCyl) { /* 80268BB4-80268C5C 2634F4 00A8+00 0/0 2/2 0/0 .text cM3d_Cross_AabSph__FPC8cM3dGAabPC8cM3dGSph */ -#ifdef NONMATCHING bool cM3d_Cross_AabSph(const cM3dGAab* pAab, const cM3dGSph* pSph) { f32 radius = pSph->GetR(); - if (pAab->GetMinX() > pSph->GetC().x + radius) { // addition registers are flipped + f32 cx = pSph->GetC().x; + if (pAab->GetMinX() > cx + radius) { return false; - } else if (pAab->GetMaxX() < pSph->GetC().x - radius) { + } + else if (pAab->GetMaxX() < cx - radius) { return false; - } else if (pAab->GetMinZ() > pSph->GetC().z + radius) { + } + + f32 cz = pSph->GetC().z; + if (pAab->GetMinZ() > cz + radius) { return false; - } else if (pAab->GetMaxZ() < pSph->GetC().z - radius) { + } else if (pAab->GetMaxZ() < cz - radius) { return false; - } else if (pAab->GetMinY() > pSph->GetC().y + radius) { + } + + f32 cy = pSph->GetC().y; + if (pAab->GetMinY() > cy + radius) { return false; - } else if (pAab->GetMaxY() < pSph->GetC().y - radius) { + } else if (pAab->GetMaxY() < cy - radius) { return false; - } else { - return true; } + return true; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool cM3d_Cross_AabSph(cM3dGAab const* param_0, cM3dGSph const* param_1) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_AabSph__FPC8cM3dGAabPC8cM3dGSph.s" -} -#pragma pop -#endif /* 80268C5C-80268ED4 26359C 0278+00 3/3 0/0 0/0 .text * cM3d_Check_LinLin__FPC8cM3dGLinPC8cM3dGLinPfPf */ 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 |
