diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2025-04-13 21:55:52 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-13 11:55:52 -0700 |
| commit | 3df5c7bb42c1b886024b254fec28e5f98310b630 (patch) | |
| tree | 7f1ae60b520d5707addc5da2204771a59e9c49ce /src/Z2AudioLib | |
| parent | 417922b5c37b01a29a6d7816e53e3f3b2dddd9f0 (diff) | |
Various alignments to debug + matching TUs (#2391)
Diffstat (limited to 'src/Z2AudioLib')
| -rw-r--r-- | src/Z2AudioLib/Z2Audience.cpp | 53 | ||||
| -rw-r--r-- | src/Z2AudioLib/Z2EnvSeMgr.cpp | 68 | ||||
| -rw-r--r-- | src/Z2AudioLib/Z2SeqMgr.cpp | 30 | ||||
| -rw-r--r-- | src/Z2AudioLib/Z2SpeechMgr2.cpp | 2 |
4 files changed, 95 insertions, 58 deletions
diff --git a/src/Z2AudioLib/Z2Audience.cpp b/src/Z2AudioLib/Z2Audience.cpp index a6306be42e..8a200729ba 100644 --- a/src/Z2AudioLib/Z2Audience.cpp +++ b/src/Z2AudioLib/Z2Audience.cpp @@ -70,11 +70,12 @@ JASSoundParams* Z2Audible::getOuterParams(int param_0) { /* 802BBEE4-802BC204 2B6824 0320+00 1/1 0/0 0/0 .text * setOuterParams__9Z2AudibleFRC14JASSoundParamsRC14JASSoundParamsi */ -// NONMATCHING regalloc void Z2Audible::setOuterParams(JASSoundParams const& param_0, JASSoundParams const& param_1, - int param_2) { - Z2AudibleChannel* this_01 = &field_0x2c[param_2]; - u32 iStack_94 = (field_0x10.field_0x0.half.f1 & 0xf00) >> 8; + int index) { + JUT_ASSERT(89, index >= 0); + JUT_ASSERT(90, index < 1); + Z2AudibleChannel* this_01 = &field_0x2c[index]; + u8 iStack_94 = (field_0x10.field_0x0.half.f1 & 0xf00) >> 8; if (iStack_94 == 0) { this_01->field_0x0.combine(param_0, param_1); return; @@ -105,28 +106,24 @@ void Z2Audible::setOuterParams(JASSoundParams const& param_0, JASSoundParams con dVar10 = 0.0f; } } - dVar10 -= this_01->field_0x28; - f32 dVar11; - if (dVar10 > 0.0f) { - dVar11 = J3DUD::JMAAbs(dVar10); - dVar11 = Z2Calc::getParamByExp(dVar11, 1.0f, 0.0f, 0.1f, 0.1f, 0.5f, Z2Calc::CURVE_SIGN_1); + f32 dVar15 = dVar10 - this_01->field_0x28; + f32 dVar11 = 1.0f; + if (dVar15 > 0.0f) { + dVar11 = Z2Calc::getParamByExp(J3DUD::JMAAbs(dVar15), 1.0f, 0.0f, 0.1f, 0.1f, 0.5f, Z2Calc::CURVE_SIGN_1); } else { - dVar11 = J3DUD::JMAAbs(dVar10); - dVar11 = Z2Calc::getParamByExp(dVar11, -1.0f, 0.0f, 0.1f, 1.0f / 30.0f, 0.5f, Z2Calc::CURVE_SIGN_1); + dVar11 = Z2Calc::getParamByExp(J3DUD::JMAAbs(dVar15), -1.0f, 0.0f, 0.1f, 1.0f / 30.0f, 0.5f, Z2Calc::CURVE_SIGN_1); } - f32 fVar1 = this_01->field_0x28 + (dVar10 * dVar11); - if (fVar1 < 0.0f) { - fVar1 = 0.0f; - } else if (fVar1 > 1.0f) { - fVar1 = 1.0f; - } - local_b0.mVolume = param_1.mVolume * fVar1; - this_01->field_0x28 = fVar1; - f32 dVar8 = J3DUD::JMAAbs(local_b8.x); - f32 dVar13 = Z2Calc::getParamByExp(local_b0.mVolume * dVar8, 1.0f, 0.0f, 0.1f, + dVar10 = this_01->field_0x28 + (dVar15 * dVar11); + if (dVar10 < 0.0f) { + dVar10 = 0.0f; + } else if (dVar10 > 1.0f) { + dVar10 = 1.0f; + } + local_b0.mVolume = param_1.mVolume * dVar10; + this_01->field_0x28 = dVar10; + f32 dVar13 = Z2Calc::getParamByExp(local_b0.mVolume * J3DUD::JMAAbs(local_b8.x), 1.0f, 0.0f, 0.1f, 1.0f / 30.0f, 1.0 / 3.0f, Z2Calc::CURVE_SIGN_1); - f32 dVar14 = J3DUD::JMAAbs(local_b8.y); - dVar14 = Z2Calc::getParamByExp(local_b0.mVolume * dVar14, 1.0f, + f32 dVar14 = Z2Calc::getParamByExp(local_b0.mVolume * J3DUD::JMAAbs(local_b8.y), 1.0f, 0.0f, 0.1f, 1.0f / 30.0f, 1.0f / 3.0f, Z2Calc::CURVE_SIGN_1); if (dVar13 > 1.0f / 3.0f) { @@ -514,7 +511,9 @@ Z2Audience::Z2Audience() : JASGlobalInstance<Z2Audience>(true), field_0x4(1.0f), } /* 802BD1FC-802BD288 2B7B3C 008C+00 1/0 1/1 0/0 .text __dt__10Z2AudienceFv */ -Z2Audience::~Z2Audience() {} +Z2Audience::~Z2Audience() { + //JUT_ASSERT(751, !isActive()); +} /* 802BD2DC-802BD338 2B7C1C 005C+00 0/0 1/1 0/0 .text * setAudioCamera__10Z2AudienceFPA4_fR3VecR3Vecffbib */ @@ -855,6 +854,12 @@ int Z2Audience::getMaxChannels() { return mMaxChannels; } +static void dummyMempool() { + +} + + + // padding (???) s8 data_80451355; s8 data_80451356; diff --git a/src/Z2AudioLib/Z2EnvSeMgr.cpp b/src/Z2AudioLib/Z2EnvSeMgr.cpp index b62f873c14..16bca211b3 100644 --- a/src/Z2AudioLib/Z2EnvSeMgr.cpp +++ b/src/Z2AudioLib/Z2EnvSeMgr.cpp @@ -10,6 +10,11 @@ #include "d/d_save.h" #include "d/d_com_inf_game.h" +#ifdef DEBUG +// Should be in data section +static char sSpotName[144] = {0}; +#endif + /* 802C589C-802C58AC 2C01DC 0010+00 3/3 0/0 0/0 .text __ct__11Z2EnvSeBaseFP3Vec */ Z2EnvSeBase::Z2EnvSeBase(Vec* param_0) { mPos = param_0; @@ -970,6 +975,10 @@ void Z2EnvSeMgr::setHyrulSewerOpen(bool param_0) { /* 802C8300-802C8730 2C2C40 0430+00 2/1 1/1 0/0 .text startRiverSe__10Z2EnvSeMgrFSc */ // NONMATCHING JAISound stack issues bool Z2EnvSeMgr::startRiverSe(s8 param_1) { + #ifdef DEBUG + char* spotName = sSpotName; + #endif + if (Z2GetStatusMgr()->mCameraMapInfo == 6) { switch (Z2GetSceneMgr()->getCurrentSceneNum()) { case 5: @@ -982,7 +991,13 @@ bool Z2EnvSeMgr::startRiverSe(s8 param_1) { } case 8: // fake match: should be 2000.0f according to debug, but that generates an extra entry in sdata2 - if (Z2GetStatusMgr()->mPolygonPosition.y < -14500.0f) { + if ((Z2GetStatusMgr()->mPolygonPosition.y > + #ifdef DEBUG + 2000.0f + #else + -14500.0f + #endif + )) { break; } case 0x15: @@ -1003,26 +1018,31 @@ bool Z2EnvSeMgr::startRiverSe(s8 param_1) { f32 dVar16 = param_1 / 127.0f; f32 dVar18 = field_0x1ac * mRiverSeMgr.getMaxVolume(); f32 dVar13 = mRiverSeMgr.getPanPower(); - f32 dVar14 = mRiverSeMgr.getDolbyPower(); + f32 dolbyPower = mRiverSeMgr.getDolbyPower(); f32 dVar17 = field_0x1b0; + f32 fArr0; + f32 fArr1; + f32 fArr2; + f32 fArr3; switch (field_0x188) { case 0: return false; case 1: aJStack_742 = Z2SE_ENV_RIVER_SMALL; + fArr3 = dolbyPower; dVar18 *= Z2Calc::linearTransform(field_0x18c.calcNoise1f(), 0.0f, 1.0f, 0.7f, 1.0f, true); dVar17 *= Z2Calc::linearTransform(field_0x19c.calcNoise1f(), 0.0f, 1.0f, 0.8f, 1.1f, true); - uVar8 = field_0x180.startEnvSeLevel(aJStack_742, dVar16, dVar18, dVar13, dVar14, dVar17, 0); + uVar8 = field_0x180.startEnvSeLevel(aJStack_742, dVar16, dVar18, dVar13, dolbyPower, dVar17, 0); break; case 2: aJStack_742 = Z2SE_ENV_RIVER_NORMAL; mRiverSeMgr.getMaxPowL(); mRiverSeMgr.getMaxPowR(); - mRiverSeMgr.getDolbyPower(); - uVar8 = field_0x180.startEnvSeLevel(aJStack_742, dVar16, dVar18, dVar13, dVar14, dVar17, 0); + fArr2 = mRiverSeMgr.getDolbyPower(); + uVar8 = field_0x180.startEnvSeLevel(aJStack_742, dVar16, dVar18, dVar13, dolbyPower, dVar17, 0); break; case 3: if (field_0x1b8 > 0) { @@ -1035,15 +1055,17 @@ bool Z2EnvSeMgr::startRiverSe(s8 param_1) { } } aJStack_742 = Z2SE_ENV_SEWER; + fArr1 = dolbyPower; dVar18 *= Z2Calc::linearTransform(field_0x18c.calcNoise1f(), 0.0f, 1.0f, 0.6f, 1.0f, true); dVar17 *= Z2Calc::linearTransform(field_0x19c.calcNoise1f(), 0.0f, 1.0f, 0.8f, 1.0f, true); - uVar8 = field_0x180.startEnvSeLevel(aJStack_742, dVar16, dVar18, dVar13, dVar14, dVar17, 0); + uVar8 = field_0x180.startEnvSeLevel(aJStack_742, dVar16, dVar18, dVar13, dolbyPower, dVar17, 0); break; case 5: aJStack_742 = Z2SE_ENV_SPIRIT_FOUNTAIN; + fArr0 = dolbyPower; dVar18 *= Z2Calc::linearTransform(field_0x18c.calcNoise1f(), 0.0f, 1.0f, 0.6f, 1.0f, true); dVar17 *= Z2Calc::linearTransform(field_0x19c.calcNoise1f(), 0.0f, 1.0f, 0.8f, 1.0f, true); - uVar8 = field_0x180.startEnvSeLevel(aJStack_742, dVar16, dVar18, dVar13, dVar14, dVar17, 0); + uVar8 = field_0x180.startEnvSeLevel(aJStack_742, dVar16, dVar18, dVar13, dolbyPower, dVar17, 0); break; } @@ -1323,23 +1345,27 @@ f32 Z2EnvSeMgr::getFogDensity() { /* 802C9400-802C950C 2C3D40 010C+00 0/0 0/0 1/1 .text startFogSe__10Z2EnvSeMgrFv */ // NONMATCHING fmuls reg order bool Z2EnvSeMgr::startFogSe() { + bool iVar5 = false; f32 dVar10 = field_0x2e8.calcNoise1f(); - f32 dVar14 = 0.332f + (0.668f * dVar10); - f32 dVar13 = 0.8f + (dVar10 * 0.2f); - f32 dVar12 = 0.5f - (dVar10 * 0.4f) / 2; - bool iVar5 = - field_0x240.startEnvSeLevel(Z2SE_ENV_PUPPET_FOG_L, 20.0f, dVar14, dVar12, 0.5f, dVar13, 0); + f32 ratio = 0.332f; + f32 fVar1 = 0.2f; + f32 fVar2 = 0.4f; + f32 dVar14 = ratio + ((1.0f - ratio) * dVar10); + f32 dVar13 = (1.0f - fVar1) + (dVar10 * fVar1); + f32 dVar12 = 0.5f - (dVar10 * fVar2) / 2; + int iVar1 = 20; + f32 fVar3 = 0.5f; + bool iVar6 = + field_0x240.startEnvSeLevel(Z2SE_ENV_PUPPET_FOG_L, iVar1, dVar14, dVar12, fVar3, dVar13, 0); dVar10 = field_0x2f8.calcNoise1f(); - dVar14 = (0.332f + (0.668f * dVar10)); - dVar13 = (0.8f + (0.2f * dVar10)); - dVar12 = (0.5f + ( 0.4f * dVar10) / 2); - bool iVar6 = field_0x274.startEnvSeLevel(Z2SE_ENV_PUPPET_FOG_R, 20.0f, dVar14, dVar12, 0.5f, + dVar14 = (ratio + ((1.0f - ratio) * dVar10)); + dVar13 = ((1.0f - fVar1) + dVar10 * fVar1); + dVar12 = (0.5f + (dVar10 * fVar2) / 2); + iVar1 = 20; + fVar3 = 0.5f; + iVar5 = field_0x274.startEnvSeLevel(Z2SE_ENV_PUPPET_FOG_R, iVar1, dVar14, dVar12, fVar3, dVar13, 0); - bool uVar8 = false; - if (iVar5 && iVar6) { - uVar8 = true; - } - return uVar8; + return (iVar6 && iVar5); } /* 802C950C-802C9F58 2C3E4C 0A4C+00 2/0 1/1 0/0 .text initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc */ diff --git a/src/Z2AudioLib/Z2SeqMgr.cpp b/src/Z2AudioLib/Z2SeqMgr.cpp index 6a57686328..c618323384 100644 --- a/src/Z2AudioLib/Z2SeqMgr.cpp +++ b/src/Z2AudioLib/Z2SeqMgr.cpp @@ -16,7 +16,7 @@ #include "dol2asm.h" /* 802AEEA0-802AF010 2A97E0 0170+00 0/0 1/1 0/0 .text __ct__8Z2SeqMgrFv */ -Z2SeqMgr::Z2SeqMgr() : JASGlobalInstance<Z2SeqMgr>(this) { +Z2SeqMgr::Z2SeqMgr() : JASGlobalInstance<Z2SeqMgr>(true) { mMainBgmMaster.forceIn(); mSubBgmMaster.forceIn(); mBgmPause.forceIn(); @@ -28,6 +28,12 @@ Z2SeqMgr::Z2SeqMgr() : JASGlobalInstance<Z2SeqMgr>(this) { mTwilightGateVol = 1.0f; mAllBgmMaster.forceIn(); field_0xa4.forceIn(); + + #ifdef DEBUG + field_0x00_debug = 1.0f; + field_0x04_debug = 0; + #endif + field_0xb8 = -1; resetBattleBgmParams(); mBgmStatus = 0xff; @@ -1931,10 +1937,8 @@ void Z2SeqMgr::startBattleBgm(bool i_fade) { } /* 802B5204-802B545C 2AFB44 0258+00 3/3 1/1 0/0 .text stopBattleBgm__8Z2SeqMgrFUcUc */ -// NONMATCHING regalloc void Z2SeqMgr::stopBattleBgm(u8 param_0, u8 param_1) { if (mBattleSeqCount == 0) { - u8 count; s16 ivar6 = 0; if (Z2GetLink() != NULL) { ivar6 = Z2GetLink()->getMoveSpeed() - 23; @@ -1946,20 +1950,22 @@ void Z2SeqMgr::stopBattleBgm(u8 param_0, u8 param_1) { ivar6 = struct_80450861; } if (getSubBgmID() == Z2BGM_BATTLE_NORMAL) { - u8 count_out = struct_80450861 + ivar6; - count = struct_80450862 + ivar6 / 2; - mSubBgmHandle->fadeOut(count_out); - mBattleSeqCount = count_out; + param_0 = struct_80450861 + ivar6; + param_1 = struct_80450862 + ivar6 / 2; + mSubBgmHandle->fadeOut(param_0); + mBattleSeqCount = param_0; } else if (getSubBgmID() == Z2BGM_BATTLE_TWILIGHT) { if (mSubBgmStatus > 1) { - count = struct_80450861 + ivar6 / 4; + param_0 = struct_80450861 + ivar6 / 4; + param_1 = struct_80450861 + ivar6 / 4; } else { - count = 25 + ivar6 / 4; + param_0 = 25 + ivar6 / 4; + param_1 = 25 + ivar6 / 4; } - mSubBgmHandle->fadeOut(count); - mBattleSeqCount = count; + mSubBgmHandle->fadeOut(param_0); + mBattleSeqCount = param_0; } - mMainBgmMaster.fadeIn(count); + mMainBgmMaster.fadeIn(param_1); mBattleDistState = 3; setBattleDistIgnore(false); mFlags.mBattleSearched = false; diff --git a/src/Z2AudioLib/Z2SpeechMgr2.cpp b/src/Z2AudioLib/Z2SpeechMgr2.cpp index 49f589fc90..9cc6913e75 100644 --- a/src/Z2AudioLib/Z2SpeechMgr2.cpp +++ b/src/Z2AudioLib/Z2SpeechMgr2.cpp @@ -490,7 +490,7 @@ void Z2SpeechMgr2::setString(u16 const* s, s16 i_textNum, u8 i_speaker, u16 i_mo if (i_textNum > 500) { mTextNum = 500; - JUT_WARN_1(387, "TOO MANY TEXT : now(%d) > max(%d)", i_textNum, 500); + JUT_WARN_DEVICE(387, 1, "TOO MANY TEXT : now(%d) > max(%d)", i_textNum, 500); } else { mTextNum = i_textNum; } |
