Matched REL/m405 + some code cleanup

This commit is contained in:
mrshigure 2024-05-15 18:56:45 -07:00
parent 440e47ec2c
commit 66ba618452
34 changed files with 2683 additions and 216 deletions

View file

@ -5,6 +5,7 @@
#include "game/objsub.h"
#include "game/sprite.h"
#include "game/window.h"
#include "game/wipe.h"
#include "rel_sqrt_consts.h"
#include "REL/E3SetupDLL.h"
@ -69,7 +70,7 @@ void E3MGSelectInit()
mgPicObj = omAddObjEx(var_r31, 31, 0, 0, -1, CreateMGPic);
mgPicObj->work[0] = mgDefault;
E3LightInit();
WipeCreate(1, 0, -1);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1);
}
s16 lbl_2_data_36[] = { 0x0023, 0x0026, 0x0029, 0x002C };

View file

@ -281,7 +281,7 @@ void fn_1_39C(omObjData *object)
{
fn_1_37C(0);
lbl_1_bss_24 = 60;
WipeCreate(1, 0, 60);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60);
object->func = fn_1_400;
}
@ -326,7 +326,7 @@ void fn_1_400(omObjData *object)
if (!MGSeqStatGet(lbl_1_bss_C)) {
fn_1_37C(5);
WipeColorSet(255, 255, 255);
WipeCreate(2, 0, 30);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
lbl_1_bss_24 = 60;
}
case 5:
@ -334,7 +334,7 @@ void fn_1_400(omObjData *object)
break;
}
fn_1_37C(6);
WipeCreate(1, 0, 60);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60);
break;
case 6:
if (WipeStatGet()) {
@ -362,14 +362,14 @@ void fn_1_400(omObjData *object)
if (--lbl_1_bss_24) {
break;
}
WipeCreate(2, 0, 60);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
object->func = fn_1_784;
break;
default:
break;
}
if (omSysExitReq && !WipeStatGet()) {
WipeCreate(2, 0, 60);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
object->func = fn_1_784;
}
}

2465
src/REL/m405Dll/main.c Executable file

File diff suppressed because it is too large Load diff

View file

@ -109,7 +109,7 @@ void fn_1_4980(Process* arg0) {
fn_1_3AC8(lbl_1_bss_3980);
fn_1_41CC(lbl_1_bss_3980);
fn_1_5C5C(lbl_1_bss_3980, lbl_1_bss_3978);
WipeCreate(1, 0, 0x3C);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60);
temp_r31->unk_06 = -1;
temp_r31->unk_08 = -1;
temp_r31->unk_24 = 0;
@ -127,7 +127,7 @@ void fn_1_4B7C(void) {
temp_r31 = lbl_1_bss_397C->data;
if (temp_r31->unk_04 == 0) {
WipeCreate(2, 0, 60);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
temp_r31->unk_04++;
}
if (WipeStatGet() == 0) {

View file

@ -47,7 +47,7 @@ void ModuleProlog(void) {
}
static void fn_1_2BC(omObjData *arg0) {
WipeCreate(1, 0, 10);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10);
arg0->func = fn_1_300;
}

View file

@ -59,7 +59,7 @@ void ModuleProlog(void)
lbl_1_bss_9A0 = omAddObjEx(prc, 0x7FDA, 0, 0, -1, omOutView);
Hu3DBGColorSet(0x20U, 0x80U, 0x80U);
WipeCreate(1, 0, 0x1E);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30);
}
// -------------------------------------------------------------------------- //

View file

@ -46,7 +46,7 @@ void fn_1_34B0()
lbl_1_bss_9A8 = HuPrcCreate(fn_1_46F0, 0x64U, 0x2000U, 0);
Hu3DBGColorSet(0x20U, 0x80U, 0x80U);
WipeCreate(1, 0, 0x1E);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30);
}
// -------------------------------------------------------------------------- //

View file

