present cleanups

This commit is contained in:
kabiskac 2024-08-02 01:43:10 +02:00
parent 8589c3e6c9
commit 579e3dd2e2
5 changed files with 733 additions and 730 deletions

View file

@ -9,11 +9,8 @@ void fn_1_C20(omObjData *object);
omObjData *fn_1_6B4(void) omObjData *fn_1_6B4(void)
{ {
omObjData *var_r30; omObjData *var_r30 = omAddObjEx(lbl_1_bss_4, 1001, 0, 0, 3, fn_1_BF8);
UnkPresentCameraStruct *var_r31; UnkPresentCameraStruct *var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 156, MEMORY_DEFAULT_NUM);
var_r30 = omAddObjEx(lbl_1_bss_4, 1001, 0, 0, 3, fn_1_BF8);
var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 156, MEMORY_DEFAULT_NUM);
var_r30->data = var_r31; var_r30->data = var_r31;
var_r31->pos.x = 0.0f; 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) 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.x = arg8;
var_r31->unk_58.y = arg9; var_r31->unk_58.y = arg9;
var_r31->unk_58.z = argA; 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) 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.x = arg8;
var_r31->unk_64.y = arg9; var_r31->unk_64.y = arg9;
var_r31->unk_64.z = argA; 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) 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_64.y = argA;
var_r31->unk_7C = arg8; var_r31->unk_7C = arg8;
var_r31->unk_80 = arg9; 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) float fn_1_AAC(omObjData *object)
{ {
UnkPresentCameraStruct *var_r31; UnkPresentCameraStruct *var_r31 = object->data;
float var_f31;
var_r31 = object->data; float var_f31 = var_r31->unk_24;
var_f31 = var_r31->unk_24;
return var_f31; return var_f31;
} }
float fn_1_ADC(omObjData *object) float fn_1_ADC(omObjData *object)
{ {
UnkPresentCameraStruct *var_r31; UnkPresentCameraStruct *var_r31 = object->data;
float var_f31;
var_r31 = object->data; float var_f31 = var_r31->unk_28;
var_f31 = var_r31->unk_28;
return var_f31; return var_f31;
} }
void fn_1_B0C(omObjData *object, float *arg1, float *arg2, float *arg3) 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; *arg1 = var_r31->pos.x;
*arg2 = var_r31->pos.y; *arg2 = var_r31->pos.y;
*arg3 = var_r31->pos.z; *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) 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; *arg1 = var_r31->target.x;
*arg2 = var_r31->target.y; *arg2 = var_r31->target.y;
*arg3 = var_r31->target.z; *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) s32 fn_1_B6C(omObjData *object)
{ {
UnkPresentCameraStruct *var_r31; UnkPresentCameraStruct *var_r31 = object->data;
s32 var_r30;
s32 var_r29; 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)) { if (!(var_r31->unk_8C < 1.0f) && !(var_r31->unk_94 < 1.0f)) {
var_r29 = 0; var_r29 = 0;
} }
@ -155,14 +141,14 @@ void fn_1_BF8(omObjData *object)
void fn_1_C20(omObjData *object) void fn_1_C20(omObjData *object)
{ {
UnkPresentCameraStruct *var_r31;
float var_f31; float var_f31;
float var_f30; float var_f30;
float var_f29; float var_f29;
float var_f28; float var_f28;
float var_f27; float var_f27;
var_r31 = object->data; UnkPresentCameraStruct *var_r31 = object->data;
if (var_r31->unk_84 < 1.0f) { if (var_r31->unk_84 < 1.0f) {
var_f28 = sind(90.0f * var_r31->unk_84); 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); 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) void fn_1_1198(omObjData *object)
{ {
UnkPresentCameraStruct *var_r31;
if (HuPadBtn[0] & PAD_BUTTON_B) { 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.x = var_r31->target.x + (0.5f * HuPadStkX[0]);
var_r31->target.y = var_r31->target.y + (0.5f * HuPadStkY[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]); 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) void fn_1_1398(omObjData *object)
{ {
UnkPresentCameraStruct *var_r31; UnkPresentCameraStruct *var_r31 = object->data;
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, 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, 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); print8(32, 96, 1.5f, "R : %.2f DEG: %.2f", var_r31->unk_24, var_r31->unk_28);

View file

@ -6,8 +6,8 @@
#include "REL/present.h" #include "REL/present.h"
void fn_1_4620(omObjData *arg0); void fn_1_4620(omObjData *object);
void fn_1_4880(omObjData *arg0); void fn_1_4880(omObjData *object);
omObjFunc lbl_1_data_1A0[] = { NULL, fn_1_4620, fn_1_4880 }; 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 *fn_1_42F4(void)
{ {
omObjData *var_r31;
s32 var_lr;
s32 var_r29; s32 var_r29;
UnkPresentStruct5 *var_r30;
var_r31 = omAddObjEx(lbl_1_bss_4, 1002, 1, 3, 2, NULL); omObjData *var_r31 = omAddObjEx(lbl_1_bss_4, 1002, 1, 3, 2, NULL);
var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, 88, MEMORY_DEFAULT_NUM); UnkPresentStruct5 *var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, 88, MEMORY_DEFAULT_NUM);
var_r31->data = var_r30; var_r31->data = var_r30;
var_r30->x = 0.0f; var_r30->x = 0.0f;
var_r30->z = 0.0f; var_r30->z = 0.0f;
var_r30->y = 0.0f; var_r30->y = 0.0f;
@ -56,10 +54,7 @@ omObjData *fn_1_42F4(void)
void fn_1_4534(omObjData *object) void fn_1_4534(omObjData *object)
{ {
s32 var_r31; s32 var_r31;
void *var_r29; void *var_r29 = object->data;
void *var_r30;
var_r29 = object->data;
for (var_r31 = 0; var_r31 < 1; var_r31++) { for (var_r31 = 0; var_r31 < 1; var_r31++) {
Hu3DModelKill(object->model[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) 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; var_r31->unk_00 = arg1;
object->func = lbl_1_data_1A0[arg1]; object->func = lbl_1_data_1A0[arg1];
object->unk10 = 0; object->unk10 = 0;
@ -84,20 +78,16 @@ void fn_1_45C0(omObjData *object, s32 arg1)
s32 fn_1_4604(omObjData *object) s32 fn_1_4604(omObjData *object)
{ {
s32 *var_r31; UnkPresentStruct5 *var_r31 = object->data;
var_r31 = object->data; return var_r31->unk_00;
return *var_r31;
} }
void fn_1_4620(omObjData *object) void fn_1_4620(omObjData *object)
{ {
float var_f31; float var_f31;
omObjData *var_r30; UnkPresentStruct5 *var_r31 = object->data;
void *var_r29;
UnkPresentStruct5 *var_r31;
var_r31 = object->data;
switch (object->unk10) { switch (object->unk10) {
case 0: case 0:
Hu3DModelAttrReset(object->model[0], 1); Hu3DModelAttrReset(object->model[0], 1);
@ -141,10 +131,8 @@ void fn_1_4620(omObjData *object)
void fn_1_4880(omObjData *object) void fn_1_4880(omObjData *object)
{ {
float var_f31; float var_f31;
UnkPresentStruct5 *var_r30;
void *var_r29;
var_r30 = object->data; UnkPresentStruct5 *var_r30 = object->data;
switch (object->unk10) { switch (object->unk10) {
case 0: case 0:
var_r30->unk_48 = 0.0f; var_r30->unk_48 = 0.0f;
@ -173,14 +161,10 @@ void fn_1_4880(omObjData *object)
void fn_1_4A04(omObjData *object) void fn_1_4A04(omObjData *object)
{ {
float var_f29; UnkPresentStruct5 *var_r31 = object->data;
float var_f30; s16 var_r29 = 0;
s16 var_r29; float var_f30 = var_r31->unk_2C * var_r31->unk_2C + var_r31->unk_34 * var_r31->unk_34;
UnkPresentStruct5 *var_r31;
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); var_r31->unk_38 = sqrtf(var_f30);
if (0.001f <= var_r31->unk_38) { if (0.001f <= var_r31->unk_38) {
if (12.0f <= 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) { if (8.0f <= var_r31->unk_38) {
var_r29 = 2; var_r29 = 2;
} else { }
else {
var_r29 = 1; var_r29 = 1;
} }
} }
@ -210,9 +195,8 @@ void fn_1_4A04(omObjData *object)
float fn_1_4CEC(float arg8, float arg9, float argA) float fn_1_4CEC(float arg8, float arg9, float argA)
{ {
float var_f30; 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) { if (0.0f > var_f31) {
var_f31 += 360.0f; var_f31 += 360.0f;
} }

View file

@ -33,15 +33,15 @@ void ObjectSetup(void)
void fn_1_144(s16 arg0, s32 arg1, s32 arg2) void fn_1_144(s16 arg0, s32 arg1, s32 arg2)
{ {
Process *var_r30; 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_00 = arg0;
var_r31->unk_08 = 1.0f / arg2; var_r31->unk_08 = 1.0f / arg2;
if (arg1) { if (arg1) {
var_r31->unk_08 = var_r31->unk_08; var_r31->unk_08 = var_r31->unk_08;
var_r31->unk_04 = 0.0f; var_r31->unk_04 = 0.0f;
} else { }
else {
var_r31->unk_08 = -var_r31->unk_08; var_r31->unk_08 = -var_r31->unk_08;
var_r31->unk_04 = 1.0f; 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) void fn_1_254(void)
{ {
UnkPresentStruct6 *var_r31; UnkPresentStruct6 *var_r31 = HuPrcCurrentGet()->user_data;
var_r31 = HuPrcCurrentGet()->user_data;
while (TRUE) { while (TRUE) {
var_r31->unk_04 = var_r31->unk_04 + var_r31->unk_08; var_r31->unk_04 = var_r31->unk_04 + var_r31->unk_08;
if (var_r31->unk_04 > 1.0f) { if (var_r31->unk_04 > 1.0f) {
var_r31->unk_04 = 1.0f; var_r31->unk_04 = 1.0f;
break; break;
} else if (var_r31->unk_04 < 0.0f) { }
else if (var_r31->unk_04 < 0.0f) {
var_r31->unk_04 = 0.0f; var_r31->unk_04 = 0.0f;
break; break;
} else { }
else {
espTPLvlSet(var_r31->unk_00, var_r31->unk_04); espTPLvlSet(var_r31->unk_00, var_r31->unk_04);
HuPrcVSleep(); HuPrcVSleep();
} }
@ -80,8 +81,8 @@ void fn_1_254(void)
void fn_1_334(s16 arg0, s32 arg1, float arg8, s32 arg2) void fn_1_334(s16 arg0, s32 arg1, float arg8, s32 arg2)
{ {
Process *var_r30; Process *var_r30;
UnkPresentStruct6Weird *var_r31; // TODO correct type? why are only 12 bytes allocated? // TODO correct type? why are only 12 bytes allocated?
var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 12, MEMORY_DEFAULT_NUM); UnkPresentStruct6Weird *var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 12, MEMORY_DEFAULT_NUM);
var_r31->unk_00 = arg0; var_r31->unk_00 = arg0;
var_r31->unk_0C = 1.0f / arg2; var_r31->unk_0C = 1.0f / arg2;
var_r31->unk_04 = arg8; var_r31->unk_04 = arg8;
@ -89,7 +90,8 @@ void fn_1_334(s16 arg0, s32 arg1, float arg8, s32 arg2)
if (arg1) { if (arg1) {
var_r31->unk_0C = var_r31->unk_0C; var_r31->unk_0C = var_r31->unk_0C;
var_r31->unk_08 = 0.0f; var_r31->unk_08 = 0.0f;
} else { }
else {
var_r31->unk_0C = -var_r31->unk_0C; var_r31->unk_0C = -var_r31->unk_0C;
var_r31->unk_08 = 1.0f; 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) 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) { while (TRUE) {
var_r31->unk_08 = var_r31->unk_08 + var_r31->unk_0C; var_r31->unk_08 = var_r31->unk_08 + var_r31->unk_0C;
if (var_r31->unk_08 > 1.0f) { if (var_r31->unk_08 > 1.0f) {
var_r31->unk_08 = 1.0f; var_r31->unk_08 = 1.0f;
break; break;
} else if (var_r31->unk_08 < 0.0f) { }
else if (var_r31->unk_08 < 0.0f) {
var_r31->unk_08 = 0.0f; var_r31->unk_08 = 0.0f;
break; break;
} else { }
else {
Hu3DModelTPLvlSet(var_r31->unk_00, var_r31->unk_08 * var_r31->unk_04); Hu3DModelTPLvlSet(var_r31->unk_00, var_r31->unk_08 * var_r31->unk_04);
HuPrcVSleep(); HuPrcVSleep();
} }
@ -127,25 +130,19 @@ void fn_1_45C(void)
u32 fn_1_550(u16 arg0) u32 fn_1_550(u16 arg0)
{ {
u32 var_r31; u32 var_r31 = HuPadBtnDown[0] & arg0;
var_r31 = HuPadBtnDown[0] & arg0;
return var_r31 != 0; return var_r31 != 0;
} }
u32 fn_1_584(u16 arg0) u32 fn_1_584(u16 arg0)
{ {
u32 var_r31; u32 var_r31 = HuPadDStkRep[0] & arg0;
var_r31 = HuPadDStkRep[0] & arg0;
return var_r31 != 0; return var_r31 != 0;
} }
u32 fn_1_5B8(u16 arg0) u32 fn_1_5B8(u16 arg0)
{ {
u32 var_r31; u32 var_r31 = HuPadDStk[0] & arg0;
var_r31 = HuPadDStk[0] & arg0;
return var_r31 != 0; return var_r31 != 0;
} }

View file

@ -20,12 +20,10 @@ void fn_1_41BC(UnkWindowDataStruct *arg0, s32 arg1);
omObjData *fn_1_39A8(void) omObjData *fn_1_39A8(void)
{ {
omObjData *object; omObjData *object = omAddObjEx(lbl_1_bss_4, 1000, 0, 0, 4, NULL);
UnkPresentStruct *var_r30; UnkPresentStruct *var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkPresentStruct), MEMORY_DEFAULT_NUM);
object = omAddObjEx(lbl_1_bss_4, 1000, 0, 0, 4, NULL);
var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkPresentStruct), MEMORY_DEFAULT_NUM);
object->data = var_r30; object->data = var_r30;
var_r30->unk_04 = 0; var_r30->unk_04 = 0;
lbl_1_bss_8 = fn_1_6B4(); lbl_1_bss_8 = fn_1_6B4();
lbl_1_bss_10 = fn_1_1458(); lbl_1_bss_10 = fn_1_1458();
@ -38,7 +36,8 @@ omObjData *fn_1_39A8(void)
OSReport("*** PRESENTROOM ( PRESENT GET MODE ) ***\n"); OSReport("*** PRESENTROOM ( PRESENT GET MODE ) ***\n");
object->func = fn_1_3DB8; object->func = fn_1_3DB8;
object->unk10 = 0; object->unk10 = 0;
} else { }
else {
OSReport("*** PRESENTROOM ( PRESENT VIEW MODE ) ***\n"); OSReport("*** PRESENTROOM ( PRESENT VIEW MODE ) ***\n");
object->func = fn_1_3B8C; object->func = fn_1_3B8C;
object->unk10 = 0; object->unk10 = 0;
@ -49,9 +48,8 @@ omObjData *fn_1_39A8(void)
void fn_1_3B18(omObjData *object) 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_8F0(lbl_1_bss_8);
fn_1_1784(lbl_1_bss_10); fn_1_1784(lbl_1_bss_10);
fn_1_4534(lbl_1_bss_20); fn_1_4534(lbl_1_bss_20);
@ -61,9 +59,7 @@ void fn_1_3B18(omObjData *object)
void fn_1_3B8C(omObjData *object) void fn_1_3B8C(omObjData *object)
{ {
UnkPresentStruct *var_r30; UnkPresentStruct *var_r30 = object->data;
var_r30 = object->data;
switch (object->unk10) { switch (object->unk10) {
case 0: case 0:
@ -110,7 +106,8 @@ void fn_1_3B8C(omObjData *object)
var_r30->unk_04 = 0; var_r30->unk_04 = 0;
object->unk10 = 11; object->unk10 = 11;
return; return;
} else { }
else {
object->unk10 = 9; object->unk10 = 9;
return; return;
} }
@ -143,9 +140,8 @@ void fn_1_3B8C(omObjData *object)
void fn_1_3DB8(omObjData *arg0) void fn_1_3DB8(omObjData *arg0)
{ {
void *sp8; void *sp8 = arg0->data;
sp8 = arg0->data;
switch (arg0->unk10) { switch (arg0->unk10) {
case 0: case 0:
fn_1_186C(lbl_1_bss_10, omovlevtno - 1); fn_1_186C(lbl_1_bss_10, omovlevtno - 1);
@ -156,7 +152,8 @@ void fn_1_3DB8(omObjData *arg0)
case 2: case 2:
if (!fn_1_1850(lbl_1_bss_10)) { if (!fn_1_1850(lbl_1_bss_10)) {
arg0->unk10 = 3; arg0->unk10 = 3;
} else { }
else {
break; break;
} }
case 3: case 3:
@ -173,9 +170,8 @@ void fn_1_3DB8(omObjData *arg0)
UnkWindowDataStruct *fn_1_3EA4(s32 arg0) 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->unk18 = 0;
var_r31->unk10 = 0; var_r31->unk10 = 0;
var_r31->unk14 = 0; var_r31->unk14 = 0;
@ -272,9 +268,8 @@ void fn_1_41BC(UnkWindowDataStruct *windowData, s32 arg1)
void fn_1_41E0(void) void fn_1_41E0(void)
{ {
UnkWindowDataStruct *windowData; UnkWindowDataStruct *windowData = HuPrcCurrentGet()->user_data;
windowData = HuPrcCurrentGet()->user_data;
while (TRUE) { while (TRUE) {
switch (windowData->unk_20) { switch (windowData->unk_20) {
case 1: case 1:

View file

@ -41,68 +41,125 @@ static const s32 lbl_1_rodata_A0[] = { 0x006E006C, 0x006E006B, 0x006E0000, 0x006
0x006E0082, 0x006E0083, 0x006E0084, 0x006E0085, 0x006E0086 }; 0x006E0082, 0x006E0083, 0x006E0084, 0x006E0085, 0x006E0086 };
static const UnkPresentNestedOuterStruct lbl_1_rodata_2B8[] = { 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,
{ 0x00000006, 0x0000000C, 0x0032000A, 0x00320046 }, { 0x00000007, 0x0000000D, 0x0032000B, 0x00320047 }, {
{ 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 }, 0x00000006,
{ 0x00000012, 0x00000018, 0x00320010, 0x0032004C }, { 0x00000013, 0x00000019, 0x00320011, 0x0032004D }, {
{ 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 }, 0x00000006,
{ 0x0000001E, 0x00000024, 0x00320016, 0x00320052 }, { 0x0000001F, 0x00000025, 0x00320017, 0x00320053 }, {
{ 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 }, 0x00000006,
{ 0x0000002A, 0x00000030, 0x0032001C, 0x00320058 }, { 0x0000002B, 0x00000031, 0x0032001D, 0x00320059 }, {
{ 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 }, 0x00000006,
{ 0x00000036, 0x0000003C, 0x00320022, 0x0032005E }, { 0x00000037, 0x0000003D, 0x00320023, 0x0032005F }, {
{ 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 }, 0x00000001,
{ 0x00000040, 0x00000046, 0x00320026, 0x00320062 }, { 0x00000041, 0x00000047, 0x00320027, 0x00320063 }, { { 0x00000001, 0xFFFFFFFF, 0x00320041, 0x00320041 } },
{ 0x00000042, 0x00000048, 0x00320028, 0x00320064 }, { 0x00000043, 0x00000049, 0x00320029, 0x00320065 }, },
{
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 }, 0x00000006,
{ 0x0000004E, 0x00000054, 0x0032002E, 0x0032006A }, { 0x0000004F, 0x00000055, 0x0032002F, 0x0032006B }, {
{ 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 }, 0x00000006,
{ 0x0000005A, 0x00000060, 0x00320034, 0x00320070 }, { 0x0000005B, 0x00000061, 0x00320035, 0x00320071 }, {
{ 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 }, 0x0000000B,
{ 0x00000066, 0xFFFFFFFF, 0x0032003A, 0x00320076 }, { 0x00000067, 0xFFFFFFFF, 0x0032003B, 0x00320077 }, {
{ 0x00000068, 0xFFFFFFFF, 0x0032003C, 0x00320078 }, { 0x00000069, 0xFFFFFFFF, 0x0032003D, 0x00320079 }, { 0x00000062, 0xFFFFFFFF, 0x00320036, 0x00320072 },
{ 0x0000006A, 0xFFFFFFFF, 0x0032003E, 0x0032007A }, { 0x0000006B, 0xFFFFFFFF, 0x0032003F, 0x0032007B }, { 0x00000063, 0xFFFFFFFF, 0x00320037, 0x00320073 },
{ 0x0000006C, 0xFFFFFFFF, 0x00320040, 0x0032007C } { 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) omObjData *fn_1_1458(void)
{ {
UnkPresentStruct2 *var_r31;
s32 var_r30; s32 var_r30;
omObjData *var_r29;
s32 var_r28; s32 var_r28;
s16 var_r27; s16 var_r27;
LightData *var_r26; LightData *var_r26;
var_r29 = omAddObjEx(lbl_1_bss_4, 1003, 0, 0, 1, NULL); omObjData *var_r29 = omAddObjEx(lbl_1_bss_4, 1003, 0, 0, 1, NULL);
var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 868, MEMORY_DEFAULT_NUM); UnkPresentStruct2 *var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 868, MEMORY_DEFAULT_NUM);
var_r29->data = var_r31; var_r29->data = var_r31;
var_r31->unk_234 = 0; var_r31->unk_234 = 0;
var_r31->unk_238 = 0; var_r31->unk_238 = 0;
@ -157,11 +214,9 @@ omObjData *fn_1_1458(void)
void fn_1_1784(omObjData *object) void fn_1_1784(omObjData *object)
{ {
UnkPresentStruct2 *var_r31;
s32 var_r30; 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_228);
fn_1_4040(var_r31->unk_22C); 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) 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; var_r31->unk_0C = arg1;
object->func = lbl_1_data_6C[arg1]; object->func = lbl_1_data_6C[arg1];
object->unk10 = 0; object->unk10 = 0;
@ -185,9 +239,7 @@ void fn_1_180C(omObjData *object, s32 arg1)
s32 fn_1_1850(omObjData *object) s32 fn_1_1850(omObjData *object)
{ {
UnkPresentStruct2 *var_r31; UnkPresentStruct2 *var_r31 = object->data;
var_r31 = object->data;
return var_r31->unk_0C; 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) void fn_1_186C(omObjData *object, s32 arg1)
{ {
UnkPresentStruct2 *var_r31; UnkPresentStruct2 *var_r31 = object->data;
var_r31 = object->data;
if (arg1 < 48) { if (arg1 < 48) {
var_r31->unk_234 = lbl_1_rodata_9D8[arg1 / 6]; var_r31->unk_234 = lbl_1_rodata_9D8[arg1 / 6];
var_r31->unk_238 = arg1 % 6; var_r31->unk_238 = arg1 % 6;
@ -216,11 +267,10 @@ void fn_1_186C(omObjData *object, s32 arg1)
void fn_1_1928(omObjData *object) void fn_1_1928(omObjData *object)
{ {
Vec sp8; Vec sp8;
UnkPresentStruct2 *var_r31;
s32 var_r29; s32 var_r29;
UnkPresentStruct2 *var_r28;
var_r31 = object->data; UnkPresentStruct2 *var_r31 = object->data;
switch (object->unk10) { switch (object->unk10) {
case 0: case 0:
var_r31->unk_00 = 0; var_r31->unk_00 = 0;
@ -230,7 +280,8 @@ void fn_1_1928(omObjData *object)
if (var_r31->unk_08) { if (var_r31->unk_08) {
fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, 250.0f, 30); 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_9A4(lbl_1_bss_8, 0.0f, 420.0f, -600.0f, 30);
} else { }
else {
fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, 250.0f, 30); 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); fn_1_9A4(lbl_1_bss_8, 0.0f, 0.0f, -600.0f, 30);
} }
@ -241,9 +292,11 @@ void fn_1_1928(omObjData *object)
fn_1_4080(var_r31->unk_22C); fn_1_4080(var_r31->unk_22C);
if (var_r31->unk_08) { if (var_r31->unk_08) {
var_r29 = 0x320080; var_r29 = 0x320080;
} else if (var_r31->unk_234 == 5) { }
else if (var_r31->unk_234 == 5) {
var_r29 = 0x320085; var_r29 = 0x320085;
} else { }
else {
var_r29 = 0x32007e; var_r29 = 0x32007e;
} }
fn_1_40B0(var_r31->unk_22C, var_r29); fn_1_40B0(var_r31->unk_22C, var_r29);
@ -259,12 +312,15 @@ void fn_1_1928(omObjData *object)
if (var_r31->unk_08) { if (var_r31->unk_08) {
if (fn_1_2B84(object, var_r31->unk_234, 5)) { if (fn_1_2B84(object, var_r31->unk_234, 5)) {
var_r29 = 0x320005; var_r29 = 0x320005;
} else { }
else {
var_r29 = 0x320082; var_r29 = 0x320082;
} }
} else if (fn_1_2BCC(object, var_r31->unk_234) > 0) { }
else if (fn_1_2BCC(object, var_r31->unk_234) > 0) {
var_r29 = 0x320001; var_r29 = 0x320001;
} else { }
else {
var_r29 = 0x320081; var_r29 = 0x320081;
} }
fn_1_40B0(var_r31->unk_228, var_r29); fn_1_40B0(var_r31->unk_228, var_r29);
@ -273,7 +329,8 @@ void fn_1_1928(omObjData *object)
case 5: case 5:
if (fn_1_2B84(object, 5, 0)) { if (fn_1_2B84(object, 5, 0)) {
var_r29 = 0x320041; var_r29 = 0x320041;
} else { }
else {
var_r29 = 0x320084; var_r29 = 0x320084;
} }
fn_1_40B0(var_r31->unk_228, var_r29); fn_1_40B0(var_r31->unk_228, var_r29);
@ -281,7 +338,8 @@ void fn_1_1928(omObjData *object)
case 9: case 9:
if (fn_1_2BCC(object, 9) > 0) { if (fn_1_2BCC(object, 9) > 0) {
var_r29 = 0x320083; var_r29 = 0x320083;
} else { }
else {
var_r29 = 0x320081; var_r29 = 0x320081;
} }
fn_1_40B0(var_r31->unk_228, var_r29); fn_1_40B0(var_r31->unk_228, var_r29);
@ -293,7 +351,8 @@ void fn_1_1928(omObjData *object)
sp8.x = 0.0f; sp8.x = 0.0f;
sp8.y = 600.0f; sp8.y = 600.0f;
sp8.z = -500.0f; sp8.z = -500.0f;
} else { }
else {
sp8.x = 0.0f; sp8.x = 0.0f;
sp8.y = 210.0f; sp8.y = 210.0f;
sp8.z = -500.0f; sp8.z = -500.0f;
@ -318,7 +377,8 @@ void fn_1_1928(omObjData *object)
fn_1_4098(var_r31->unk_22C); fn_1_4098(var_r31->unk_22C);
HuAudFXPlay(3); HuAudFXPlay(3);
object->unk10 = 4; object->unk10 = 4;
} else if (fn_1_550(256) && !var_r31->unk_08) { }
else if (fn_1_550(256) && !var_r31->unk_08) {
if (var_r31->unk_234 != 5) { if (var_r31->unk_234 != 5) {
fn_1_144(var_r31->sprite, 0, 5); fn_1_144(var_r31->sprite, 0, 5);
var_r31->unk_00 = 0; var_r31->unk_00 = 0;
@ -327,7 +387,8 @@ void fn_1_1928(omObjData *object)
HuAudFXPlay(2); HuAudFXPlay(2);
fn_1_180C(object, 2); fn_1_180C(object, 2);
} }
} else if (fn_1_584(8) && !var_r31->unk_08) { }
else if (fn_1_584(8) && !var_r31->unk_08) {
if ((var_r31->unk_234 != 5) && (var_r31->unk_234 != 9)) { if ((var_r31->unk_234 != 5) && (var_r31->unk_234 != 9)) {
var_r31->unk_08 = 1; var_r31->unk_08 = 1;
fn_1_144(var_r31->sprite, 0, 5); fn_1_144(var_r31->sprite, 0, 5);
@ -337,7 +398,8 @@ void fn_1_1928(omObjData *object)
HuAudFXPlay(0); HuAudFXPlay(0);
object->unk10 = 1; object->unk10 = 1;
} }
} else if (fn_1_584(4) && var_r31->unk_08) { }
else if (fn_1_584(4) && var_r31->unk_08) {
var_r31->unk_08 = 0; var_r31->unk_08 = 0;
fn_1_144(var_r31->sprite, 0, 5); fn_1_144(var_r31->sprite, 0, 5);
var_r31->unk_00 = 0; var_r31->unk_00 = 0;
@ -345,11 +407,13 @@ void fn_1_1928(omObjData *object)
fn_1_4098(var_r31->unk_22C); fn_1_4098(var_r31->unk_22C);
HuAudFXPlay(0); HuAudFXPlay(0);
object->unk10 = 1; object->unk10 = 1;
} else if (fn_1_584(1)) { }
else if (fn_1_584(1)) {
fn_1_1FA8(object, 1); fn_1_1FA8(object, 1);
HuAudFXPlay(0); HuAudFXPlay(0);
object->unk10 = 2; object->unk10 = 2;
} else if (fn_1_584(2)) { }
else if (fn_1_584(2)) {
fn_1_1FA8(object, 2); fn_1_1FA8(object, 2);
HuAudFXPlay(0); HuAudFXPlay(0);
object->unk10 = 2; object->unk10 = 2;
@ -365,27 +429,29 @@ void fn_1_1928(omObjData *object)
void fn_1_1FA8(omObjData *object, s32 arg1) 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_r30;
s32 var_r29; s32 var_r29;
s32 var_r28; 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++) { for (var_r30 = 0, var_f31 = 0.0f;; var_r30++) {
var_f31 += 36.0f; var_f31 += 36.0f;
if (arg1 == 1) { if (arg1 == 1) {
var_r29 = -1; var_r29 = -1;
} else { }
else {
var_r29 = 1; var_r29 = 1;
} }
var_r31->unk_234 = var_r31->unk_234 + var_r29; var_r31->unk_234 = var_r31->unk_234 + var_r29;
if (var_r31->unk_234 < 0) { if (var_r31->unk_234 < 0) {
var_r31->unk_234 = 9; var_r31->unk_234 = 9;
} else if (var_r31->unk_234 >= 10) { }
else if (var_r31->unk_234 >= 10) {
var_r31->unk_234 = 0; var_r31->unk_234 = 0;
} }
if (!((var_r31->unk_08) && ((var_r31->unk_234 == 5) || (var_r31->unk_234 == 9)))) { 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) { if (arg1 == 1) {
var_f30 = -var_f31; var_f30 = -var_f31;
} else { }
else {
var_f30 = var_f31; var_f30 = var_f31;
} }
var_f29 = var_r31->unk_23C + var_f30; var_f29 = var_r31->unk_23C + var_f30;
if (!var_r30) { if (!var_r30) {
var_r28 = 30; var_r28 = 30;
} else { }
else {
var_r28 = 45; var_r28 = 45;
} }
fn_1_2708(object, var_f29, var_r28); fn_1_2708(object, var_f29, var_r28);
@ -408,18 +476,12 @@ void fn_1_1FA8(omObjData *object, s32 arg1)
void fn_1_20E8(omObjData *object) 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_f31;
float var_f30; float var_f30;
var_r31 = object->data; UnkPresentStruct2 *var_r31 = object->data;
var_r29 = var_r31->unk_238; s32 var_r29 = var_r31->unk_238;
var_r27 = var_r31->unk_234; s32 var_r27 = var_r31->unk_234;
switch (object->unk10) { switch (object->unk10) {
case 0: case 0:
fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, -120.0f, 30); fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, -120.0f, 30);
@ -428,7 +490,8 @@ void fn_1_20E8(omObjData *object)
var_r31->unk_00 = 0; var_r31->unk_00 = 0;
var_r31->unk_238 = 0; var_r31->unk_238 = 0;
if (var_r31->unk_04) { if (var_r31->unk_04) {
var_r25 = fn_1_3394(var_r31->unk_234); s32 var_r25 = fn_1_3394(var_r31->unk_234);
s32 var_r28;
for (var_r28 = 0; var_r28 < var_r25; var_r28++) { for (var_r28 = 0; var_r28 < var_r25; var_r28++) {
if (fn_1_2B84(object, var_r27, var_r28)) { if (fn_1_2B84(object, var_r27, var_r28)) {
var_r31->unk_238 = var_r28; var_r31->unk_238 = var_r28;
@ -447,12 +510,14 @@ void fn_1_20E8(omObjData *object)
if (var_r31->unk_04) { if (var_r31->unk_04) {
fn_1_40B0(var_r31->unk_228, lbl_1_rodata_2B8[var_r27].unk_04[var_r29].unk_0C); fn_1_40B0(var_r31->unk_228, lbl_1_rodata_2B8[var_r27].unk_04[var_r29].unk_0C);
} else { }
else {
fn_1_40B0(var_r31->unk_228, 0x320003); fn_1_40B0(var_r31->unk_228, 0x320003);
} }
var_r31->unk_258 = 0.0f; var_r31->unk_258 = 0.0f;
var_r31->unk_25C = 5.0f / 30.0f; var_r31->unk_25C = 5.0f / 30.0f;
if (var_r31->unk_04) { 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); 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); Hu3D3Dto2D(&sp8, 1, &sp8);
sp8.y -= 15.0f; sp8.y -= 15.0f;
@ -462,14 +527,16 @@ void fn_1_20E8(omObjData *object)
var_r31->unk_00 = 1; var_r31->unk_00 = 1;
var_r31->unk_260 = sp8.x; var_r31->unk_260 = sp8.x;
var_r31->unk_264 = sp8.y; var_r31->unk_264 = sp8.y;
} else { }
else {
var_r31->unk_260 = var_r31->unk_268; var_r31->unk_260 = var_r31->unk_268;
var_r31->unk_264 = var_r31->unk_26C; var_r31->unk_264 = var_r31->unk_26C;
} }
var_r31->unk_268 = sp8.x; var_r31->unk_268 = sp8.x;
var_r31->unk_26C = sp8.y; var_r31->unk_26C = sp8.y;
object->unk10 = 2; object->unk10 = 2;
} else { }
else {
object->unk10 = 3; object->unk10 = 3;
break; break;
} }
@ -488,25 +555,34 @@ void fn_1_20E8(omObjData *object)
fn_1_4098(var_r31->unk_22C); fn_1_4098(var_r31->unk_22C);
HuAudFXPlay(3); HuAudFXPlay(3);
object->unk10 = 4; object->unk10 = 4;
} else if (var_r31->unk_04) { }
else if (var_r31->unk_04) {
if (fn_1_584(1) && fn_1_5B8(8)) { if (fn_1_584(1) && fn_1_5B8(8)) {
var_r29 = fn_1_2C5C(object, 5); var_r29 = fn_1_2C5C(object, 5);
} else if (fn_1_584(1) && fn_1_5B8(4)) { }
else if (fn_1_584(1) && fn_1_5B8(4)) {
var_r29 = fn_1_2C5C(object, 9); var_r29 = fn_1_2C5C(object, 9);
} else if (fn_1_584(2) && fn_1_5B8(8)) { }
else if (fn_1_584(2) && fn_1_5B8(8)) {
var_r29 = fn_1_2C5C(object, 6); var_r29 = fn_1_2C5C(object, 6);
} else if (fn_1_584(2) && fn_1_5B8(4)) { }
else if (fn_1_584(2) && fn_1_5B8(4)) {
var_r29 = fn_1_2C5C(object, 10); var_r29 = fn_1_2C5C(object, 10);
} else if (fn_1_584(1)) { }
else if (fn_1_584(1)) {
var_r29 = fn_1_2C5C(object, 1); var_r29 = fn_1_2C5C(object, 1);
} else if (fn_1_584(2)) { }
else if (fn_1_584(2)) {
var_r29 = fn_1_2C5C(object, 2); var_r29 = fn_1_2C5C(object, 2);
} else if (fn_1_584(8)) { }
else if (fn_1_584(8)) {
var_r29 = fn_1_2C5C(object, 4); var_r29 = fn_1_2C5C(object, 4);
} else if (fn_1_584(4)) { }
else if (fn_1_584(4)) {
var_r29 = fn_1_2C5C(object, 8); var_r29 = fn_1_2C5C(object, 8);
} }
} else { }
else {
break; break;
} }
if (var_r29 == -1) { if (var_r29 == -1) {
@ -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) 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_244 = arg8;
var_r31->unk_240 = var_r31->unk_23C; var_r31->unk_240 = var_r31->unk_23C;
var_r31->unk_248 = 0.0f; 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) void fn_1_2774(omObjData *object)
{ {
UnkPresentStruct2 *var_r31;
float var_f31;
s32 var_r30; s32 var_r30;
UnkPresentStruct2 *var_r31 = object->data;
var_r31 = object->data;
if (var_r31->unk_248 < 1.0f) { 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_f31 *= var_f31;
var_r31->unk_23C = var_r31->unk_240 + (var_f31 * (var_r31->unk_244 - var_r31->unk_240)); 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) s32 fn_1_28F0(omObjData *object)
{ {
UnkPresentStruct2 *var_r31; UnkPresentStruct2 *var_r31 = object->data;
var_r31 = object->data;
return var_r31->unk_248 < 1.0f; 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) void fn_1_2924(omObjData *object)
{ {
UnkPresentStruct2 *var_r31; UnkPresentStruct2 *var_r31 = object->data;
s32 var_r30; s32 var_r30;
s32 var_r27;
s32 var_r29; s32 var_r29;
var_r31 = object->data;
Hu3DModelAttrReset(var_r31->unk_10[0]->model[0], 1); Hu3DModelAttrReset(var_r31->unk_10[0]->model[0], 1);
for (var_r29 = 0; var_r29 < 8; var_r29++) { for (var_r29 = 0; var_r29 < 8; var_r29++) {
s32 var_r27;
if (fn_1_2BCC(object, lbl_1_data_84[var_r29]) > 0) { if (fn_1_2BCC(object, lbl_1_data_84[var_r29]) > 0) {
Hu3DModelAttrReset(var_r31->unk_10[var_r29 + 109]->model[0], 1); 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) s32 fn_1_2B84(omObjData *arg0, s32 arg1, s32 arg2)
{ {
UnkPresentStruct2 *var_r31; UnkPresentStruct2 *var_r31 = arg0->data;
var_r31 = arg0->data;
return var_r31->unk_270[arg2 + lbl_1_rodata_A74[arg1]] != 0; 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_r31;
s32 var_r30; s32 var_r30;
UnkPresentStruct2 *var_r29; s32 var_r28 = fn_1_3394(arg1);
s32 var_r28;
var_r28 = fn_1_3394(arg1);
for (var_r30 = 0, var_r31 = 0; var_r31 < var_r28; var_r31++) { for (var_r30 = 0, var_r31 = 0; var_r31 < var_r28; var_r31++) {
if (fn_1_2B84(object, arg1, 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]; UnkPresentStruct7 spA4[10];
Vec sp38; Vec sp38;
Vec sp2C;
UnkPresentStruct7 sp24;
float var_f31; float var_f31;
float var_f30; float var_f30;
float var_f29;
UnkPresentStruct2 *var_r31; UnkPresentStruct2 *var_r31 = object->data;
s32 var_r30; s32 var_r30;
s32 var_r28; s32 var_r28;
s32 var_r26; s32 var_r26;
s32 var_r23; s32 var_r23;
s32 var_r22; s32 var_r22 = fn_1_3394(var_r31->unk_234);
omObjData *var_r21; s32 var_r18 = fn_1_2BCC(object, var_r31->unk_234);
omObjData *var_r19;
s32 var_r18;
s32 var_r17;
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) { if (var_r18 == 1) {
return var_r31->unk_238; return var_r31->unk_238;
} }
@ -693,6 +748,8 @@ s32 fn_1_2C5C(omObjData *object, s32 arg1)
Hu3D3Dto2D(&sp38, 1, &sp38); Hu3D3Dto2D(&sp38, 1, &sp38);
for (var_r28 = 0, var_r26 = 0; !var_r28 && (var_r26 < 1); var_r26++) { 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++) { 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) { if (var_r30 == var_r31->unk_238) {
continue; continue;
} }
@ -725,45 +782,36 @@ s32 fn_1_2C5C(omObjData *object, s32 arg1)
case 0: case 0:
break; break;
case 1: case 1:
L_00003218:
arg1 = 2; arg1 = 2;
break; break;
case 2: case 2:
L_00003220:
arg1 = 1; arg1 = 1;
break; break;
case 3: case 3:
break; break;
case 4: case 4:
L_00003228:
arg1 = 8; arg1 = 8;
break; break;
case 7: case 7:
break; break;
case 8: case 8:
L_00003230:
arg1 = 4; arg1 = 4;
break; break;
case 5: case 5:
L_00003238:
arg1 = 10; arg1 = 10;
break; break;
case 9: case 9:
L_00003240:
arg1 = 6; arg1 = 6;
break; break;
case 6: case 6:
L_00003248:
arg1 = 9; arg1 = 9;
break; break;
case 10: case 10:
L_00003250:
arg1 = 5; arg1 = 5;
break; break;
default: default:
break; break;
} }
// L_00003254:
} }
if (!var_r28) { if (!var_r28) {
return var_r31->unk_238; return var_r31->unk_238;
@ -771,7 +819,7 @@ s32 fn_1_2C5C(omObjData *object, s32 arg1)
do { do {
for (var_r23 = 0, var_r30 = 0; var_r30 < (var_r28 - 1); var_r30++) { 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) { 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 + 1] = spA4[var_r30];
spA4[var_r30] = sp24; spA4[var_r30] = sp24;
var_r23 = 1; var_r23 = 1;
@ -795,15 +843,11 @@ static const s32 lbl_1_rodata_B68[] = { 118, 119, 120, 121, 122, 0, 123, 124, 12
void fn_1_33AC(omObjData *object) void fn_1_33AC(omObjData *object)
{ {
f32 var_f29;
f32 var_f30;
f32 var_f31; f32 var_f31;
UnkPresentStruct2 *var_r31; f32 var_f29;
UnkPresentStruct2 *var_r30;
UnkPresentStruct2 *var_r28; UnkPresentStruct2 *var_r31 = object->data;
s32 var_r27;
var_r31 = object->data;
switch (object->unk10) { switch (object->unk10) {
case 0: case 0:
var_f29 = 36.0f * var_r31->unk_234; var_f29 = 36.0f * var_r31->unk_234;