Skip to content

Commit cfb614e

Browse files
authored
d_menu_letter equivalent (#2407)
1 parent 556bfc9 commit cfb614e

File tree

10 files changed

+192
-238
lines changed

10 files changed

+192
-238
lines changed

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -603,7 +603,7 @@ def MatchingFor(*versions) -> bool:
603603
Object(MatchingFor("GZ2E01"), "d/d_menu_fmap2D.cpp"),
604604
Object(MatchingFor("GZ2E01"), "d/d_menu_insect.cpp"),
605605
Object(MatchingFor("GZ2E01"), "d/d_menu_item_explain.cpp"),
606-
Object(NonMatching, "d/d_menu_letter.cpp", extra_cflags=['-pragma "nosyminline on"']),
606+
Object(Equivalent, "d/d_menu_letter.cpp", extra_cflags=['-pragma "nosyminline on"']), # weak function order
607607
Object(MatchingFor("GZ2E01"), "d/d_menu_option.cpp"),
608608
Object(MatchingFor("GZ2E01"), "d/d_menu_ring.cpp"),
609609
Object(Equivalent, "d/d_menu_save.cpp"), # missing 0x30 bytes of padding between vtables, likely some abstract base class vtable that gets stripped out

include/JSystem/J2DGraph/J2DPicture.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,12 @@ class J2DPicture : public J2DPane {
142142
/* 802FD964 */ virtual const ResTIMG* changeTexture(char const*, u8);
143143
/* 802FD9BC */ virtual const ResTIMG* changeTexture(ResTIMG const*, u8, JUTPalette*);
144144
/* 802FDAC8 */ virtual const ResTIMG* changeTexture(char const*, u8, JUTPalette*);
145-
/* 800539DC */ virtual JUTTexture* getTexture(u8) const;
145+
/* 800539DC */ virtual JUTTexture* getTexture(u8 param_0) const {
146+
if (param_0 < 2) {
147+
return mTexture[param_0];
148+
}
149+
return NULL;
150+
}
146151
/* 802FF634 */ virtual u8 getTextureCount() const { return mTextureNum; }
147152
/* 80053C6C */ virtual bool setBlack(JUtility::TColor i_black) {
148153
mBlack = i_black;

include/d/d_com_inf_game.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3376,7 +3376,7 @@ inline BOOL dComIfGp_roomControl_checkRoomDisp(int i_roomNo) {
33763376
return g_dComIfG_gameInfo.play.getRoomControl()->checkRoomDisp(i_roomNo);
33773377
}
33783378

3379-
inline BOOL dComIfGp_roomControl_checkStatusFlag(int i_roomNo, u8 flag) {
3379+
inline u8 dComIfGp_roomControl_checkStatusFlag(int i_roomNo, u8 flag) {
33803380
return g_dComIfG_gameInfo.play.getRoomControl()->checkStatusFlag(i_roomNo, flag);
33813381
}
33823382

include/d/d_menu_letter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class dMenu_Letter_c : public dDlst_base_c {
5555
/* 801E1678 */ u8 getLetterNum();
5656
/* 801E1748 */ void setHIO(bool);
5757

58-
/* 801E1D5C */ virtual void draw();
58+
/* 801E1D5C */ virtual void draw() { _draw(); }
5959
/* 801DCF34 */ virtual ~dMenu_Letter_c();
6060

6161
u8 getStatus() { return mStatus; }

include/d/d_msg_string.h

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,17 @@ class dMsgString_c : public dMsgStringBase_c {
2020
return getStringLocal(param_0, param_1, param_2, param_3, param_4, param_5);
2121
}
2222
}
23-
/* 801E1D10 */ virtual f32 getStringPage(u32, u8, u8, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*,
24-
u8);
23+
/* 801E1D10 */ virtual f32 getStringPage(u32 param_1, u8 param_2, u8 param_3,
24+
J2DTextBox* param_4, J2DTextBox* param_5,
25+
JUTFont* param_6, COutFont_c* param_7, u8 param_8) {
26+
if (param_7 == NULL && mpOutFont != NULL) {
27+
return getStringPageLocal(param_1, param_2, param_3, param_4, param_5, param_6,
28+
mpOutFont, param_8);
29+
} else {
30+
return getStringPageLocal(param_1, param_2, param_3, param_4, param_5, param_6, param_7,
31+
param_8);
32+
}
33+
}
2534
/* 80249DB4 */ virtual void resetStringLocal(J2DTextBox*);
2635
/* 80249DE4 */ virtual void drawOutFontLocal(J2DTextBox*, f32);
2736
/* 80249ED0 */ virtual void drawFontLocal(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8);

include/d/d_stage.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1114,7 +1114,7 @@ class dStage_roomControl_c {
11141114
mStatus[param_0].mpBgW = i_bgw;
11151115
}
11161116

1117-
BOOL checkStatusFlag(int i_roomNo, u8 flag) const {
1117+
u8 checkStatusFlag(int i_roomNo, u8 flag) const {
11181118
return cLib_checkBit(mStatus[i_roomNo].mFlag, flag);
11191119
}
11201120

src/d/d_drawlist.cpp

Lines changed: 65 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,22 @@
1919
class dDlst_blo_c : public dDlst_base_c {
2020
public:
2121
/* 80053B64 */ virtual void draw();
22+
bool create(JKRArchive* param_1, char* param_2) {
23+
return mScreen.setPriority(param_2,0x20000,param_1) != 0;
24+
}
25+
26+
J2DPane* getPane(u64 i_tag) {
27+
return mScreen.search(i_tag);
28+
}
29+
30+
J2DPicture* getPicture(u64 i_tag) {
31+
J2DPane* pane = getPane(i_tag);
32+
JUT_ASSERT(1553, pane != 0);
33+
if (pane->getTypeID() != 0x12) {
34+
return NULL;
35+
}
36+
return (J2DPicture*)pane;
37+
}
2238

2339
/* 0x004 */ int field_0x4;
2440
/* 0x008 */ J2DScreen mScreen;
@@ -99,7 +115,7 @@ class dDlst_2DMt_tex_c {
99115
int getCI() { return mCI; }
100116
GXTexObj* getTexObj() { return &mTexObj; }
101117
GXTlutObj* getTlutObj() { return &mTlutObj; }
102-
GXColor getColor() { return mColor; }
118+
GXColor* getColor() { return &mColor; }
103119
f32 getS() { return mS; }
104120
f32 getT() { return mT; }
105121
f32 getSw() { return mSw; }
@@ -190,14 +206,16 @@ void dDlst_window_c::setScissor(f32 xOrig, f32 yOrig, f32 width, f32 height) {
190206

191207
/* 80051AF0-80051CF0 04C430 0200+00 1/0 0/0 0/0 .text draw__13dDlst_2DTri_cFv */
192208
void dDlst_2DTri_c::draw() {
209+
f32 f4;
210+
f32 f5;
193211
f32 f2 = cM_scos(field_0xc);
194212
f32 f3 = cM_ssin(field_0xc);
195213
s16 x[3];
196214
s16 y[3];
197215
int r8 = 0;
198216
for (int i = 0; i < 3; i++) {
199-
f32 f4 = field_0x10 * cM_ssin(r8);
200-
f32 f5 = field_0x14 * cM_scos(r8);
217+
f4 = field_0x10 * cM_ssin(r8);
218+
f5 = field_0x14 * cM_scos(r8);
201219
x[i] = field_0x4 + s16(f4 * f2 + f5 * f3);
202220
y[i] = field_0x6 + s16(f5 * f2 - f4 * f3);
203221
r8 -= 0x5555;
@@ -213,7 +231,7 @@ void dDlst_2DTri_c::draw() {
213231
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
214232
GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR);
215233
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
216-
GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0);
234+
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
217235
GXSetCurrentMtx(GX_PNMTX0);
218236
GXBegin(GX_TRIANGLES, GX_VTXFMT0, 3);
219237
GXPosition3s16(x[0], y[0], 0);
@@ -236,7 +254,7 @@ void dDlst_2DQuad_c::draw() {
236254
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
237255
GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR);
238256
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
239-
GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0);
257+
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
240258
GXSetCurrentMtx(GX_PNMTX0);
241259
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
242260
GXPosition3s16((s32)mPosX, (s32)mPosY, 0);
@@ -261,7 +279,7 @@ void dDlst_2DPoint_c::draw() {
261279
GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR);
262280
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
263281
GXSetPointSize(field_0xc, GX_TO_ZERO);
264-
GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0);
282+
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
265283
GXSetCurrentMtx(GX_PNMTX0);
266284
GXBegin(GX_POINTS, GX_VTXFMT0, 1);
267285
GXPosition3s16(field_0x4, field_0x6, 0);
@@ -306,7 +324,7 @@ void dDlst_2DT_c::draw() {
306324
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
307325
GXSetCullMode(GX_CULL_NONE);
308326
GXSetDither(GX_TRUE);
309-
GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0);
327+
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
310328
GXSetChanMatColor(GX_COLOR0A0, l_color);
311329
GXSetClipMode(GX_CLIP_DISABLE);
312330
GXSetCurrentMtx(GX_PNMTX0);
@@ -358,7 +376,7 @@ void dDlst_2DT2_c::draw() {
358376
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
359377
GXSetCullMode(GX_CULL_NONE);
360378
GXSetDither(GX_TRUE);
361-
GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0);
379+
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
362380
GXSetClipMode(GX_CLIP_DISABLE);
363381
GXSetCurrentMtx(GX_PNMTX0);
364382
f32 f31 = field_0x24 + field_0x2c;
@@ -430,10 +448,13 @@ void dDlst_2DT2_c::draw() {
430448
f27 = 1.0f;
431449
}
432450
f32 f24;
451+
f32 stack_38;
433452
if (mScaleY == 0.0f) {
434453
f24 = 1.0f;
454+
stack_38 = 1.0f;
435455
} else {
436456
f24 = 0.5f - (1.0f / mScaleY) * 0.5f;
457+
stack_38 = (1.0f / mScaleY) * 0.5f + 0.5f;
437458
}
438459
GXBegin(GX_QUADS, GX_VTXFMT0, 8);
439460
GXPosition2f32(field_0x24, field_0x28);
@@ -700,6 +721,7 @@ void dDlst_2DM_c::draw() {
700721
s16 r25 = r27 + s16(field_0x1e * f4);
701722
s16 r24 = r26 + s16(field_0x20 * f3);
702723
GXTexObj tex[2];
724+
void** stack_1c = &field_0x18;
703725
GXInitTexObj(&tex[0], field_0x18, field_0x1e, field_0x20, GXTexFmt(field_0x1c), GX_CLAMP, GX_CLAMP, 0);
704726
GXInitTexObjLOD(&tex[0], GX_LINEAR, GX_LINEAR, 0.0, 0.0, 0.0, 0, 0, GX_ANISO_1);
705727
GXTexWrapMode wrap = field_0xc ? GX_REPEAT : GX_CLAMP;
@@ -762,6 +784,7 @@ void dDlst_2Dm_c::draw() {
762784
int r26 = field_0x7e * f30;
763785
s16 r25 = r27 + s16(f31 * GXGetTexObjWidth(&field_0x1c));
764786
s16 r24 = r26 + s16(f30 * GXGetTexObjHeight(&field_0x1c));
787+
GXTexObj* stack_18 = &field_0x1c;
765788
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0);
766789
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBA4, 8);
767790
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX1, GX_CLR_RGBA, GX_RGBA4, 8);
@@ -796,7 +819,7 @@ void dDlst_2Dm_c::draw() {
796819
GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV);
797820
GXSetAlphaCompare(GX_GREATER, 0, GX_AOP_OR, GX_GREATER, 0);
798821
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
799-
GXLoadPosMtxImm(g_mDoMtx_identity, GX_PNMTX0);
822+
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
800823
GXSetCurrentMtx(0);
801824
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
802825
GXPosition3s16((s32)field_0x4, (s32)field_0x6, 0);
@@ -831,7 +854,7 @@ void dDlst_2DMt_c::draw() {
831854
GXLoadTexObj(r27->getTexObj(), GXTexMapID(r28));
832855
GXSetVtxAttrFmt(GX_VTXFMT0, GXAttr(GX_VA_TEX0 + r28), GX_CLR_RGBA, GX_RGBA6, 0);
833856
GXSetVtxDesc(GXAttr(GX_VA_TEX0 + r28), GX_DIRECT);
834-
GXSetTevColor(GXTevRegID(GX_TEVREG0 + r28), r27->mColor);
857+
GXSetTevColor(GXTevRegID(GX_TEVREG0 + r28), *r27->getColor());
835858
GXSetTexCoordGen(GXTexCoordID(r28), GX_TG_MTX2x4, GXTexGenSrc(GX_TG_TEX0 + r28), GX_IDENTITY);
836859
GXSetTevOrder(GXTevStageID(r28), GXTexCoordID(r28), GXTexMapID(r28), GX_COLOR_NULL);
837860
GXSetTevColorIn(GXTevStageID(r28), GX_CC_ZERO, GXTevColorArg(GX_CC_C0 + r28*2), GX_CC_TEXC, r28 ? GX_CC_CPREV : GX_CC_ZERO);
@@ -852,51 +875,42 @@ void dDlst_2DMt_c::draw() {
852875
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
853876
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
854877
GXPosition3s16(field_0xc, field_0xe, 0);
855-
dDlst_2DMt_tex_c* tmp = field_0x8;
878+
r27 = field_0x8;
856879
for (int i = 0; i < field_0x4; i++) {
857-
if (tmp->check()) {
858-
GXTexCoord2f32(tmp->getS(), tmp->getT());
880+
if (r27->check()) {
881+
GXTexCoord2f32(r27->getS(), r27->getT());
859882
}
860-
tmp++;
883+
r27++;
861884
}
862885
GXPosition3s16(field_0x10, field_0xe, 0);
863-
tmp = field_0x8;
886+
r27 = field_0x8;
864887
for (int i = 0; i < field_0x4; i++) {
865-
if (tmp->check()) {
866-
GXTexCoord2f32(tmp->getS() + tmp->getSw(), tmp->getT());
888+
if (r27->check()) {
889+
GXTexCoord2f32(r27->getS() + r27->getSw(), r27->getT());
867890
}
868-
tmp++;
891+
r27++;
869892
}
870893
GXPosition3s16(field_0x10, field_0x12, 0);
871-
tmp = field_0x8;
894+
r27 = field_0x8;
872895
for (int i = 0; i < field_0x4; i++) {
873-
if (tmp->check()) {
874-
GXTexCoord2f32(tmp->getS() + tmp->getSw(), tmp->getT() + tmp->getTw());
896+
if (r27->check()) {
897+
GXTexCoord2f32(r27->getS() + r27->getSw(), r27->getT() + r27->getTw());
875898
}
876-
tmp++;
899+
r27++;
877900
}
878901
GXPosition3s16(field_0xc, field_0x12, 0);
879-
tmp = field_0x8;
902+
r27 = field_0x8;
880903
for (int i = 0; i < field_0x4; i++) {
881-
if (tmp->check()) {
882-
GXTexCoord2f32(tmp->getS(), tmp->getT() + tmp->getTw());
904+
if (r27->check()) {
905+
GXTexCoord2f32(r27->getS(), r27->getT() + r27->getTw());
883906
}
884-
tmp++;
907+
r27++;
885908
}
886909
GXEnd();
887910
dComIfGp_getCurrentGrafPort()->setup2D();
888911
}
889912
}
890913

891-
/* 800539DC-80053A00 04E31C 0024+00 0/0 1/0 0/0 .text getTexture__10J2DPictureCFUc */
892-
// Should be inline
893-
JUTTexture* J2DPicture::getTexture(u8 param_0) const {
894-
if (param_0 < 2) {
895-
return mTexture[param_0];
896-
}
897-
return NULL;
898-
}
899-
900914
/* 80053A00-80053A9C 04E340 009C+00 0/0 1/1 0/0 .text __ct__10dDlst_2D_cFP7ResTIMGssssUc
901915
*/
902916
dDlst_2D_c::dDlst_2D_c(ResTIMG* i_timg, s16 i_posX, s16 i_posY, s16 i_sizeX, s16 i_sizeY,
@@ -932,9 +946,9 @@ f32 cM_rnd_c::get() {
932946
seed0 = seed0 * 171 % 30269;
933947
seed1 = seed1 * 172 % 30307;
934948
seed2 = seed2 * 170 % 30323;
935-
f32 rm = fmodf((seed0 / 30269.0f) + (seed1 / 30307.0f) + (seed2 / 30323.0f), 1.0);
949+
f32 newSeed = (seed0 / 30269.0f) + (seed1 / 30307.0f) + (seed2 / 30323.0f);
936950

937-
return fabsf(rm);
951+
return fabsf(fmodf(newSeed, 1.0));
938952
}
939953

940954
/* 80053DE0-80053E18 04E720 0038+00 1/1 0/0 0/0 .text getF__8cM_rnd_cFf */
@@ -971,7 +985,7 @@ void dDlst_effectLine_c::draw() {
971985
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
972986
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
973987
GXSetCullMode(GX_CULL_NONE);
974-
GXLoadPosMtxImm(j3dSys.mViewMtx, GX_PNMTX0);
988+
GXLoadPosMtxImm(j3dSys.getViewMtx(), GX_PNMTX0);
975989
GXSetClipMode(GX_CLIP_ENABLE);
976990
GXSetCurrentMtx(0);
977991
int r31 = getRndValue(field_0x20, field_0x22);
@@ -989,7 +1003,8 @@ void dDlst_effectLine_c::draw() {
9891003
local_74.z = field_0x10.z;
9901004
cMtx_multVec(dComIfGd_getInvViewMtx(), &local_68, &local_68);
9911005
cMtx_multVec(dComIfGd_getInvViewMtx(), &local_74, &local_74);
992-
GXSetLineWidth(getRndValue(field_0x24, field_0x26), GX_TO_ZERO);
1006+
tmp = getRndValue(field_0x24, field_0x26);
1007+
GXSetLineWidth(tmp, GX_TO_ZERO);
9931008
GXBegin(GX_LINES, GX_VTXFMT0, 2);
9941009
GXPosition3f32(local_68.x, local_68.y, local_68.z);
9951010
GXPosition3f32(local_74.x, local_74.y, local_74.z);
@@ -1026,6 +1041,7 @@ int dDlst_shadowPoly_c::set(cBgD_Vtx_t* i_vtx, u16 param_1, u16 param_2, u16 par
10261041

10271042
dDlst_shadowTri_c* dst = getTri() + mCount;
10281043

1044+
cBgD_Vtx_t* vtx = i_vtx;
10291045
cXyz b(*i_plane->GetNP());
10301046
f32 temp_f3 = (1.0f - fabsf(b.y));
10311047
temp_f3 *= temp_f3;
@@ -1034,9 +1050,9 @@ int dDlst_shadowPoly_c::set(cBgD_Vtx_t* i_vtx, u16 param_1, u16 param_2, u16 par
10341050
b.z *= temp_f3;
10351051
b *= 2.0f;
10361052

1037-
VECAdd(&i_vtx[param_1], &b, &dst->mPos[0]);
1038-
VECAdd(&i_vtx[param_2], &b, &dst->mPos[1]);
1039-
VECAdd(&i_vtx[param_3], &b, &dst->mPos[2]);
1053+
PSVECAdd(&vtx[param_1], &b, &dst->mPos[0]);
1054+
PSVECAdd(&vtx[param_2], &b, &dst->mPos[1]);
1055+
PSVECAdd(&vtx[param_3], &b, &dst->mPos[2]);
10401056
mCount++;
10411057
return 1;
10421058
}
@@ -1062,7 +1078,8 @@ static J3DDrawBuffer* J3DDrawBuffer__create(u32 size) {
10621078
J3DDrawBuffer* buffer = new J3DDrawBuffer();
10631079

10641080
if (buffer) {
1065-
if (buffer->allocBuffer(size) == kJ3DError_Success) {
1081+
J3DError error = buffer->allocBuffer(size);
1082+
if (error == kJ3DError_Success) {
10661083
return buffer;
10671084
}
10681085
delete buffer;
@@ -1079,15 +1096,18 @@ void dDlst_shadowReal_c::reset() {
10791096
/* 80054500-800545D4 04EE40 00D4+00 1/1 0/0 0/0 .text imageDraw__18dDlst_shadowReal_cFPA4_f */
10801097
void dDlst_shadowReal_c::imageDraw(Mtx param_0) {
10811098
GXSetProjection(mRenderProjMtx, GX_ORTHOGRAPHIC);
1099+
JUT_ASSERT(1916, mModelNum);
1100+
J3DModelData* model_data;
10821101
J3DModel** models = mpModels;
1102+
J3DShapePacket* shape_pkt;
10831103

10841104
for (u8 i = 0; i < mModelNum; i++) {
1085-
J3DModelData* model_data = (*models)->getModelData();
1105+
model_data = (*models)->getModelData();
10861106
model_data->getShapeNodePointer(0)->loadPreDrawSetting();
10871107

10881108
for (u16 j = 0; j < model_data->getShapeNum(); j++) {
10891109
if (!model_data->getShapeNodePointer(j)->checkFlag(1)) {
1090-
J3DShapePacket* shape_pkt = (*models)->getShapePacket(j);
1110+
shape_pkt = (*models)->getShapePacket(j);
10911111
shape_pkt->setBaseMtxPtr(&mViewMtx);
10921112
shape_pkt->drawFast();
10931113
shape_pkt->setBaseMtxPtr((Mtx*)param_0);

0 commit comments

Comments
 (0)