@ -159,7 +159,7 @@ static void fn_1_5EC(omObjData *arg0) {
arg0->unk10 = 2;
/* fallthrough */
case 2:
WipeCreate(2, 0, 0x3C);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
HuAudFadeOut(1000);
arg0->unk10 = 3;
/* fallthrough */
@ -191,7 +191,7 @@ static void fn_1_6E8(void) {
espPosSet(temp_r31, 288.0f, 240.0f);
espAttrReset(temp_r31, 4);
Hu3DBGColorSet(0, 0, 0);
WipeCreate(1, 0, 0xA);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}
@ -199,7 +199,7 @@ static void fn_1_6E8(void) {
if (SLSave() == 0) {
GWSaveModeSet(1);
}
WipeCreate(2, 0, 0x14);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}

View file

@ -73,7 +73,7 @@ static void fn_1_2FB0(omObjData *arg0) {
arg0->unk10 = 1;
/* fallthrough */
case 1:
WipeCreate(1, -1, 0x3C);
WipeCreate(WIPE_MODE_IN, -1, 60);
arg0->unk10 = 2;
break;
case 2:

View file

@ -160,7 +160,7 @@ void fn_1_5EC(omObjData *object)
}
object->unk10 = 2;
case 2:
WipeCreate(2, 0, 60);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
HuAudFadeOut(1000);
object->unk10 = 3;
break;

View file

@ -816,7 +816,7 @@ void fn_1_33AC(omObjData *object)
var_r31->unk_254 = 1.0f / 360.0f;
object->unk10 = 1;
case 1:
WipeCreate(1, 0, 120);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 120);
object->unk10 = 2;
case 2:
var_f31 = sind(90.0f * var_r31->unk_24C);

View file

@ -44,7 +44,7 @@ void ModuleProlog(void)
Process *sp8 = omInitObjMan(0x32, 0x2000);
Hu3DBGColorSet(0, 0, 0);
HuPrcChildCreate(SubchrMain, 4096, 12288, 0, HuPrcCurrentGet());
WipeCreate(1, 0, -1);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1);
}
static u16 GetBtns(void)
@ -97,7 +97,7 @@ static void SubchrMain()
}
}
HuAudFadeOut(30);
WipeCreate(2, 0, -1);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
HuPrcSleep(wipeData.duration+1.0f);
MGSeqKillAll();
omOvlGotoEx(OVL_M433, 1, 0, 0);
@ -149,7 +149,7 @@ static void SubchrMain()
}
if(GetBtns() & PAD_BUTTON_B) {
HuAudFadeOut(30);
WipeCreate(2, 0, -1);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
HuPrcSleep(wipeData.duration+1.0f);
MGSeqKillAll();
omOvlReturnEx(1, 1);

View file

@ -398,7 +398,7 @@ void fn_1_3968(s32 arg0) {
if (var_r28 == 0) {
if (sp8 == 0x78U) {
WipeColorSet(0, 0, 0);
WipeCreate(2, 0, -1);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
var_r28 = 1;
}
} else if (WipeStatGet() == 0) {
@ -415,7 +415,7 @@ void fn_1_3E88(s32 arg0) {
lbl_1_bss_7D = 1;
BoardStatusShowSetForce(arg0);
BoardStatusShowSet(arg0, 1);
WipeCreate(1, 0, 0x15);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 21);
while (WipeStatGet() != 0) {
HuPrcVSleep();
@ -495,7 +495,7 @@ void fn_1_3F5C(s32 arg0) {
BoardStatusItemSet(0);
HuPrcSleep(2);
BoardStatusItemSet(1);
WipeCreate(1, 0, 0x15);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 21);
while (WipeStatGet() != 0) {
HuPrcVSleep();
@ -1019,7 +1019,7 @@ void fn_1_5C5C(omObjData* arg0, w03UnkStruct5* arg1) {
if ((BoardModelMotionTimeGet(lbl_1_data_314) >= 410.0f) && (arg1->unk00_bit3) == 0) {
WipeColorSet(0, 0, 0);
WipeCreate(2, 0, -1);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
arg1->unk00_bit3 = 1;
BoardAudSeqFadeOut(1, 0x3E8);
}

View file

@ -662,19 +662,20 @@ void fn_1_2B44(void) {
GXSetBlendMode(GX_BM_BLEND, GX_BL_INVDSTCLR, GX_BL_SRCALPHA, GX_LO_NOOP);
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_S, GX_RGBX8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_RGBX8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);
GXSetZMode(1, GX_LEQUAL, 0);
GXSetAlphaUpdate(1);
GXSetColorUpdate(1);
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
GXPosition2u16(temp_f28, temp_f27);
GXPosition2f32(0.0f, 0.0f);
GXTexCoord2f32(0.0f, 0.0f);
GXPosition2u16(temp_f30, temp_f27);
GXPosition2f32(1.0f, 0.0f);
GXTexCoord2f32(1.0f, 0.0f);
GXPosition2u16(temp_f30, temp_f29);
GXPosition2f32(1.0f, 1.0f);
GXTexCoord2f32(1.0f, 1.0f);
GXPosition2u16(temp_f28, temp_f29);
GXPosition2f32(0.0f, 1.0f);
GXTexCoord2f32(0.0f, 1.0f);
GXEnd();
GXSetChanMatColor(GX_COLOR0A0, sp1C);
}

View file

@ -147,21 +147,21 @@ void fn_1_155C(void) {
BoardCameraTargetModelSet(lbl_1_data_164);
BoardCameraOffsetSet(0.0f, 200.0f, 0.0f);
BoardCameraMotionWait();
HuPrcSleep(0x3C);
HuPrcSleep(60);
WipeColorSet(0, 0, 0);
WipeCreate(2, 0, 0x30);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 48);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}
fn_1_14D0();
fn_1_13D4();
WipeCreate(1, 0, 0x30);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 48);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}
HuPrcSleep(0x3C);
HuPrcSleep(60);
BoardCameraTargetPlayerSet(lbl_1_bss_28);
BoardCameraMotionWait();
}

View file

@ -37,7 +37,7 @@ void THPGXYuv2RgbSetup(GXRenderModeObj *obj, GXColor *arg1, Mtx arg2) {
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
GXSetVtxAttrFmt(GX_VTXFMT7, GX_VA_POS, GX_TEX_ST, GX_RGBA4, 0);
GXSetVtxAttrFmt(GX_VTXFMT7, GX_VA_POS, GX_POS_XYZ, GX_RGBA4, 0);
GXSetVtxAttrFmt(GX_VTXFMT7, GX_VA_TEX0, GX_TEX_ST, GX_RGBX8, 0);
GXSetNumTevStages(5);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR_NULL);

View file

@ -197,7 +197,7 @@ static void ExecBattle(void) {
}
if (_CheckFlag(0x10004)) {
BoardStatusItemSet(1);
WipeCreate(1, 0, -1);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}
@ -296,7 +296,7 @@ static void ExecBattle(void) {
}
_SetFlag(0x1000E);
WipeColorSet(0xFF, 0xFF, 0xFF);
WipeCreate(2, 0, -1);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}

