mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-12 21:14:38 -04:00
Various alignments to debug + matching TUs (#2391)
This commit is contained in:
@@ -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;
|
||||
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 * 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,
|
||||
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;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
+18
-12
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user