d_stage linked and one function in m_do_ext matched (#2272)

This commit is contained in:
Trueffel
2024-12-29 16:56:25 +01:00
committed by GitHub
parent 3ea8ec11a5
commit aecb7424d5
5 changed files with 56 additions and 35 deletions
+2 -23
View File
@@ -2729,7 +2729,6 @@ stage_scls_info_dummy_class* dStage_stageDt_c::getSclsInfo() const {
}
/* 800272F0-800274B0 021C30 01C0+00 0/0 1/1 0/0 .text dStage_changeScene4Event__FiScibfUlsi */
// NONMATCHING regalloc
int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3, f32 speed,
u32 mode, s16 angle, int param_7) {
stage_scls_info_dummy_class* scls;
@@ -2748,19 +2747,8 @@ int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3,
stage_scls_info_class* scls_info = &scls->mEntries[i_exitId];
s32 wipe;
s32 wipe_time;
if (i_wipe == -1) {
wipe = dStage_sclsInfo_getWipe(scls_info);
} else {
wipe = i_wipe;
}
if (i_wipe == -1) {
wipe_time = dStage_sclsInfo_getWipeTime(scls_info);
} else {
wipe_time = 0;
}
s32 wipe = i_wipe == -1 ? dStage_sclsInfo_getWipe(scls_info) : i_wipe;
s32 wipe_time = i_wipe == -1 ? dStage_sclsInfo_getWipeTime(scls_info) : 0;
s32 layer = dStage_sclsInfo_getSceneLayer(scls_info);
int timeH = dStage_sclsInfo_getTimeH(scls_info);
@@ -3495,12 +3483,3 @@ int dStage_stageDt_c::getMapPath(void) {
void dStage_stageDt_c::setElst(dStage_Elst_c* i_Elst) {
mElst = i_Elst;
}
/* ############################################################################################## */
/* 80450D7C-80450D80 -00001 0004+00 0/0 0/0 0/0 .sbss None */
#pragma push
#pragma force_active on
static u8 pad_80450D7C[4];
#pragma pop
/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+37 -3
View File
@@ -4,6 +4,7 @@
*/
#include "m_Do/m_Do_ext.h"
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "JSystem/JKernel/JKRAssertHeap.h"
@@ -2340,8 +2341,37 @@ void mDoExt_3DlineMat1_c::setMaterial() {
}
/* 800135D0-8001373C 00DF10 016C+00 1/0 0/0 0/0 .text draw__19mDoExt_3DlineMat1_cFv */
// NONMATCHING- some smaller issues
void mDoExt_3DlineMat1_c::draw() {
// NONMATCHING
GXLoadTexObj(&mTextureObject, GX_TEXMAP0);
GXSetTexCoordScaleManually(GX_TEXCOORD0, 1, GXGetTexObjWidth(&mTextureObject), GXGetTexObjHeight(&mTextureObject));
GXSetTevColor(GX_TEVREG2, mColor);
if (mpTevStr != NULL) {
dKy_Global_amb_set(mpTevStr);
}
mDoExt_3Dline_c* lines = mpLines;
s32 vert_num = (field_0x34 & 0x7fff) << 1;
for (s32 i = 0; i < mNumLines; i++) {
GXSetArray(GX_VA_POS, lines[mIsDrawn].field_0x8, 0xC);
GXSetArray(GX_VA_NRM, lines[mIsDrawn].field_0x10, 0x3);
GXSetArray(GX_VA_TEX0, lines[mIsDrawn].field_0x18, 0x8);
GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, vert_num);
s16 tempJ;
for (u32 j = 0; j < (u32)field_0x34; j += 1) {
GXPosition1x16(j);
GXNormal1x16(j);
GXTexCoord1x16(j);
tempJ = j + 1;
GXPosition1x16(tempJ);
GXNormal1x16(tempJ);
GXTexCoord1x16(tempJ);
}
GXEnd();
lines++;
}
GXSetTexCoordScaleManually(GX_TEXCOORD0, 0, 0, 0);
mIsDrawn ^= 1;
}
/* 8001373C-80013FB0 00E07C 0874+00 0/0 0/0 6/6 .text
@@ -2359,8 +2389,12 @@ void mDoExt_3DlineMat1_c::update(int param_0, _GXColor& param_1, dKy_tevstr_c* p
/* 80014738-8001479C 00F078 0064+00 0/0 0/0 29/29 .text
* setMat__26mDoExt_3DlineMatSortPacketFP18mDoExt_3DlineMat_c */
void mDoExt_3DlineMatSortPacket::setMat(mDoExt_3DlineMat_c* param_0) {
// NONMATCHING
void mDoExt_3DlineMatSortPacket::setMat(mDoExt_3DlineMat_c* i_3DlineMat) {
if (mp3DlineMat == NULL) {
dComIfGd_getListPacket()->entryImm(this, 0);
}
i_3DlineMat->field_0x4 = mp3DlineMat;
mp3DlineMat = i_3DlineMat;
}
/* 8001479C-80014804 00F0DC 0068+00 1/0 0/0 0/0 .text draw__26mDoExt_3DlineMatSortPacketFv */