View file

@ -683,7 +683,7 @@ static void BallRenderHook(void) {
GXSetScissor(0, 0, 160, 160);
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0);
sp10.r = 0;
sp10.g = 0;
sp10.b = 0;

View file

@ -177,7 +177,7 @@ static void ExecMGSetup(void) {
sp54.z = 0.0f;
BoardCameraMotionStartEx(-1, NULL, &sp54, 1300.0f, -1.0f, 21);
BoardCameraMotionWait();
WipeCreate(1, 0, 0x15);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 21);
while (WipeStatGet() != 0) {
HuPrcVSleep();
@ -268,7 +268,7 @@ static void ExecMGSetup(void) {
BoardAudSeqFadeOut(0, 0x3E8U);
_SetFlag(0x1000EU);
WipeColorSet(0xFFU, 0xFFU, 0xFFU);
WipeCreate(2, 0, -1);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}

View file

@ -103,7 +103,7 @@ void BoardViewOverheadExec(s32 arg0) {
}
_SetFlag(0x1001C);
WipeColorSet(0xFF, 0xFF, 0xFF);
WipeCreate(2, 1, 1);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_CROSS, 1);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}
@ -314,7 +314,7 @@ static void ExecOverheadView(void) {
HuPrcVSleep();
SetTargetView();
WipeColorSet(0xFF, 0xFF, 0xFF);
WipeCreate(1, 1, 0xA);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_CROSS, 10);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}

View file

@ -148,7 +148,7 @@ static void WarpLaunch(s32 player) {
BoardPlayerPosSetV(player, &warpPos);
if (!(warpPos.y < warpYFloor)) {
WipeColorSet(0U, 0U, 0U);
WipeCreate(2, 0, 21);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 21);
while (WipeStatGet() != 0) {
HuPrcVSleep();
@ -182,7 +182,7 @@ static void WarpStartImpact(s32 player) {
BoardCameraMoveSet(0);
BoardCameraTargetSpaceSet(warpSpace);
HuPrcSleep(1);
WipeCreate(1, 0, 0x15);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 21);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}

View file

@ -2051,7 +2051,7 @@ static void UpdateNpcEffect(void) {
}
}
s32 CharModelStepTypeSet(s16 character, s32 arg1) {
void CharModelStepTypeSet(s16 character, s32 arg1) {
UnkCharInstanceStruct *temp_r31 = &charInstance[character];
temp_r31->unkB0 = arg1;

View file

@ -823,10 +823,10 @@ static void _Hu3DParticleAttrReset(ModelData *arg0, Mtx arg1) {
}
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0);
GXSetArray(GX_VA_POS, temp_r31->unk_4C, 0xC);
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
GXSetArray(GX_VA_CLR0, (u8*) temp_r31->unk_48 + 0x40, 0x44);
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);

