Misc fixes (#2860)

* Misc matches

* Remove more old dol2asm stuff

* Remove dCcS::SetMass-related fakematches

No longer necessary with the PCH for some reason.

* Use attention types enum in more places

* Remove more dol2asm stuff

* Clean up matDL_dis.py
This commit is contained in:
LagoLunatic
2025-11-25 18:32:34 +02:00
committed by GitHub
parent cd3d634133
commit 2f2f37a734
156 changed files with 209 additions and 594 deletions
+2 -2
View File
@@ -884,7 +884,7 @@ CaptureScreen.cpp:
d/d_debug_viewer.cpp:
.text start:0x80119B80 end:0x8011A610
.ctors start:0x8062F83C end:0x8062F840
.sbss start:0x8074C848 end:0x8074C85C
.sbss start:0x8074C848 end:0x8074C858
.bss start:0x807B4F40 end:0x807B5EE0
d/d_debug_pad.cpp:
@@ -892,7 +892,7 @@ d/d_debug_pad.cpp:
.ctors start:0x8062F840 end:0x8062F844
.rodata start:0x80646EB8 end:0x80646EE0
.data start:0x806A3990 end:0x806A39D8
.sbss start:0x8074C85C end:0x8074C868
.sbss start:0x8074C858 end:0x8074C868
d/d_debug_camera.cpp:
.text start:0x8011AAC0 end:0x80122210
+3 -3
View File
@@ -677,7 +677,7 @@ config.libs = [
Object(MatchingFor(ALL_GCN), "d/d_model.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_eye_hl.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_error_msg.cpp"),
Object(NonMatching, "d/d_debug_viewer.cpp"),
Object(Equivalent, "d/d_debug_viewer.cpp"), # debug weak func order
Object(NonMatching, "d/d_debug_camera.cpp"),
Object(NonMatching, "d/actor/d_a_alink.cpp"),
Object(MatchingFor(ALL_GCN), "d/actor/d_a_itembase.cpp"),
@@ -714,7 +714,7 @@ config.libs = [
Object(MatchingFor(ALL_GCN), "d/d_menu_map_common.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_menu_fishing.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_menu_fmap.cpp"),
Object(NonMatching, "d/d_menu_fmap_map.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_menu_fmap_map.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_menu_fmap2D.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_menu_insect.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_menu_item_explain.cpp"),
@@ -1042,7 +1042,7 @@ config.libs = [
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2SoundObjMgr.cpp"),
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2Creature.cpp"),
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2LinkMgr.cpp"),
Object(NonMatching, "Z2AudioLib/Z2EnvSeMgr.cpp"),
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2EnvSeMgr.cpp"),
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2WolfHowlMgr.cpp"),
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2SpeechMgr2.cpp"),
Object(NonMatching, "Z2AudioLib/Z2AudioMgr.cpp"),
+1 -1
View File
@@ -15,7 +15,7 @@ public:
JAISoundID(u32 pId) { mId.mFullId = pId; };
JAISoundID(JAISoundID const& other) { mId = other.mId; };
JAISoundID(JAISoundID const& other) { mId.mFullId = other.mId.mFullId; };
JAISoundID() {}
@@ -6,6 +6,7 @@
#include "JSystem/JAudio2/JASHeapCtrl.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "bitset.h"
#include <stdint.h>
/**
* @ingroup jsystem-jaudio
+5 -1
View File
@@ -146,7 +146,11 @@ struct TLinkList : public TNodeLinkList {
friend bool operator!=(iterator a, iterator b) { return !(a == b); }
T* operator->() const { return Element_toValue(base.operator->()); }
T& operator*() const { return *operator->(); }
T& operator*() const {
T* p = operator->();
JUT_ASSERT(541, p!=NULL);
return *p;
}
typedef s32 difference_type;
typedef T value_type;
+1 -1
View File
@@ -38,7 +38,7 @@ struct mDoLib_clipper {
};
void mDoLib_project(Vec* src, Vec* dst);
u8 mDoLib_setResTimgObj(ResTIMG const* res, GXTexObj* o_texObj, u32 tlut_name,
u32 mDoLib_setResTimgObj(ResTIMG const* res, GXTexObj* o_texObj, u32 tlut_name,
GXTlutObj* o_tlutObj);
void mDoLib_pos2camera(Vec* src, Vec* dst);
+1 -1
View File
@@ -37,7 +37,7 @@ inline void cMtx_scale(Mtx m, f32 x, f32 y, f32 z) {
}
inline void mDoMtx_multVec(CMtxP m, const Vec* src, Vec* dst) {
MTXMultVec(m, src, dst);
PSMTXMultVec(m, src, dst);
}
inline void mDoMtx_multVecArray(Mtx m, const Vec* src, Vec* dst, u32 count) {
-2
View File
@@ -596,5 +596,3 @@ void J2DTextBoxEx::setAnimation(J2DAnmVtxColor* param_0) {
void J2DTextBoxEx::setAnimation(J2DAnmBase* anm) {
J2DPane::setAnimation(anm);
}
/* 803A1DF0-803A1DF0 02E450 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -116,5 +116,3 @@ void J3DClusterLoader_v15::readCluster(const J3DClusterBlock* block) {
DCStoreRange(arr, vtxPosSize);
}
/* 803A2098-803A2098 02E6F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -341,5 +341,3 @@ u32 J3DModelLoader::calcSizeMaterialDL(const J3DMaterialDLBlock* block, u32 flag
}
return size;
}
/* 803A20E8-803A20E8 02E748 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-2
View File
@@ -172,5 +172,3 @@ static char const* const stringBase_8039A9B8 = " J3DUClipper::mNear = %f";
/* 8039A9D1-8039A9F0 027031 0018+07 0/0 0/0 0/0 .rodata None */
static char const* const stringBase_8039A9D1 = " J3DUClipper::mFar = %f";
/* 8039A984-8039A984 026FE4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-2
View File
@@ -364,5 +364,3 @@ void JASDriver::mixInterleaveTrack(s16* buffer, u32 param_1, MixCallback param_2
u32 JASDriver::getSubFrameCounter() {
return sSubFrameCounter;
}
/* 8039B2F0-8039B2F0 027950 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-2
View File
@@ -122,5 +122,3 @@ void JASAudioThread::DSPCallback(void*) {
}
}
}
/* 8039B338-8039B338 027998 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+1 -1
View File
@@ -799,7 +799,7 @@ void JASTrack::TList::append(JASTrack* i_track) {
}
/* 8029301C-802930DC 28D95C 00C0+00 1/1 0/0 0/0 .text seqMain__Q28JASTrack5TListFv */
// NONMATCHING missing load instruction
// NONMATCHING - missing load instruction (matches debug, equivalent)
void JASTrack::TList::seqMain() {
iterator it, it2;
for (it = begin(); it != end(); it = it2) {
-1
View File
@@ -67,7 +67,6 @@ s32 JKRAramStream::readFromAram() {
}
/* ############################################################################################## */
/* 8039D120-8039D120 029780 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
s32 JKRAramStream::writeToAram(JKRAramStreamCommand* command) {
u32 dstSize = command->mSize;
u32 offset = command->mOffset;
@@ -108,7 +108,7 @@ void JStudio_JStage::TAdaptor_light::adaptor_do_update(u32 param_1) {
JStudio::TControl::TTransform_position_direction aTStack_1b0;
adaptor_getVariableValue_Vec(&VStack_198.position, sauVariableValue_3_POSITION_XYZ);
switch (field_0x11c) {
case 1:
case 1: {
f32 dVar10 = adaptor_getVariableValue(10)->getValue();
f32 dVar11 = adaptor_getVariableValue(11)->getValue();
f32 temp = MTXDegToRad(dVar11);
@@ -119,6 +119,7 @@ void JStudio_JStage::TAdaptor_light::adaptor_do_update(u32 param_1) {
VStack_198.direction.y = sinVal;
VStack_198.direction.z = dVar12 * i_cosf(temp2);
break;
}
case 2:
Vec VStack_1c0;
adaptor_getVariableValue_Vec(&VStack_1c0, sauVariableValue_3_TARGET_POSITION_XYZ);
-2
View File
@@ -468,5 +468,3 @@ int JUTResFont::convertSjis(int inChr, u16* inLead) const {
return tmp2 + (tmp - 0x88) * 0xbc + -0x5e + lead;
}
/* 8039D45C-8039D45C 029ABC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-1
View File
@@ -32,7 +32,6 @@ Z2AudioMgr::Z2AudioMgr() : mSoundStarter(true) {
/* 802CD34C-802CD7F8 2C7C8C 04AC+00 0/0 1/1 0/0 .text
* init__10Z2AudioMgrFP12JKRSolidHeapUlPvP10JKRArchive */
// NONMATCHING JASPoolAllocObject<_> locations
void Z2AudioMgr::init(JKRSolidHeap* param_0, u32 param_1, void* param_2, JKRArchive* param_3) {
JAU_JASInitializer stack_60;
stack_60.field_0x04 = param_1;
+40 -43
View File
@@ -973,7 +973,6 @@ 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;
@@ -990,14 +989,7 @@ bool Z2EnvSeMgr::startRiverSe(s8 param_1) {
break;
}
case 8:
// fake match: should be 2000.0f according to debug, but that generates an extra entry in sdata2
if ((Z2GetStatusMgr()->mPolygonPosition.y >
#ifdef DEBUG
2000.0f
#else
-14500.0f
#endif
)) {
if ((Z2GetStatusMgr()->mPolygonPosition.y > 2000.0f)) {
break;
}
case 0x15:
@@ -1013,64 +1005,70 @@ bool Z2EnvSeMgr::startRiverSe(s8 param_1) {
if (mRiverSeMgr.getPosCount() < 0) {
return false;
}
JAISoundID aJStack_742 = 0xffffffff;
bool uVar8 = false;
f32 dVar16 = param_1 / 127.0f;
f32 dVar18 = field_0x1ac * mRiverSeMgr.getMaxVolume();
f32 dVar13 = mRiverSeMgr.getPanPower();
f32 dolbyPower = mRiverSeMgr.getDolbyPower();
f32 dVar17 = field_0x1b0;
f32 fArr0;
f32 fArr1;
f32 fArr2;
f32 fArr3;
JAISoundID sp3C = -1;
bool r30 = false;
f32 f31;
f32 f29;
f32 dolbyPower;
f32 f30;
f32 f27;
f27 = param_1 / 127.0f;
f31 = field_0x1ac * mRiverSeMgr.getMaxVolume();
f29 = mRiverSeMgr.getPanPower();
dolbyPower = mRiverSeMgr.getDolbyPower();
f30 = field_0x1b0;
f32 sp18;
f32 sp14;
f32 sp10;
f32 sp0C;
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,
sp3C = Z2SE_ENV_RIVER_SMALL;
sp18 = dolbyPower;
f31 *= 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,
f30 *= Z2Calc::linearTransform(field_0x19c.calcNoise1f(), 0.0f, 1.0f, 0.8f, 1.1f,
true);
uVar8 = field_0x180.startEnvSeLevel(aJStack_742, dVar16, dVar18, dVar13, dolbyPower, dVar17, 0);
r30 = field_0x180.startEnvSeLevel(sp3C, f27, f31, f29, dolbyPower, f30, 0);
break;
case 2:
aJStack_742 = Z2SE_ENV_RIVER_NORMAL;
sp3C = Z2SE_ENV_RIVER_NORMAL;
mRiverSeMgr.getMaxPowL();
mRiverSeMgr.getMaxPowR();
fArr2 = mRiverSeMgr.getDolbyPower();
uVar8 = field_0x180.startEnvSeLevel(aJStack_742, dVar16, dVar18, dVar13, dolbyPower, dVar17, 0);
sp14 = mRiverSeMgr.getDolbyPower();
r30 = field_0x180.startEnvSeLevel(sp3C, f27, f31, f29, dolbyPower, f30, 0);
break;
case 3:
if (field_0x1b8 > 0) {
dVar18 *= (field_0x1b8 + 50) / 150.0f;
f31 *= (field_0x1b8 + 50) / 150.0f;
} else {
if (field_0x1b8 < 0) {
dVar18 *= (field_0x1b8 + 150) / 150.0f;
f31 *= (field_0x1b8 + 150) / 150.0f;
} else {
dVar18 *= 0.3f;
f31 *= 0.3f;
}
}
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, dolbyPower, dVar17, 0);
sp3C = Z2SE_ENV_SEWER;
sp10 = dolbyPower;
f31 *= Z2Calc::linearTransform(field_0x18c.calcNoise1f(), 0.0f, 1.0f, 0.6f, 1.0f, true);
f30 *= Z2Calc::linearTransform(field_0x19c.calcNoise1f(), 0.0f, 1.0f, 0.8f, 1.0f, true);
r30 = field_0x180.startEnvSeLevel(sp3C, f27, f31, f29, dolbyPower, f30, 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, dolbyPower, dVar17, 0);
sp3C = Z2SE_ENV_SPIRIT_FOUNTAIN;
sp0C = dolbyPower;
f31 *= Z2Calc::linearTransform(field_0x18c.calcNoise1f(), 0.0f, 1.0f, 0.6f, 1.0f, true);
f30 *= Z2Calc::linearTransform(field_0x19c.calcNoise1f(), 0.0f, 1.0f, 0.8f, 1.0f, true);
r30 = field_0x180.startEnvSeLevel(sp3C, f27, f31, f29, dolbyPower, f30, 0);
break;
}
mRiverSeMgr.resetMultiSePos();
return uVar8;
return r30;
}
/* 802C8730-802C886C 2C3070 013C+00 1/1 1/1 0/0 .text initFallSe__10Z2EnvSeMgrFUcUcUcUc
@@ -1343,7 +1341,6 @@ 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();
-2
View File
@@ -546,7 +546,6 @@ Z2LinkSoundStarter::Z2LinkSoundStarter() : Z2SoundStarter(false) {}
/* 802C4928-802C4FFC 2BF268 06D4+00 2/0 0/0 0/0 .text
* startSound__18Z2LinkSoundStarterF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f>UlfffffUl */
// NONMATCHING stack alloc
bool Z2LinkSoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* param_1,
JGeometry::TVec3<f32> const* param_2, u32 param_3,
f32 param_4, f32 param_5, f32 param_6, f32 param_7,
@@ -732,7 +731,6 @@ Z2RideSoundStarter::Z2RideSoundStarter(Z2CreatureRide* ride) : Z2SoundStarter(fa
/* 802C5284-802C54B8 2BFBC4 0234+00 2/0 0/0 0/0 .text
* startSound__18Z2RideSoundStarterF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f>UlfffffUl */
// NONMATCHING regalloc / extra load
bool Z2RideSoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* param_1,
JGeometry::TVec3<f32> const* param_2, u32 param_3,
f32 param_4, f32 param_5, f32 param_6, f32 param_7,

Some files were not shown because too many files have changed in this diff Show More