From 579e3dd2e2ecbb12944b881abc92235204584234 Mon Sep 17 00:00:00 2001 From: kabiskac Date: Fri, 2 Aug 2024 01:43:10 +0200 Subject: [PATCH] present cleanups --- src/REL/present/camera.c | 57 +-- src/REL/present/common.c | 154 +++---- src/REL/present/init.c | 81 ++-- src/REL/present/main.c | 267 ++++++----- src/REL/present/present.c | 904 ++++++++++++++++++++------------------ 5 files changed, 733 insertions(+), 730 deletions(-) diff --git a/src/REL/present/camera.c b/src/REL/present/camera.c index 95c6a85a..f6b2e29f 100644 --- a/src/REL/present/camera.c +++ b/src/REL/present/camera.c @@ -9,11 +9,8 @@ void fn_1_C20(omObjData *object); omObjData *fn_1_6B4(void) { - omObjData *var_r30; - UnkPresentCameraStruct *var_r31; - - var_r30 = omAddObjEx(lbl_1_bss_4, 1001, 0, 0, 3, fn_1_BF8); - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 156, MEMORY_DEFAULT_NUM); + omObjData *var_r30 = omAddObjEx(lbl_1_bss_4, 1001, 0, 0, 3, fn_1_BF8); + UnkPresentCameraStruct *var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 156, MEMORY_DEFAULT_NUM); var_r30->data = var_r31; var_r31->pos.x = 0.0f; @@ -48,9 +45,8 @@ void fn_1_8F0(omObjData *object) void fn_1_920(omObjData *object, float arg8, float arg9, float argA, s32 arg1) { - UnkPresentCameraStruct *var_r31; + UnkPresentCameraStruct *var_r31 = object->data; - var_r31 = object->data; var_r31->unk_58.x = arg8; var_r31->unk_58.y = arg9; var_r31->unk_58.z = argA; @@ -62,9 +58,8 @@ void fn_1_920(omObjData *object, float arg8, float arg9, float argA, s32 arg1) void fn_1_9A4(omObjData *object, float arg8, float arg9, float argA, s32 arg1) { - UnkPresentCameraStruct *var_r31; + UnkPresentCameraStruct *var_r31 = object->data; - var_r31 = object->data; var_r31->unk_64.x = arg8; var_r31->unk_64.y = arg9; var_r31->unk_64.z = argA; @@ -76,9 +71,8 @@ void fn_1_9A4(omObjData *object, float arg8, float arg9, float argA, s32 arg1) void fn_1_A28(omObjData *object, s32 arg1, float arg8, float arg9, float argA) { - UnkPresentCameraStruct *var_r31; + UnkPresentCameraStruct *var_r31 = object->data; - var_r31 = object->data; var_r31->unk_64.y = argA; var_r31->unk_7C = arg8; var_r31->unk_80 = arg9; @@ -92,29 +86,24 @@ void fn_1_A28(omObjData *object, s32 arg1, float arg8, float arg9, float argA) float fn_1_AAC(omObjData *object) { - UnkPresentCameraStruct *var_r31; - float var_f31; + UnkPresentCameraStruct *var_r31 = object->data; - var_r31 = object->data; - var_f31 = var_r31->unk_24; + float var_f31 = var_r31->unk_24; return var_f31; } float fn_1_ADC(omObjData *object) { - UnkPresentCameraStruct *var_r31; - float var_f31; + UnkPresentCameraStruct *var_r31 = object->data; - var_r31 = object->data; - var_f31 = var_r31->unk_28; + float var_f31 = var_r31->unk_28; return var_f31; } void fn_1_B0C(omObjData *object, float *arg1, float *arg2, float *arg3) { - UnkPresentCameraStruct *var_r31; + UnkPresentCameraStruct *var_r31 = object->data; - var_r31 = object->data; *arg1 = var_r31->pos.x; *arg2 = var_r31->pos.y; *arg3 = var_r31->pos.z; @@ -122,9 +111,8 @@ void fn_1_B0C(omObjData *object, float *arg1, float *arg2, float *arg3) void fn_1_B3C(omObjData *object, float *arg1, float *arg2, float *arg3) { - UnkPresentCameraStruct *var_r31; + UnkPresentCameraStruct *var_r31 = object->data; - var_r31 = object->data; *arg1 = var_r31->target.x; *arg2 = var_r31->target.y; *arg3 = var_r31->target.z; @@ -132,13 +120,11 @@ void fn_1_B3C(omObjData *object, float *arg1, float *arg2, float *arg3) s32 fn_1_B6C(omObjData *object) { - UnkPresentCameraStruct *var_r31; - s32 var_r30; - s32 var_r29; + UnkPresentCameraStruct *var_r31 = object->data; + + s32 var_r30 = 1; + s32 var_r29 = 1; - var_r31 = object->data; - var_r30 = 1; - var_r29 = 1; if (!(var_r31->unk_8C < 1.0f) && !(var_r31->unk_94 < 1.0f)) { var_r29 = 0; } @@ -155,14 +141,14 @@ void fn_1_BF8(omObjData *object) void fn_1_C20(omObjData *object) { - UnkPresentCameraStruct *var_r31; float var_f31; float var_f30; float var_f29; float var_f28; float var_f27; - var_r31 = object->data; + UnkPresentCameraStruct *var_r31 = object->data; + if (var_r31->unk_84 < 1.0f) { var_f28 = sind(90.0f * var_r31->unk_84); var_r31->pos.x = var_r31->unk_2C.x + var_f28 * (var_r31->unk_58.x - var_r31->unk_2C.x); @@ -211,10 +197,9 @@ void fn_1_C20(omObjData *object) void fn_1_1198(omObjData *object) { - UnkPresentCameraStruct *var_r31; - if (HuPadBtn[0] & PAD_BUTTON_B) { - var_r31 = object->data; + UnkPresentCameraStruct *var_r31 = object->data; + var_r31->target.x = var_r31->target.x + (0.5f * HuPadStkX[0]); var_r31->target.y = var_r31->target.y + (0.5f * HuPadStkY[0]); var_r31->pos.z = var_r31->pos.z + (0.5f * HuPadTrigL[0]); @@ -226,9 +211,7 @@ void fn_1_1198(omObjData *object) void fn_1_1398(omObjData *object) { - UnkPresentCameraStruct *var_r31; - - var_r31 = object->data; + UnkPresentCameraStruct *var_r31 = object->data; print8(32, 64, 1.5f, "AT : x=%.2f y=%.2f z=%.2f", var_r31->target.x, var_r31->target.y, var_r31->target.z); print8(32, 80, 1.5f, "EYE : x=%.2f y=%.2f z=%.2f", var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); print8(32, 96, 1.5f, "R : %.2f DEG: %.2f", var_r31->unk_24, var_r31->unk_28); diff --git a/src/REL/present/common.c b/src/REL/present/common.c index c06f944d..02e984fa 100644 --- a/src/REL/present/common.c +++ b/src/REL/present/common.c @@ -6,8 +6,8 @@ #include "REL/present.h" -void fn_1_4620(omObjData *arg0); -void fn_1_4880(omObjData *arg0); +void fn_1_4620(omObjData *object); +void fn_1_4880(omObjData *object); omObjFunc lbl_1_data_1A0[] = { NULL, fn_1_4620, fn_1_4880 }; @@ -18,14 +18,12 @@ float fn_1_4CEC(float arg8, float arg9, float argA); omObjData *fn_1_42F4(void) { - omObjData *var_r31; - s32 var_lr; s32 var_r29; - UnkPresentStruct5 *var_r30; - var_r31 = omAddObjEx(lbl_1_bss_4, 1002, 1, 3, 2, NULL); - var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, 88, MEMORY_DEFAULT_NUM); + omObjData *var_r31 = omAddObjEx(lbl_1_bss_4, 1002, 1, 3, 2, NULL); + UnkPresentStruct5 *var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, 88, MEMORY_DEFAULT_NUM); var_r31->data = var_r30; + var_r30->x = 0.0f; var_r30->z = 0.0f; var_r30->y = 0.0f; @@ -56,10 +54,7 @@ omObjData *fn_1_42F4(void) void fn_1_4534(omObjData *object) { s32 var_r31; - void *var_r29; - void *var_r30; - - var_r29 = object->data; + void *var_r29 = object->data; for (var_r31 = 0; var_r31 < 1; var_r31++) { Hu3DModelKill(object->model[var_r31]); @@ -73,9 +68,8 @@ void fn_1_4534(omObjData *object) void fn_1_45C0(omObjData *object, s32 arg1) { - UnkPresentStruct5 *var_r31; + UnkPresentStruct5 *var_r31 = object->data; - var_r31 = object->data; var_r31->unk_00 = arg1; object->func = lbl_1_data_1A0[arg1]; object->unk10 = 0; @@ -84,56 +78,52 @@ void fn_1_45C0(omObjData *object, s32 arg1) s32 fn_1_4604(omObjData *object) { - s32 *var_r31; + UnkPresentStruct5 *var_r31 = object->data; - var_r31 = object->data; - return *var_r31; + return var_r31->unk_00; } void fn_1_4620(omObjData *object) { float var_f31; - omObjData *var_r30; - void *var_r29; - UnkPresentStruct5 *var_r31; + UnkPresentStruct5 *var_r31 = object->data; - var_r31 = object->data; switch (object->unk10) { - case 0: - Hu3DModelAttrReset(object->model[0], 1); - var_r31->x = -300.0f; - var_r31->z = -180.0f; - var_r31->unk_48 = 0.0f; - var_r31->unk_4C = 0.025f; - object->unk10 = 1; - case 1: - var_f31 = sind(90.0f * var_r31->unk_48); - var_f31 *= var_f31; - var_r31->unk_14 = -300.0f + (300.0f * var_f31); - var_r31->unk_2C = var_r31->unk_14 - var_r31->x; - if ((var_r31->unk_48 = var_r31->unk_48 + var_r31->unk_4C) < 1.0f) { + case 0: + Hu3DModelAttrReset(object->model[0], 1); + var_r31->x = -300.0f; + var_r31->z = -180.0f; + var_r31->unk_48 = 0.0f; + var_r31->unk_4C = 0.025f; + object->unk10 = 1; + case 1: + var_f31 = sind(90.0f * var_r31->unk_48); + var_f31 *= var_f31; + var_r31->unk_14 = -300.0f + (300.0f * var_f31); + var_r31->unk_2C = var_r31->unk_14 - var_r31->x; + if ((var_r31->unk_48 = var_r31->unk_48 + var_r31->unk_4C) < 1.0f) { + break; + } + var_r31->x = 0.0f; + var_r31->unk_48 = 0.0f; + var_r31->unk_4C = 0.05f; + object->unk10 = 2; + case 2: + var_r31->unk_2C = 0.0f; + var_r31->unk_34 = 0.01f; + if ((var_r31->unk_48 = var_r31->unk_48 + var_r31->unk_4C) < 1.0f) { + break; + } + var_r31->unk_24 = 0.0f; + var_r31->unk_2C = 0.0f; + var_r31->unk_30 = 0.0f; + var_r31->unk_34 = 0.0f; + object->unk10 = 3; + case 3: + fn_1_45C0(object, 0); break; - } - var_r31->x = 0.0f; - var_r31->unk_48 = 0.0f; - var_r31->unk_4C = 0.05f; - object->unk10 = 2; - case 2: - var_r31->unk_2C = 0.0f; - var_r31->unk_34 = 0.01f; - if ((var_r31->unk_48 = var_r31->unk_48 + var_r31->unk_4C) < 1.0f) { + default: break; - } - var_r31->unk_24 = 0.0f; - var_r31->unk_2C = 0.0f; - var_r31->unk_30 = 0.0f; - var_r31->unk_34 = 0.0f; - object->unk10 = 3; - case 3: - fn_1_45C0(object, 0); - break; - default: - break; } fn_1_4A04(object); } @@ -141,31 +131,29 @@ void fn_1_4620(omObjData *object) void fn_1_4880(omObjData *object) { float var_f31; - UnkPresentStruct5 *var_r30; - void *var_r29; - var_r30 = object->data; + UnkPresentStruct5 *var_r30 = object->data; switch (object->unk10) { - case 0: - var_r30->unk_48 = 0.0f; - var_r30->unk_4C = 0.025f; - Hu3DModelAttrReset(object->model[0], 1); - object->unk10 = 1; - case 1: - var_f31 = sind(90.0f * var_r30->unk_48); - var_f31 *= var_f31; - var_r30->unk_14 = -(300.0f * var_f31); - var_r30->unk_2C = var_r30->unk_14 - var_r30->x; - if ((var_r30->unk_48 = var_r30->unk_48 + var_r30->unk_4C) < 1.0f) { + case 0: + var_r30->unk_48 = 0.0f; + var_r30->unk_4C = 0.025f; + Hu3DModelAttrReset(object->model[0], 1); + object->unk10 = 1; + case 1: + var_f31 = sind(90.0f * var_r30->unk_48); + var_f31 *= var_f31; + var_r30->unk_14 = -(300.0f * var_f31); + var_r30->unk_2C = var_r30->unk_14 - var_r30->x; + if ((var_r30->unk_48 = var_r30->unk_48 + var_r30->unk_4C) < 1.0f) { + break; + } + object->unk10 = 2; + case 2: + Hu3DModelAttrSet(object->model[0], 1); + fn_1_45C0(object, 0); + break; + default: break; - } - object->unk10 = 2; - case 2: - Hu3DModelAttrSet(object->model[0], 1); - fn_1_45C0(object, 0); - break; - default: - break; } fn_1_4A04(object); (void)object; @@ -173,14 +161,10 @@ void fn_1_4880(omObjData *object) void fn_1_4A04(omObjData *object) { - float var_f29; - float var_f30; - s16 var_r29; - UnkPresentStruct5 *var_r31; + UnkPresentStruct5 *var_r31 = object->data; + s16 var_r29 = 0; + float var_f30 = var_r31->unk_2C * var_r31->unk_2C + var_r31->unk_34 * var_r31->unk_34; - var_r31 = object->data; - var_r29 = 0; - var_f30 = var_r31->unk_2C * var_r31->unk_2C + var_r31->unk_34 * var_r31->unk_34; var_r31->unk_38 = sqrtf(var_f30); if (0.001f <= var_r31->unk_38) { if (12.0f <= var_r31->unk_38) { @@ -194,7 +178,8 @@ void fn_1_4A04(omObjData *object) if (8.0f <= var_r31->unk_38) { var_r29 = 2; - } else { + } + else { var_r29 = 1; } } @@ -210,9 +195,8 @@ void fn_1_4A04(omObjData *object) float fn_1_4CEC(float arg8, float arg9, float argA) { float var_f30; - float var_f31; - var_f31 = fmod(arg9 - arg8, 360.0f); + float var_f31 = fmod(arg9 - arg8, 360.0f); if (0.0f > var_f31) { var_f31 += 360.0f; } diff --git a/src/REL/present/init.c b/src/REL/present/init.c index b006e64d..5b8a3164 100644 --- a/src/REL/present/init.c +++ b/src/REL/present/init.c @@ -33,15 +33,15 @@ void ObjectSetup(void) void fn_1_144(s16 arg0, s32 arg1, s32 arg2) { Process *var_r30; - UnkPresentStruct6 *var_r31; - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkPresentStruct6), MEMORY_DEFAULT_NUM); + UnkPresentStruct6 *var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkPresentStruct6), MEMORY_DEFAULT_NUM); var_r31->unk_00 = arg0; var_r31->unk_08 = 1.0f / arg2; if (arg1) { var_r31->unk_08 = var_r31->unk_08; var_r31->unk_04 = 0.0f; - } else { + } + else { var_r31->unk_08 = -var_r31->unk_08; var_r31->unk_04 = 1.0f; } @@ -53,18 +53,19 @@ void fn_1_144(s16 arg0, s32 arg1, s32 arg2) void fn_1_254(void) { - UnkPresentStruct6 *var_r31; + UnkPresentStruct6 *var_r31 = HuPrcCurrentGet()->user_data; - var_r31 = HuPrcCurrentGet()->user_data; while (TRUE) { var_r31->unk_04 = var_r31->unk_04 + var_r31->unk_08; if (var_r31->unk_04 > 1.0f) { var_r31->unk_04 = 1.0f; break; - } else if (var_r31->unk_04 < 0.0f) { + } + else if (var_r31->unk_04 < 0.0f) { var_r31->unk_04 = 0.0f; break; - } else { + } + else { espTPLvlSet(var_r31->unk_00, var_r31->unk_04); HuPrcVSleep(); } @@ -80,8 +81,8 @@ void fn_1_254(void) void fn_1_334(s16 arg0, s32 arg1, float arg8, s32 arg2) { Process *var_r30; - UnkPresentStruct6Weird *var_r31; // TODO correct type? why are only 12 bytes allocated? - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 12, MEMORY_DEFAULT_NUM); + // TODO correct type? why are only 12 bytes allocated? + UnkPresentStruct6Weird *var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 12, MEMORY_DEFAULT_NUM); var_r31->unk_00 = arg0; var_r31->unk_0C = 1.0f / arg2; var_r31->unk_04 = arg8; @@ -89,7 +90,8 @@ void fn_1_334(s16 arg0, s32 arg1, float arg8, s32 arg2) if (arg1) { var_r31->unk_0C = var_r31->unk_0C; var_r31->unk_08 = 0.0f; - } else { + } + else { var_r31->unk_0C = -var_r31->unk_0C; var_r31->unk_08 = 1.0f; } @@ -101,18 +103,19 @@ void fn_1_334(s16 arg0, s32 arg1, float arg8, s32 arg2) void fn_1_45C(void) { - UnkPresentStruct6Weird *var_r31; // TODO correct type? how is 0C possible? + UnkPresentStruct6Weird *var_r31 = HuPrcCurrentGet()->user_data; - var_r31 = HuPrcCurrentGet()->user_data; while (TRUE) { var_r31->unk_08 = var_r31->unk_08 + var_r31->unk_0C; if (var_r31->unk_08 > 1.0f) { var_r31->unk_08 = 1.0f; break; - } else if (var_r31->unk_08 < 0.0f) { + } + else if (var_r31->unk_08 < 0.0f) { var_r31->unk_08 = 0.0f; break; - } else { + } + else { Hu3DModelTPLvlSet(var_r31->unk_00, var_r31->unk_08 * var_r31->unk_04); HuPrcVSleep(); } @@ -127,50 +130,44 @@ void fn_1_45C(void) u32 fn_1_550(u16 arg0) { - u32 var_r31; - - var_r31 = HuPadBtnDown[0] & arg0; + u32 var_r31 = HuPadBtnDown[0] & arg0; return var_r31 != 0; } u32 fn_1_584(u16 arg0) { - u32 var_r31; - - var_r31 = HuPadDStkRep[0] & arg0; + u32 var_r31 = HuPadDStkRep[0] & arg0; return var_r31 != 0; } u32 fn_1_5B8(u16 arg0) { - u32 var_r31; - - var_r31 = HuPadDStk[0] & arg0; + u32 var_r31 = HuPadDStk[0] & arg0; return var_r31 != 0; } void fn_1_5EC(omObjData *object) { switch (object->unk10) { - case 0: - object->unk10 = 1; - case 1: - if (!omSysExitReq) { + case 0: + object->unk10 = 1; + case 1: + if (!omSysExitReq) { + break; + } + object->unk10 = 2; + case 2: + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudFadeOut(1000); + object->unk10 = 3; + break; + case 3: + if (!WipeStatGet()) { + fn_1_3B18(lbl_1_bss_18); + omOvlReturnEx(1, 1); + } + break; + default: break; - } - object->unk10 = 2; - case 2: - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudFadeOut(1000); - object->unk10 = 3; - break; - case 3: - if (!WipeStatGet()) { - fn_1_3B18(lbl_1_bss_18); - omOvlReturnEx(1, 1); - } - break; - default: - break; } } diff --git a/src/REL/present/main.c b/src/REL/present/main.c index 6542a7b7..0e4cbfa7 100644 --- a/src/REL/present/main.c +++ b/src/REL/present/main.c @@ -20,12 +20,10 @@ void fn_1_41BC(UnkWindowDataStruct *arg0, s32 arg1); omObjData *fn_1_39A8(void) { - omObjData *object; - UnkPresentStruct *var_r30; - - object = omAddObjEx(lbl_1_bss_4, 1000, 0, 0, 4, NULL); - var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkPresentStruct), MEMORY_DEFAULT_NUM); + omObjData *object = omAddObjEx(lbl_1_bss_4, 1000, 0, 0, 4, NULL); + UnkPresentStruct *var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkPresentStruct), MEMORY_DEFAULT_NUM); object->data = var_r30; + var_r30->unk_04 = 0; lbl_1_bss_8 = fn_1_6B4(); lbl_1_bss_10 = fn_1_1458(); @@ -38,7 +36,8 @@ omObjData *fn_1_39A8(void) OSReport("*** PRESENTROOM ( PRESENT GET MODE ) ***\n"); object->func = fn_1_3DB8; object->unk10 = 0; - } else { + } + else { OSReport("*** PRESENTROOM ( PRESENT VIEW MODE ) ***\n"); object->func = fn_1_3B8C; object->unk10 = 0; @@ -49,9 +48,8 @@ omObjData *fn_1_39A8(void) void fn_1_3B18(omObjData *object) { - UnkWindowDataStruct **var_r31; + UnkWindowDataStruct **var_r31 = object->data; - var_r31 = object->data; fn_1_8F0(lbl_1_bss_8); fn_1_1784(lbl_1_bss_10); fn_1_4534(lbl_1_bss_20); @@ -61,121 +59,119 @@ void fn_1_3B18(omObjData *object) void fn_1_3B8C(omObjData *object) { - UnkPresentStruct *var_r30; - - var_r30 = object->data; + UnkPresentStruct *var_r30 = object->data; switch (object->unk10) { - case 0: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - object->unk10 = 1; - case 1: - if (WipeStatGet()) { + case 0: + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + object->unk10 = 1; + case 1: + if (WipeStatGet()) { + return; + } + object->unk10 = 2; + case 2: + fn_1_180C(lbl_1_bss_10, 1); + object->unk10 = 3; + case 3: + if (fn_1_1850(lbl_1_bss_10)) { + return; + } + object->unk10 = 4; + case 4: + fn_1_45C0(lbl_1_bss_20, 1); + object->unk10 = 5; + case 5: + if (fn_1_4604(lbl_1_bss_20)) { + return; + } + object->unk10 = 6; + case 6: + HuAudFXPlay(66); + fn_1_4080(var_r30->unk_00); + fn_1_40B0(var_r30->unk_00, 0x320002); + object->unk10 = 7; + case 7: + if (var_r30->unk_00->unk_20) { + return; + } + fn_1_41BC(var_r30->unk_00, 1); + object->unk10 = 8; + case 8: + if (var_r30->unk_00->unk_20) { + return; + } + fn_1_4098(var_r30->unk_00); + if (!var_r30->unk_00->choice) { + var_r30->unk_04 = 0; + object->unk10 = 11; + return; + } + else { + object->unk10 = 9; + return; + } + case 9: + fn_1_45C0(lbl_1_bss_20, 2); + object->unk10 = 10; return; - } - object->unk10 = 2; - case 2: - fn_1_180C(lbl_1_bss_10, 1); - object->unk10 = 3; - case 3: - if (fn_1_1850(lbl_1_bss_10)) { + case 10: + if (fn_1_4604(lbl_1_bss_20)) { + return; + } + object->unk10 = 2; return; - } - object->unk10 = 4; - case 4: - fn_1_45C0(lbl_1_bss_20, 1); - object->unk10 = 5; - case 5: - if (fn_1_4604(lbl_1_bss_20)) { - return; - } - object->unk10 = 6; - case 6: - HuAudFXPlay(66); - fn_1_4080(var_r30->unk_00); - fn_1_40B0(var_r30->unk_00, 0x320002); - object->unk10 = 7; - case 7: - if (var_r30->unk_00->unk_20) { - return; - } - fn_1_41BC(var_r30->unk_00, 1); - object->unk10 = 8; - case 8: - if (var_r30->unk_00->unk_20) { - return; - } - fn_1_4098(var_r30->unk_00); - if (!var_r30->unk_00->choice) { + case 11: + object->unk10 = 12; var_r30->unk_04 = 0; - object->unk10 = 11; - return; - } else { - object->unk10 = 9; - return; - } - case 9: - fn_1_45C0(lbl_1_bss_20, 2); - object->unk10 = 10; - return; - case 10: - if (fn_1_4604(lbl_1_bss_20)) { - return; - } - object->unk10 = 2; - return; - case 11: - object->unk10 = 12; - var_r30->unk_04 = 0; - case 12: - if (var_r30->unk_00->unk_20) { - return; - } - if (var_r30->unk_04++ >= 60) { - omSysExitReq = 1; - object->func = NULL; - object->unk10 = 0; - } - default: - break; + case 12: + if (var_r30->unk_00->unk_20) { + return; + } + if (var_r30->unk_04++ >= 60) { + omSysExitReq = 1; + object->func = NULL; + object->unk10 = 0; + } + default: + break; } } void fn_1_3DB8(omObjData *arg0) { - void *sp8; + void *sp8 = arg0->data; - sp8 = arg0->data; switch (arg0->unk10) { - case 0: - fn_1_186C(lbl_1_bss_10, omovlevtno - 1); - arg0->unk10 = 1; - case 1: - fn_1_180C(lbl_1_bss_10, 3); - arg0->unk10 = 2; - case 2: - if (!fn_1_1850(lbl_1_bss_10)) { - arg0->unk10 = 3; - } else { + case 0: + fn_1_186C(lbl_1_bss_10, omovlevtno - 1); + arg0->unk10 = 1; + case 1: + fn_1_180C(lbl_1_bss_10, 3); + arg0->unk10 = 2; + case 2: + if (!fn_1_1850(lbl_1_bss_10)) { + arg0->unk10 = 3; + } + else { + break; + } + case 3: + arg0->unk10 = 4; + case 4: + omSysExitReq = 1; + arg0->func = NULL; + arg0->unk10 = 0; + break; + default: break; - } - case 3: - arg0->unk10 = 4; - case 4: - omSysExitReq = 1; - arg0->func = NULL; - arg0->unk10 = 0; - break; - default: - break; } } UnkWindowDataStruct *fn_1_3EA4(s32 arg0) { - UnkWindowDataStruct *var_r31; + UnkWindowDataStruct *var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkWindowDataStruct), MEMORY_DEFAULT_NUM); - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkWindowDataStruct), MEMORY_DEFAULT_NUM); var_r31->unk18 = 0; var_r31->unk10 = 0; var_r31->unk14 = 0; @@ -184,18 +180,18 @@ UnkWindowDataStruct *fn_1_3EA4(s32 arg0) var_r31->process->user_data = var_r31; var_r31->unk08 = arg0; switch (arg0) { - case 0: - var_r31->window = HuWinExCreateStyled(-10000.0f, 360.0f, 480, 80, -1, 1); - HuWinBGTPLvlSet(var_r31->window, 0.8f); - HuWinMesSpeedSet(var_r31->window, 0); - HuWinMesPalSet(var_r31->window, 7, 0, 0, 0); - break; - case 1: - var_r31->window = HuWinExCreateStyled(-10000.0f, 326.0f, 500, 40, -1, 0); - HuWinAttrSet(var_r31->window, 2048); - HuWinBGTPLvlSet(var_r31->window, 0.0f); - HuWinMesSpeedSet(var_r31->window, 0); - break; + case 0: + var_r31->window = HuWinExCreateStyled(-10000.0f, 360.0f, 480, 80, -1, 1); + HuWinBGTPLvlSet(var_r31->window, 0.8f); + HuWinMesSpeedSet(var_r31->window, 0); + HuWinMesPalSet(var_r31->window, 7, 0, 0, 0); + break; + case 1: + var_r31->window = HuWinExCreateStyled(-10000.0f, 326.0f, 500, 40, -1, 0); + HuWinAttrSet(var_r31->window, 2048); + HuWinBGTPLvlSet(var_r31->window, 0.0f); + HuWinMesSpeedSet(var_r31->window, 0); + break; } HuWinDrawNoSet(var_r31->window, 63); fn_1_4190(var_r31); @@ -272,28 +268,27 @@ void fn_1_41BC(UnkWindowDataStruct *windowData, s32 arg1) void fn_1_41E0(void) { - UnkWindowDataStruct *windowData; - - windowData = HuPrcCurrentGet()->user_data; + UnkWindowDataStruct *windowData = HuPrcCurrentGet()->user_data; + while (TRUE) { switch (windowData->unk_20) { - case 1: - windowData->unk0C = 1; - HuWinExAnimIn(windowData->window); - break; - case 2: - HuWinExAnimOut(windowData->window); - windowData->unk0C = 0; - break; - case 3: - winData[windowData->window].active_pad = 1; - HuWinMesWait(windowData->window); - windowData->unk10 = 0; - break; - case 4: - windowData->choice = HuWinChoiceGet(windowData->window, windowData->choice); - windowData->unk14 = 0; - break; + case 1: + windowData->unk0C = 1; + HuWinExAnimIn(windowData->window); + break; + case 2: + HuWinExAnimOut(windowData->window); + windowData->unk0C = 0; + break; + case 3: + winData[windowData->window].active_pad = 1; + HuWinMesWait(windowData->window); + windowData->unk10 = 0; + break; + case 4: + windowData->choice = HuWinChoiceGet(windowData->window, windowData->choice); + windowData->unk14 = 0; + break; } if (windowData->unk18 != 0) { HuWinMesSet(windowData->window, windowData->unk18); diff --git a/src/REL/present/present.c b/src/REL/present/present.c index 51e47269..1aa725eb 100644 --- a/src/REL/present/present.c +++ b/src/REL/present/present.c @@ -41,68 +41,125 @@ static const s32 lbl_1_rodata_A0[] = { 0x006E006C, 0x006E006B, 0x006E0000, 0x006 0x006E0082, 0x006E0083, 0x006E0084, 0x006E0085, 0x006E0086 }; static const UnkPresentNestedOuterStruct lbl_1_rodata_2B8[] = { - { 0x00000006, { { 0x00000002, 0x00000008, 0x00320006, 0x00320042 }, { 0x00000003, 0x00000009, 0x00320007, 0x00320043 }, - { 0x00000004, 0x0000000A, 0x00320008, 0x00320044 }, { 0x00000005, 0x0000000B, 0x00320009, 0x00320045 }, - { 0x00000006, 0x0000000C, 0x0032000A, 0x00320046 }, { 0x00000007, 0x0000000D, 0x0032000B, 0x00320047 }, - }, - }, - { 0x00000006, { { 0x0000000E, 0x00000014, 0x0032000C, 0x00320048 }, { 0x0000000F, 0x00000015, 0x0032000D, 0x00320049 }, - { 0x00000010, 0x00000016, 0x0032000E, 0x0032004A }, { 0x00000011, 0x00000017, 0x0032000F, 0x0032004B }, - { 0x00000012, 0x00000018, 0x00320010, 0x0032004C }, { 0x00000013, 0x00000019, 0x00320011, 0x0032004D }, - }, - }, - { 0x00000006, { { 0x0000001A, 0x00000020, 0x00320012, 0x0032004E }, { 0x0000001B, 0x00000021, 0x00320013, 0x0032004F }, - { 0x0000001C, 0x00000022, 0x00320014, 0x00320050 }, { 0x0000001D, 0x00000023, 0x00320015, 0x00320051 }, - { 0x0000001E, 0x00000024, 0x00320016, 0x00320052 }, { 0x0000001F, 0x00000025, 0x00320017, 0x00320053 }, - }, - }, - { 0x00000006, { { 0x00000026, 0x0000002C, 0x00320018, 0x00320054 }, { 0x00000027, 0x0000002D, 0x00320019, 0x00320055 }, - { 0x00000028, 0x0000002E, 0x0032001A, 0x00320056 }, { 0x00000029, 0x0000002F, 0x0032001B, 0x00320057 }, - { 0x0000002A, 0x00000030, 0x0032001C, 0x00320058 }, { 0x0000002B, 0x00000031, 0x0032001D, 0x00320059 }, - }, - }, - { 0x00000006, { { 0x00000032, 0x00000038, 0x0032001E, 0x0032005A }, { 0x00000033, 0x00000039, 0x0032001F, 0x0032005B }, - { 0x00000034, 0x0000003A, 0x00320020, 0x0032005C }, { 0x00000035, 0x0000003B, 0x00320021, 0x0032005D }, - { 0x00000036, 0x0000003C, 0x00320022, 0x0032005E }, { 0x00000037, 0x0000003D, 0x00320023, 0x0032005F }, - }, - }, - { 0x00000001, { { 0x00000001, 0xFFFFFFFF, 0x00320041, 0x00320041 } } }, - { 0x00000006, { { 0x0000003E, 0x00000044, 0x00320024, 0x00320060 }, { 0x0000003F, 0x00000045, 0x00320025, 0x00320061 }, - { 0x00000040, 0x00000046, 0x00320026, 0x00320062 }, { 0x00000041, 0x00000047, 0x00320027, 0x00320063 }, - { 0x00000042, 0x00000048, 0x00320028, 0x00320064 }, { 0x00000043, 0x00000049, 0x00320029, 0x00320065 }, - }, - }, - { 0x00000006, { { 0x0000004A, 0x00000050, 0x0032002A, 0x00320066 }, { 0x0000004B, 0x00000051, 0x0032002B, 0x00320067 }, - { 0x0000004C, 0x00000052, 0x0032002C, 0x00320068 }, { 0x0000004D, 0x00000053, 0x0032002D, 0x00320069 }, - { 0x0000004E, 0x00000054, 0x0032002E, 0x0032006A }, { 0x0000004F, 0x00000055, 0x0032002F, 0x0032006B }, - }, - }, - { 0x00000006, { { 0x00000056, 0x0000005C, 0x00320030, 0x0032006C }, { 0x00000057, 0x0000005D, 0x00320031, 0x0032006D }, - { 0x00000058, 0x0000005E, 0x00320032, 0x0032006E }, { 0x00000059, 0x0000005F, 0x00320033, 0x0032006F }, - { 0x0000005A, 0x00000060, 0x00320034, 0x00320070 }, { 0x0000005B, 0x00000061, 0x00320035, 0x00320071 }, - }, - }, - { 0x0000000B, { { 0x00000062, 0xFFFFFFFF, 0x00320036, 0x00320072 }, { 0x00000063, 0xFFFFFFFF, 0x00320037, 0x00320073 }, - { 0x00000064, 0xFFFFFFFF, 0x00320038, 0x00320074 }, { 0x00000065, 0xFFFFFFFF, 0x00320039, 0x00320075 }, - { 0x00000066, 0xFFFFFFFF, 0x0032003A, 0x00320076 }, { 0x00000067, 0xFFFFFFFF, 0x0032003B, 0x00320077 }, - { 0x00000068, 0xFFFFFFFF, 0x0032003C, 0x00320078 }, { 0x00000069, 0xFFFFFFFF, 0x0032003D, 0x00320079 }, - { 0x0000006A, 0xFFFFFFFF, 0x0032003E, 0x0032007A }, { 0x0000006B, 0xFFFFFFFF, 0x0032003F, 0x0032007B }, - { 0x0000006C, 0xFFFFFFFF, 0x00320040, 0x0032007C } - }, - }, + { + 0x00000006, + { + { 0x00000002, 0x00000008, 0x00320006, 0x00320042 }, + { 0x00000003, 0x00000009, 0x00320007, 0x00320043 }, + { 0x00000004, 0x0000000A, 0x00320008, 0x00320044 }, + { 0x00000005, 0x0000000B, 0x00320009, 0x00320045 }, + { 0x00000006, 0x0000000C, 0x0032000A, 0x00320046 }, + { 0x00000007, 0x0000000D, 0x0032000B, 0x00320047 }, + }, + }, + { + 0x00000006, + { + { 0x0000000E, 0x00000014, 0x0032000C, 0x00320048 }, + { 0x0000000F, 0x00000015, 0x0032000D, 0x00320049 }, + { 0x00000010, 0x00000016, 0x0032000E, 0x0032004A }, + { 0x00000011, 0x00000017, 0x0032000F, 0x0032004B }, + { 0x00000012, 0x00000018, 0x00320010, 0x0032004C }, + { 0x00000013, 0x00000019, 0x00320011, 0x0032004D }, + }, + }, + { + 0x00000006, + { + { 0x0000001A, 0x00000020, 0x00320012, 0x0032004E }, + { 0x0000001B, 0x00000021, 0x00320013, 0x0032004F }, + { 0x0000001C, 0x00000022, 0x00320014, 0x00320050 }, + { 0x0000001D, 0x00000023, 0x00320015, 0x00320051 }, + { 0x0000001E, 0x00000024, 0x00320016, 0x00320052 }, + { 0x0000001F, 0x00000025, 0x00320017, 0x00320053 }, + }, + }, + { + 0x00000006, + { + { 0x00000026, 0x0000002C, 0x00320018, 0x00320054 }, + { 0x00000027, 0x0000002D, 0x00320019, 0x00320055 }, + { 0x00000028, 0x0000002E, 0x0032001A, 0x00320056 }, + { 0x00000029, 0x0000002F, 0x0032001B, 0x00320057 }, + { 0x0000002A, 0x00000030, 0x0032001C, 0x00320058 }, + { 0x0000002B, 0x00000031, 0x0032001D, 0x00320059 }, + }, + }, + { + 0x00000006, + { + { 0x00000032, 0x00000038, 0x0032001E, 0x0032005A }, + { 0x00000033, 0x00000039, 0x0032001F, 0x0032005B }, + { 0x00000034, 0x0000003A, 0x00320020, 0x0032005C }, + { 0x00000035, 0x0000003B, 0x00320021, 0x0032005D }, + { 0x00000036, 0x0000003C, 0x00320022, 0x0032005E }, + { 0x00000037, 0x0000003D, 0x00320023, 0x0032005F }, + }, + }, + { + 0x00000001, + { { 0x00000001, 0xFFFFFFFF, 0x00320041, 0x00320041 } }, + }, + { + 0x00000006, + { + { 0x0000003E, 0x00000044, 0x00320024, 0x00320060 }, + { 0x0000003F, 0x00000045, 0x00320025, 0x00320061 }, + { 0x00000040, 0x00000046, 0x00320026, 0x00320062 }, + { 0x00000041, 0x00000047, 0x00320027, 0x00320063 }, + { 0x00000042, 0x00000048, 0x00320028, 0x00320064 }, + { 0x00000043, 0x00000049, 0x00320029, 0x00320065 }, + }, + }, + { + 0x00000006, + { + { 0x0000004A, 0x00000050, 0x0032002A, 0x00320066 }, + { 0x0000004B, 0x00000051, 0x0032002B, 0x00320067 }, + { 0x0000004C, 0x00000052, 0x0032002C, 0x00320068 }, + { 0x0000004D, 0x00000053, 0x0032002D, 0x00320069 }, + { 0x0000004E, 0x00000054, 0x0032002E, 0x0032006A }, + { 0x0000004F, 0x00000055, 0x0032002F, 0x0032006B }, + }, + }, + { + 0x00000006, + { + { 0x00000056, 0x0000005C, 0x00320030, 0x0032006C }, + { 0x00000057, 0x0000005D, 0x00320031, 0x0032006D }, + { 0x00000058, 0x0000005E, 0x00320032, 0x0032006E }, + { 0x00000059, 0x0000005F, 0x00320033, 0x0032006F }, + { 0x0000005A, 0x00000060, 0x00320034, 0x00320070 }, + { 0x0000005B, 0x00000061, 0x00320035, 0x00320071 }, + }, + }, + { + 0x0000000B, + { + { 0x00000062, 0xFFFFFFFF, 0x00320036, 0x00320072 }, + { 0x00000063, 0xFFFFFFFF, 0x00320037, 0x00320073 }, + { 0x00000064, 0xFFFFFFFF, 0x00320038, 0x00320074 }, + { 0x00000065, 0xFFFFFFFF, 0x00320039, 0x00320075 }, + { 0x00000066, 0xFFFFFFFF, 0x0032003A, 0x00320076 }, + { 0x00000067, 0xFFFFFFFF, 0x0032003B, 0x00320077 }, + { 0x00000068, 0xFFFFFFFF, 0x0032003C, 0x00320078 }, + { 0x00000069, 0xFFFFFFFF, 0x0032003D, 0x00320079 }, + { 0x0000006A, 0xFFFFFFFF, 0x0032003E, 0x0032007A }, + { 0x0000006B, 0xFFFFFFFF, 0x0032003F, 0x0032007B }, + { 0x0000006C, 0xFFFFFFFF, 0x00320040, 0x0032007C }, + }, + }, }; omObjData *fn_1_1458(void) { - UnkPresentStruct2 *var_r31; s32 var_r30; - omObjData *var_r29; s32 var_r28; s16 var_r27; LightData *var_r26; - var_r29 = omAddObjEx(lbl_1_bss_4, 1003, 0, 0, 1, NULL); - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 868, MEMORY_DEFAULT_NUM); + omObjData *var_r29 = omAddObjEx(lbl_1_bss_4, 1003, 0, 0, 1, NULL); + UnkPresentStruct2 *var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 868, MEMORY_DEFAULT_NUM); var_r29->data = var_r31; var_r31->unk_234 = 0; var_r31->unk_238 = 0; @@ -157,11 +214,9 @@ omObjData *fn_1_1458(void) void fn_1_1784(omObjData *object) { - UnkPresentStruct2 *var_r31; s32 var_r30; - void *var_r29; - var_r31 = object->data; + UnkPresentStruct2 *var_r31 = object->data; fn_1_4040(var_r31->unk_228); fn_1_4040(var_r31->unk_22C); @@ -174,9 +229,8 @@ void fn_1_1784(omObjData *object) void fn_1_180C(omObjData *object, s32 arg1) { - UnkPresentStruct2 *var_r31; + UnkPresentStruct2 *var_r31 = object->data; - var_r31 = object->data; var_r31->unk_0C = arg1; object->func = lbl_1_data_6C[arg1]; object->unk10 = 0; @@ -185,9 +239,7 @@ void fn_1_180C(omObjData *object, s32 arg1) s32 fn_1_1850(omObjData *object) { - UnkPresentStruct2 *var_r31; - - var_r31 = object->data; + UnkPresentStruct2 *var_r31 = object->data; return var_r31->unk_0C; } @@ -196,9 +248,8 @@ static const s32 lbl_1_rodata_9F8[] = { 0, 1, 2, 3, 4, 0, 5, 6, 7, 0 }; void fn_1_186C(omObjData *object, s32 arg1) { - UnkPresentStruct2 *var_r31; + UnkPresentStruct2 *var_r31 = object->data; - var_r31 = object->data; if (arg1 < 48) { var_r31->unk_234 = lbl_1_rodata_9D8[arg1 / 6]; var_r31->unk_238 = arg1 % 6; @@ -216,120 +267,140 @@ void fn_1_186C(omObjData *object, s32 arg1) void fn_1_1928(omObjData *object) { Vec sp8; - UnkPresentStruct2 *var_r31; s32 var_r29; - UnkPresentStruct2 *var_r28; - var_r31 = object->data; + UnkPresentStruct2 *var_r31 = object->data; + switch (object->unk10) { - case 0: - var_r31->unk_00 = 0; - var_r31->unk_08 = 0; - object->unk10 = 1; - case 1: - if (var_r31->unk_08) { - fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, 250.0f, 30); - fn_1_9A4(lbl_1_bss_8, 0.0f, 420.0f, -600.0f, 30); - } else { - fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, 250.0f, 30); - fn_1_9A4(lbl_1_bss_8, 0.0f, 0.0f, -600.0f, 30); - } - object->unk10 = 2; - case 2: - if (!fn_1_B6C(lbl_1_bss_8) && !var_r31->unk_228->unk_20 && !fn_1_28F0(object)) { - fn_1_4080(var_r31->unk_228); - fn_1_4080(var_r31->unk_22C); + case 0: + var_r31->unk_00 = 0; + var_r31->unk_08 = 0; + object->unk10 = 1; + case 1: if (var_r31->unk_08) { - var_r29 = 0x320080; - } else if (var_r31->unk_234 == 5) { - var_r29 = 0x320085; - } else { - var_r29 = 0x32007e; + fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, 250.0f, 30); + fn_1_9A4(lbl_1_bss_8, 0.0f, 420.0f, -600.0f, 30); } - fn_1_40B0(var_r31->unk_22C, var_r29); - switch (var_r31->unk_234) { - case 0: - case 1: - case 2: - case 3: - case 4: - case 6: - case 7: - case 8: + else { + fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, 250.0f, 30); + fn_1_9A4(lbl_1_bss_8, 0.0f, 0.0f, -600.0f, 30); + } + object->unk10 = 2; + case 2: + if (!fn_1_B6C(lbl_1_bss_8) && !var_r31->unk_228->unk_20 && !fn_1_28F0(object)) { + fn_1_4080(var_r31->unk_228); + fn_1_4080(var_r31->unk_22C); if (var_r31->unk_08) { - if (fn_1_2B84(object, var_r31->unk_234, 5)) { - var_r29 = 0x320005; - } else { - var_r29 = 0x320082; - } - } else if (fn_1_2BCC(object, var_r31->unk_234) > 0) { - var_r29 = 0x320001; - } else { - var_r29 = 0x320081; + var_r29 = 0x320080; } - fn_1_40B0(var_r31->unk_228, var_r29); - fn_1_4104(var_r31->unk_228, lbl_1_rodata_9F8[var_r31->unk_234], 0); - break; - case 5: - if (fn_1_2B84(object, 5, 0)) { - var_r29 = 0x320041; - } else { - var_r29 = 0x320084; + else if (var_r31->unk_234 == 5) { + var_r29 = 0x320085; } - fn_1_40B0(var_r31->unk_228, var_r29); - break; - case 9: - if (fn_1_2BCC(object, 9) > 0) { - var_r29 = 0x320083; - } else { - var_r29 = 0x320081; + else { + var_r29 = 0x32007e; } - fn_1_40B0(var_r31->unk_228, var_r29); - break; - default: - break; + fn_1_40B0(var_r31->unk_22C, var_r29); + switch (var_r31->unk_234) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 6: + case 7: + case 8: + if (var_r31->unk_08) { + if (fn_1_2B84(object, var_r31->unk_234, 5)) { + var_r29 = 0x320005; + } + else { + var_r29 = 0x320082; + } + } + else if (fn_1_2BCC(object, var_r31->unk_234) > 0) { + var_r29 = 0x320001; + } + else { + var_r29 = 0x320081; + } + fn_1_40B0(var_r31->unk_228, var_r29); + fn_1_4104(var_r31->unk_228, lbl_1_rodata_9F8[var_r31->unk_234], 0); + break; + case 5: + if (fn_1_2B84(object, 5, 0)) { + var_r29 = 0x320041; + } + else { + var_r29 = 0x320084; + } + fn_1_40B0(var_r31->unk_228, var_r29); + break; + case 9: + if (fn_1_2BCC(object, 9) > 0) { + var_r29 = 0x320083; + } + else { + var_r29 = 0x320081; + } + fn_1_40B0(var_r31->unk_228, var_r29); + break; + default: + break; + } + if (var_r31->unk_08) { + sp8.x = 0.0f; + sp8.y = 600.0f; + sp8.z = -500.0f; + } + else { + sp8.x = 0.0f; + sp8.y = 210.0f; + sp8.z = -500.0f; + } + Hu3D3Dto2D(&sp8, 1, &sp8); + sp8.y -= 15.0f; + sp8.x -= 20.0f; + espPosSet(var_r31->sprite, sp8.x, sp8.y); + if (!var_r31->unk_00) { + fn_1_144(var_r31->sprite, 1, 5); + var_r31->unk_00 = 1; + } + object->unk10 = 3; } - if (var_r31->unk_08) { - sp8.x = 0.0f; - sp8.y = 600.0f; - sp8.z = -500.0f; - } else { - sp8.x = 0.0f; - sp8.y = 210.0f; - sp8.z = -500.0f; - } - Hu3D3Dto2D(&sp8, 1, &sp8); - sp8.y -= 15.0f; - sp8.x -= 20.0f; - espPosSet(var_r31->sprite, sp8.x, sp8.y); - if (!var_r31->unk_00) { - fn_1_144(var_r31->sprite, 1, 5); - var_r31->unk_00 = 1; - } - object->unk10 = 3; - } - break; - case 3: - if (!var_r31->unk_228->unk_20) { - if (fn_1_550(512) && !var_r31->unk_08) { - fn_1_144(var_r31->sprite, 0, 5); - var_r31->unk_00 = 0; - fn_1_4098(var_r31->unk_228); - fn_1_4098(var_r31->unk_22C); - HuAudFXPlay(3); - object->unk10 = 4; - } else if (fn_1_550(256) && !var_r31->unk_08) { - if (var_r31->unk_234 != 5) { + break; + case 3: + if (!var_r31->unk_228->unk_20) { + if (fn_1_550(512) && !var_r31->unk_08) { fn_1_144(var_r31->sprite, 0, 5); var_r31->unk_00 = 0; fn_1_4098(var_r31->unk_228); fn_1_4098(var_r31->unk_22C); - HuAudFXPlay(2); - fn_1_180C(object, 2); + HuAudFXPlay(3); + object->unk10 = 4; } - } else if (fn_1_584(8) && !var_r31->unk_08) { - if ((var_r31->unk_234 != 5) && (var_r31->unk_234 != 9)) { - var_r31->unk_08 = 1; + else if (fn_1_550(256) && !var_r31->unk_08) { + if (var_r31->unk_234 != 5) { + fn_1_144(var_r31->sprite, 0, 5); + var_r31->unk_00 = 0; + fn_1_4098(var_r31->unk_228); + fn_1_4098(var_r31->unk_22C); + HuAudFXPlay(2); + fn_1_180C(object, 2); + } + } + else if (fn_1_584(8) && !var_r31->unk_08) { + if ((var_r31->unk_234 != 5) && (var_r31->unk_234 != 9)) { + var_r31->unk_08 = 1; + fn_1_144(var_r31->sprite, 0, 5); + var_r31->unk_00 = 0; + fn_1_4098(var_r31->unk_228); + fn_1_4098(var_r31->unk_22C); + HuAudFXPlay(0); + object->unk10 = 1; + } + } + else if (fn_1_584(4) && var_r31->unk_08) { + var_r31->unk_08 = 0; fn_1_144(var_r31->sprite, 0, 5); var_r31->unk_00 = 0; fn_1_4098(var_r31->unk_228); @@ -337,55 +408,50 @@ void fn_1_1928(omObjData *object) HuAudFXPlay(0); object->unk10 = 1; } - } else if (fn_1_584(4) && var_r31->unk_08) { - var_r31->unk_08 = 0; - fn_1_144(var_r31->sprite, 0, 5); - var_r31->unk_00 = 0; - fn_1_4098(var_r31->unk_228); - fn_1_4098(var_r31->unk_22C); - HuAudFXPlay(0); - object->unk10 = 1; - } else if (fn_1_584(1)) { - fn_1_1FA8(object, 1); - HuAudFXPlay(0); - object->unk10 = 2; - } else if (fn_1_584(2)) { - fn_1_1FA8(object, 2); - HuAudFXPlay(0); - object->unk10 = 2; + else if (fn_1_584(1)) { + fn_1_1FA8(object, 1); + HuAudFXPlay(0); + object->unk10 = 2; + } + else if (fn_1_584(2)) { + fn_1_1FA8(object, 2); + HuAudFXPlay(0); + object->unk10 = 2; + } } - } - break; - case 4: - fn_1_180C(object, 0); - break; + break; + case 4: + fn_1_180C(object, 0); + break; } fn_1_2774(object); } void fn_1_1FA8(omObjData *object, s32 arg1) { - UnkPresentStruct2 *var_r31; + float var_f31; + float var_f30; + float var_f29; + s32 var_r30; s32 var_r29; s32 var_r28; - float var_f30; - float var_f31; - float var_f29; - var_r31 = object->data; + UnkPresentStruct2 *var_r31 = object->data; for (var_r30 = 0, var_f31 = 0.0f;; var_r30++) { var_f31 += 36.0f; if (arg1 == 1) { var_r29 = -1; - } else { + } + else { var_r29 = 1; } var_r31->unk_234 = var_r31->unk_234 + var_r29; if (var_r31->unk_234 < 0) { var_r31->unk_234 = 9; - } else if (var_r31->unk_234 >= 10) { + } + else if (var_r31->unk_234 >= 10) { var_r31->unk_234 = 0; } if (!((var_r31->unk_08) && ((var_r31->unk_234 == 5) || (var_r31->unk_234 == 9)))) { @@ -394,13 +460,15 @@ void fn_1_1FA8(omObjData *object, s32 arg1) } if (arg1 == 1) { var_f30 = -var_f31; - } else { + } + else { var_f30 = var_f31; } var_f29 = var_r31->unk_23C + var_f30; if (!var_r30) { var_r28 = 30; - } else { + } + else { var_r28 = 45; } fn_1_2708(object, var_f29, var_r28); @@ -408,124 +476,132 @@ void fn_1_1FA8(omObjData *object, s32 arg1) void fn_1_20E8(omObjData *object) { - Vec sp8; - UnkPresentStruct2 *var_r31; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r25; float var_f31; float var_f30; - var_r31 = object->data; - var_r29 = var_r31->unk_238; - var_r27 = var_r31->unk_234; + UnkPresentStruct2 *var_r31 = object->data; + s32 var_r29 = var_r31->unk_238; + s32 var_r27 = var_r31->unk_234; switch (object->unk10) { - case 0: - fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, -120.0f, 30); - fn_1_9A4(lbl_1_bss_8, 0.0f, 0.0f, -600.0f, 30); - var_r31->unk_04 = fn_1_2BCC(object, var_r27) > 0; - var_r31->unk_00 = 0; - var_r31->unk_238 = 0; - if (var_r31->unk_04) { - var_r25 = fn_1_3394(var_r31->unk_234); - for (var_r28 = 0; var_r28 < var_r25; var_r28++) { - if (fn_1_2B84(object, var_r27, var_r28)) { - var_r31->unk_238 = var_r28; - break; + case 0: + fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, -120.0f, 30); + fn_1_9A4(lbl_1_bss_8, 0.0f, 0.0f, -600.0f, 30); + var_r31->unk_04 = fn_1_2BCC(object, var_r27) > 0; + var_r31->unk_00 = 0; + var_r31->unk_238 = 0; + if (var_r31->unk_04) { + s32 var_r25 = fn_1_3394(var_r31->unk_234); + s32 var_r28; + for (var_r28 = 0; var_r28 < var_r25; var_r28++) { + if (fn_1_2B84(object, var_r27, var_r28)) { + var_r31->unk_238 = var_r28; + break; + } } } - } - object->unk10 = 1; - case 1: - if (fn_1_B6C(lbl_1_bss_8)) { - break; - } - fn_1_4080(var_r31->unk_228); - fn_1_4080(var_r31->unk_22C); - fn_1_40B0(var_r31->unk_22C, 0x32007F); - - if (var_r31->unk_04) { - fn_1_40B0(var_r31->unk_228, lbl_1_rodata_2B8[var_r27].unk_04[var_r29].unk_0C); - } else { - fn_1_40B0(var_r31->unk_228, 0x320003); - } - var_r31->unk_258 = 0.0f; - var_r31->unk_25C = 5.0f / 30.0f; - if (var_r31->unk_04) { - fn_1_268C(var_r31->unk_10[lbl_1_rodata_2B8[var_r27].unk_04[var_r29].unk_00], &sp8.x, &sp8.y, &sp8.z); - Hu3D3Dto2D(&sp8, 1, &sp8); - sp8.y -= 15.0f; - sp8.x -= 20.0f; - if (!var_r31->unk_00) { - fn_1_144(var_r31->sprite, 1, 5); - var_r31->unk_00 = 1; - var_r31->unk_260 = sp8.x; - var_r31->unk_264 = sp8.y; - } else { - var_r31->unk_260 = var_r31->unk_268; - var_r31->unk_264 = var_r31->unk_26C; - } - var_r31->unk_268 = sp8.x; - var_r31->unk_26C = sp8.y; - object->unk10 = 2; - } else { - object->unk10 = 3; - break; - } - case 2: - var_f31 = var_r31->unk_260 + (var_r31->unk_258 * (var_r31->unk_268 - var_r31->unk_260)); - var_f30 = var_r31->unk_264 + (var_r31->unk_258 * (var_r31->unk_26C - var_r31->unk_264)); - espPosSet(var_r31->sprite, var_f31, var_f30); - if ((var_r31->unk_258 = var_r31->unk_258 + var_r31->unk_25C) < 1.0f) { - break; - } - espPosSet(var_r31->sprite, var_r31->unk_268, var_r31->unk_26C); - object->unk10 = 3; - case 3: - if (fn_1_550(512)) { - fn_1_4098(var_r31->unk_228); - fn_1_4098(var_r31->unk_22C); - HuAudFXPlay(3); - object->unk10 = 4; - } else if (var_r31->unk_04) { - if (fn_1_584(1) && fn_1_5B8(8)) { - var_r29 = fn_1_2C5C(object, 5); - } else if (fn_1_584(1) && fn_1_5B8(4)) { - var_r29 = fn_1_2C5C(object, 9); - } else if (fn_1_584(2) && fn_1_5B8(8)) { - var_r29 = fn_1_2C5C(object, 6); - } else if (fn_1_584(2) && fn_1_5B8(4)) { - var_r29 = fn_1_2C5C(object, 10); - } else if (fn_1_584(1)) { - var_r29 = fn_1_2C5C(object, 1); - } else if (fn_1_584(2)) { - var_r29 = fn_1_2C5C(object, 2); - } else if (fn_1_584(8)) { - var_r29 = fn_1_2C5C(object, 4); - } else if (fn_1_584(4)) { - var_r29 = fn_1_2C5C(object, 8); - } - } else { - break; - } - if (var_r29 == -1) { - var_r29 = var_r31->unk_238; - } - if (var_r29 != var_r31->unk_238) { - var_r31->unk_238 = var_r29; object->unk10 = 1; - HuAudFXPlay(0); - } - break; - case 4: - if (var_r31->unk_00) { - fn_1_144(var_r31->sprite, 0, 5); - } - fn_1_180C(object, 1); - break; - default: - break; + case 1: + if (fn_1_B6C(lbl_1_bss_8)) { + break; + } + fn_1_4080(var_r31->unk_228); + fn_1_4080(var_r31->unk_22C); + fn_1_40B0(var_r31->unk_22C, 0x32007F); + + if (var_r31->unk_04) { + fn_1_40B0(var_r31->unk_228, lbl_1_rodata_2B8[var_r27].unk_04[var_r29].unk_0C); + } + else { + fn_1_40B0(var_r31->unk_228, 0x320003); + } + var_r31->unk_258 = 0.0f; + var_r31->unk_25C = 5.0f / 30.0f; + if (var_r31->unk_04) { + Vec sp8; + fn_1_268C(var_r31->unk_10[lbl_1_rodata_2B8[var_r27].unk_04[var_r29].unk_00], &sp8.x, &sp8.y, &sp8.z); + Hu3D3Dto2D(&sp8, 1, &sp8); + sp8.y -= 15.0f; + sp8.x -= 20.0f; + if (!var_r31->unk_00) { + fn_1_144(var_r31->sprite, 1, 5); + var_r31->unk_00 = 1; + var_r31->unk_260 = sp8.x; + var_r31->unk_264 = sp8.y; + } + else { + var_r31->unk_260 = var_r31->unk_268; + var_r31->unk_264 = var_r31->unk_26C; + } + var_r31->unk_268 = sp8.x; + var_r31->unk_26C = sp8.y; + object->unk10 = 2; + } + else { + object->unk10 = 3; + break; + } + case 2: + var_f31 = var_r31->unk_260 + (var_r31->unk_258 * (var_r31->unk_268 - var_r31->unk_260)); + var_f30 = var_r31->unk_264 + (var_r31->unk_258 * (var_r31->unk_26C - var_r31->unk_264)); + espPosSet(var_r31->sprite, var_f31, var_f30); + if ((var_r31->unk_258 = var_r31->unk_258 + var_r31->unk_25C) < 1.0f) { + break; + } + espPosSet(var_r31->sprite, var_r31->unk_268, var_r31->unk_26C); + object->unk10 = 3; + case 3: + if (fn_1_550(512)) { + fn_1_4098(var_r31->unk_228); + fn_1_4098(var_r31->unk_22C); + HuAudFXPlay(3); + object->unk10 = 4; + } + else if (var_r31->unk_04) { + if (fn_1_584(1) && fn_1_5B8(8)) { + var_r29 = fn_1_2C5C(object, 5); + } + else if (fn_1_584(1) && fn_1_5B8(4)) { + var_r29 = fn_1_2C5C(object, 9); + } + else if (fn_1_584(2) && fn_1_5B8(8)) { + var_r29 = fn_1_2C5C(object, 6); + } + else if (fn_1_584(2) && fn_1_5B8(4)) { + var_r29 = fn_1_2C5C(object, 10); + } + else if (fn_1_584(1)) { + var_r29 = fn_1_2C5C(object, 1); + } + else if (fn_1_584(2)) { + var_r29 = fn_1_2C5C(object, 2); + } + else if (fn_1_584(8)) { + var_r29 = fn_1_2C5C(object, 4); + } + else if (fn_1_584(4)) { + var_r29 = fn_1_2C5C(object, 8); + } + } + else { + break; + } + if (var_r29 == -1) { + var_r29 = var_r31->unk_238; + } + if (var_r29 != var_r31->unk_238) { + var_r31->unk_238 = var_r29; + object->unk10 = 1; + HuAudFXPlay(0); + } + break; + case 4: + if (var_r31->unk_00) { + fn_1_144(var_r31->sprite, 0, 5); + } + fn_1_180C(object, 1); + break; + default: + break; } } @@ -541,9 +617,8 @@ void fn_1_268C(omObjData *object, float *arg1, float *arg2, float *arg3) void fn_1_2708(omObjData *arg0, float arg8, s32 arg1) { - UnkPresentStruct2 *var_r31; + UnkPresentStruct2 *var_r31 = arg0->data; - var_r31 = arg0->data; var_r31->unk_244 = arg8; var_r31->unk_240 = var_r31->unk_23C; var_r31->unk_248 = 0.0f; @@ -552,14 +627,11 @@ void fn_1_2708(omObjData *arg0, float arg8, s32 arg1) void fn_1_2774(omObjData *object) { - UnkPresentStruct2 *var_r31; - float var_f31; s32 var_r30; - - var_r31 = object->data; + UnkPresentStruct2 *var_r31 = object->data; if (var_r31->unk_248 < 1.0f) { - var_f31 = sin(90.0f * var_r31->unk_248 * M_PI / 180.0f); + float var_f31 = sin(90.0f * var_r31->unk_248 * M_PI / 180.0f); var_f31 *= var_f31; var_r31->unk_23C = var_r31->unk_240 + (var_f31 * (var_r31->unk_244 - var_r31->unk_240)); @@ -580,9 +652,7 @@ void fn_1_2774(omObjData *object) s32 fn_1_28F0(omObjData *object) { - UnkPresentStruct2 *var_r31; - - var_r31 = object->data; + UnkPresentStruct2 *var_r31 = object->data; return var_r31->unk_248 < 1.0f; } @@ -590,15 +660,14 @@ s32 lbl_1_data_84[] = { 0, 1, 2, 3, 4, 6, 7, 8 }; void fn_1_2924(omObjData *object) { - UnkPresentStruct2 *var_r31; + UnkPresentStruct2 *var_r31 = object->data; s32 var_r30; - s32 var_r27; s32 var_r29; - var_r31 = object->data; Hu3DModelAttrReset(var_r31->unk_10[0]->model[0], 1); for (var_r29 = 0; var_r29 < 8; var_r29++) { + s32 var_r27; if (fn_1_2BCC(object, lbl_1_data_84[var_r29]) > 0) { Hu3DModelAttrReset(var_r31->unk_10[var_r29 + 109]->model[0], 1); } @@ -636,9 +705,7 @@ static const s32 lbl_1_rodata_A74[] = { 0, 6, 12, 18, 24, 59, 30, 36, 42, 48 }; s32 fn_1_2B84(omObjData *arg0, s32 arg1, s32 arg2) { - UnkPresentStruct2 *var_r31; - - var_r31 = arg0->data; + UnkPresentStruct2 *var_r31 = arg0->data; return var_r31->unk_270[arg2 + lbl_1_rodata_A74[arg1]] != 0; } @@ -646,10 +713,7 @@ s32 fn_1_2BCC(omObjData *object, s32 arg1) { s32 var_r31; s32 var_r30; - UnkPresentStruct2 *var_r29; - s32 var_r28; - - var_r28 = fn_1_3394(arg1); + s32 var_r28 = fn_1_3394(arg1); for (var_r30 = 0, var_r31 = 0; var_r31 < var_r28; var_r31++) { if (fn_1_2B84(object, arg1, var_r31)) { @@ -664,27 +728,18 @@ s32 fn_1_2C5C(omObjData *object, s32 arg1) { UnkPresentStruct7 spA4[10]; Vec sp38; - Vec sp2C; - UnkPresentStruct7 sp24; + float var_f31; float var_f30; - float var_f29; - UnkPresentStruct2 *var_r31; + + UnkPresentStruct2 *var_r31 = object->data; s32 var_r30; s32 var_r28; s32 var_r26; s32 var_r23; - s32 var_r22; - omObjData *var_r21; - omObjData *var_r19; - s32 var_r18; - s32 var_r17; + s32 var_r22 = fn_1_3394(var_r31->unk_234); + s32 var_r18 = fn_1_2BCC(object, var_r31->unk_234); - var_r31 = object->data; - - var_r22 = fn_1_3394(var_r31->unk_234); - - var_r18 = fn_1_2BCC(object, var_r31->unk_234); if (var_r18 == 1) { return var_r31->unk_238; } @@ -693,6 +748,8 @@ s32 fn_1_2C5C(omObjData *object, s32 arg1) Hu3D3Dto2D(&sp38, 1, &sp38); for (var_r28 = 0, var_r26 = 0; !var_r28 && (var_r26 < 1); var_r26++) { for (var_r28 = 0, var_r30 = 0; var_r30 < var_r22; var_r30++) { + Vec sp2C; + float var_f29; if (var_r30 == var_r31->unk_238) { continue; } @@ -722,48 +779,39 @@ s32 fn_1_2C5C(omObjData *object, s32 arg1) continue; } switch (arg1) { - case 0: - break; - case 1: - L_00003218: - arg1 = 2; - break; - case 2: - L_00003220: - arg1 = 1; - break; - case 3: - break; - case 4: - L_00003228: - arg1 = 8; - break; - case 7: - break; - case 8: - L_00003230: - arg1 = 4; - break; - case 5: - L_00003238: - arg1 = 10; - break; - case 9: - L_00003240: - arg1 = 6; - break; - case 6: - L_00003248: - arg1 = 9; - break; - case 10: - L_00003250: - arg1 = 5; - break; - default: - break; + case 0: + break; + case 1: + arg1 = 2; + break; + case 2: + arg1 = 1; + break; + case 3: + break; + case 4: + arg1 = 8; + break; + case 7: + break; + case 8: + arg1 = 4; + break; + case 5: + arg1 = 10; + break; + case 9: + arg1 = 6; + break; + case 6: + arg1 = 9; + break; + case 10: + arg1 = 5; + break; + default: + break; } - // L_00003254: } if (!var_r28) { return var_r31->unk_238; @@ -771,7 +819,7 @@ s32 fn_1_2C5C(omObjData *object, s32 arg1) do { for (var_r23 = 0, var_r30 = 0; var_r30 < (var_r28 - 1); var_r30++) { if (spA4[var_r30].unk_04 > spA4[var_r30 + 1].unk_04) { - sp24 = spA4[var_r30 + 1]; + UnkPresentStruct7 sp24 = spA4[var_r30 + 1]; spA4[var_r30 + 1] = spA4[var_r30]; spA4[var_r30] = sp24; var_r23 = 1; @@ -795,61 +843,57 @@ static const s32 lbl_1_rodata_B68[] = { 118, 119, 120, 121, 122, 0, 123, 124, 12 void fn_1_33AC(omObjData *object) { - f32 var_f29; - f32 var_f30; f32 var_f31; - UnkPresentStruct2 *var_r31; - UnkPresentStruct2 *var_r30; - UnkPresentStruct2 *var_r28; - s32 var_r27; + f32 var_f29; + + UnkPresentStruct2 *var_r31 = object->data; - var_r31 = object->data; switch (object->unk10) { - case 0: - var_f29 = 36.0f * var_r31->unk_234; - fn_1_2708(object, var_f29, 1); - fn_1_2774(object); - Hu3DModelAttrSet(var_r31->unk_10[var_r31->unk_238 + lbl_1_rodata_B18[var_r31->unk_234]]->model[0], 1); - Hu3DModelAttrSet(var_r31->unk_10[lbl_1_rodata_B68[var_r31->unk_234]]->model[0], 1); - Hu3DModelAttrSet(var_r31->unk_10[lbl_1_rodata_B40[var_r31->unk_234]]->model[0], 1); - var_r31->unk_24C = 0.0f; - var_r31->unk_254 = 1.0f / 360.0f; - object->unk10 = 1; - case 1: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 120); - object->unk10 = 2; - case 2: - var_f31 = sind(90.0f * var_r31->unk_24C); - var_f31 *= var_f31; - fn_1_920(lbl_1_bss_8, 0.0f, 820.0f - (600.0f * var_f31), -120.0f, 1); - fn_1_9A4(lbl_1_bss_8, 0.0f, 680.0f - (680.0f * var_f31), -600.0f, 1); - omSetTra(var_r31->unk_10[var_r31->unk_238 + lbl_1_rodata_AF0[var_r31->unk_234]], 0.0f, 840.0f - (840.0f * var_f31), 0.0f); - if ((var_r31->unk_24C = var_r31->unk_24C + var_r31->unk_254) < 1.0f) { - return; - } - if (fn_1_393C(var_r31->unk_234, var_r31->unk_238)) { - fn_1_334(var_r31->unk_10[var_r31->unk_238 + lbl_1_rodata_B18[var_r31->unk_234]]->model[0], 1, 0.4f, 30); - } - object->unk10 = 3; - case 3: - fn_1_4080(var_r31->unk_228); - fn_1_4104(var_r31->unk_228, lbl_1_rodata_2B8[var_r31->unk_234].unk_04[var_r31->unk_238].unk08, 0); - fn_1_40B0(var_r31->unk_228, 0x320004); - fn_1_419C(var_r31->unk_228); - object->unk10 = 4; - case 4: - if (var_r31->unk_228->unk_20) { + case 0: + var_f29 = 36.0f * var_r31->unk_234; + fn_1_2708(object, var_f29, 1); + fn_1_2774(object); + Hu3DModelAttrSet(var_r31->unk_10[var_r31->unk_238 + lbl_1_rodata_B18[var_r31->unk_234]]->model[0], 1); + Hu3DModelAttrSet(var_r31->unk_10[lbl_1_rodata_B68[var_r31->unk_234]]->model[0], 1); + Hu3DModelAttrSet(var_r31->unk_10[lbl_1_rodata_B40[var_r31->unk_234]]->model[0], 1); + var_r31->unk_24C = 0.0f; + var_r31->unk_254 = 1.0f / 360.0f; + object->unk10 = 1; + case 1: + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 120); + object->unk10 = 2; + case 2: + var_f31 = sind(90.0f * var_r31->unk_24C); + var_f31 *= var_f31; + fn_1_920(lbl_1_bss_8, 0.0f, 820.0f - (600.0f * var_f31), -120.0f, 1); + fn_1_9A4(lbl_1_bss_8, 0.0f, 680.0f - (680.0f * var_f31), -600.0f, 1); + omSetTra(var_r31->unk_10[var_r31->unk_238 + lbl_1_rodata_AF0[var_r31->unk_234]], 0.0f, 840.0f - (840.0f * var_f31), 0.0f); + if ((var_r31->unk_24C = var_r31->unk_24C + var_r31->unk_254) < 1.0f) { + return; + } + if (fn_1_393C(var_r31->unk_234, var_r31->unk_238)) { + fn_1_334(var_r31->unk_10[var_r31->unk_238 + lbl_1_rodata_B18[var_r31->unk_234]]->model[0], 1, 0.4f, 30); + } + object->unk10 = 3; + case 3: + fn_1_4080(var_r31->unk_228); + fn_1_4104(var_r31->unk_228, lbl_1_rodata_2B8[var_r31->unk_234].unk_04[var_r31->unk_238].unk08, 0); + fn_1_40B0(var_r31->unk_228, 0x320004); + fn_1_419C(var_r31->unk_228); + object->unk10 = 4; + case 4: + if (var_r31->unk_228->unk_20) { + break; + } + object->unk10 = 5; + case 5: + fn_1_4098(var_r31->unk_228); + object->unk10 = 6; + case 6: + if (!var_r31->unk_228->unk_20) { + fn_1_180C(object, 0); + } break; - } - object->unk10 = 5; - case 5: - fn_1_4098(var_r31->unk_228); - object->unk10 = 6; - case 6: - if (!var_r31->unk_228->unk_20) { - fn_1_180C(object, 0); - } - break; } }