View file

@ -503,19 +503,19 @@ static void FaceDraw(HsfdrawStruct00 *arg0, HsfFace *arg1) {
vtxModeBak = var_r22;
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0);
GXSetArray(GX_VA_POS, temp_r28->data.vertex->data, 0xC);
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
if (temp_r29->hsfData->cenvCnt == 0) {
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGB8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGB8, 0);
GXSetArray(GX_VA_NRM, temp_r28->data.normal->data, 3);
} else {
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGBA6, 0);
GXSetArray(GX_VA_NRM, temp_r28->data.normal->data, 0xC);
}
if (var_r22 & 4) {
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
GXSetArray(GX_VA_CLR0, temp_r28->data.color->data, 4);
}
GXSetZCompLoc(1);
@ -576,18 +576,18 @@ static void FaceDraw(HsfdrawStruct00 *arg0, HsfFace *arg1) {
vtxModeBak = var_r22;
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0);
GXSetArray(GX_VA_POS, temp_r28->data.vertex->data, 0xC);
if (var_r22 & 2) {
GXSetVtxDesc(GX_VA_NBT, GX_DIRECT);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NBT, GX_TEX_ST, GX_RGBA4, 8);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NBT, GX_NRM_NBT, GX_RGBA4, 8);
} else {
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
if (temp_r29->hsfData->cenvCnt == 0) {
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGB8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGB8, 0);
GXSetArray(GX_VA_NRM, temp_r28->data.normal->data, 3);
} else {
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGBA6, 0);
GXSetArray(GX_VA_NRM, temp_r28->data.normal->data, 0xC);
}
}
@ -596,7 +596,7 @@ static void FaceDraw(HsfdrawStruct00 *arg0, HsfFace *arg1) {
GXSetArray(GX_VA_TEX0, temp_r28->data.st->data, 8);
if (var_r22 & 4) {
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
GXSetArray(GX_VA_CLR0, temp_r28->data.color->data, 4);
}
GXSetZCompLoc(0);
@ -1668,19 +1668,19 @@ static void FaceDrawShadow(HsfdrawStruct00 *arg0, HsfFace *arg1) {
vtxModeBak = var_r30;
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0);
GXSetArray(GX_VA_POS, temp_r31->data.vertex->data, 0xC);
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
if (temp_r28->hsfData->cenvCnt == 0) {
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGB8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGB8, 0);
GXSetArray(GX_VA_NRM, temp_r31->data.normal->data, 3);
} else {
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGBA6, 0);
GXSetArray(GX_VA_NRM, temp_r31->data.normal->data, 0xC);
}
if (var_r30 & 4) {
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
GXSetArray(GX_VA_CLR0, temp_r31->data.color->data, 4);
}
GXSetZCompLoc(1);
@ -1701,18 +1701,18 @@ static void FaceDrawShadow(HsfdrawStruct00 *arg0, HsfFace *arg1) {
vtxModeBak = var_r30;
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0);
GXSetArray(GX_VA_POS, temp_r31->data.vertex->data, 0xC);
if (var_r30 & 2) {
GXSetVtxDesc(GX_VA_NBT, GX_DIRECT);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NBT, GX_TEX_ST, GX_RGBA4, 8);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NBT, GX_NRM_NBT, GX_RGBA4, 8);
} else {
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
if (temp_r28->hsfData->cenvCnt == 0) {
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGB8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGB8, 0);
GXSetArray(GX_VA_NRM, temp_r31->data.normal->data, 3);
} else {
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGBA6, 0);
GXSetArray(GX_VA_NRM, temp_r31->data.normal->data, 0xC);
}
}
@ -1721,7 +1721,7 @@ static void FaceDrawShadow(HsfdrawStruct00 *arg0, HsfFace *arg1) {
GXSetArray(GX_VA_TEX0, temp_r31->data.st->data, 8);
if (var_r30 & 4) {
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
GXSetArray(GX_VA_CLR0, temp_r31->data.color->data, 4);
}
GXSetZCompLoc(0);

View file

@ -433,9 +433,9 @@ static void MesDispFunc(HuSprite *sprite) {
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_S, GX_RGBA8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGB, GX_RGBA8, 0);
GXSetCullMode(GX_CULL_NONE);
GXSetNumTexGens(1);
GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY);