From abff8d92302221641866395406a091db9a3c803c Mon Sep 17 00:00:00 2001 From: kabiskac Date: Fri, 9 Aug 2024 04:52:05 +0200 Subject: [PATCH] Fully matched instDll and cleaned up some types in ztardll --- include/REL/instDll.h | 8 + include/REL/ztardll.h | 13 +- src/REL/instDll/font.c | 317 +++++++++++++++++++++++++++++++++++++++ src/REL/instDll/main.c | 4 +- src/REL/ztardll/font.c | 15 +- src/REL/ztardll/main.c | 10 +- src/REL/ztardll/select.c | 270 +++++++++++++++++---------------- 7 files changed, 481 insertions(+), 156 deletions(-) create mode 100644 include/REL/instDll.h create mode 100644 src/REL/instDll/font.c diff --git a/include/REL/instDll.h b/include/REL/instDll.h new file mode 100644 index 00000000..e6e09e34 --- /dev/null +++ b/include/REL/instDll.h @@ -0,0 +1,8 @@ +#ifndef M401DLL_H +#define M401DLL_H + +#include "game/minigame_seq.h" + +s32 fn_1_5EA4(SeqWork *work, char *mess, s16 jp_flag); + +#endif diff --git a/include/REL/ztardll.h b/include/REL/ztardll.h index e8c81299..0d7327ec 100644 --- a/include/REL/ztardll.h +++ b/include/REL/ztardll.h @@ -1,20 +1,11 @@ #ifndef ZTARDLL_H #define ZTARDLL_H -#include "game/object.h" +#include "game/minigame_seq.h" #include "dolphin/types.h" -typedef struct ZtarDllUnkStruct { - char unk00[0x30]; - s16 unk_30; - s16 unk_32; - char unk34[6]; - s16 unk_3A[16]; - s16 unk_5A[16]; -} ZtarDllUnkStruct; /* size = 0x7A */ - -s32 fn_1_7754(ZtarDllUnkStruct *arg0, u8 *arg1); +s32 fn_1_7754(SeqWork *arg0, char *mess); void fn_1_7C00(void); void fn_1_7D6C(Process *arg0); s32 fn_1_97D0(s32 arg0, s32 arg1); diff --git a/src/REL/instDll/font.c b/src/REL/instDll/font.c new file mode 100644 index 00000000..af50f5d5 --- /dev/null +++ b/src/REL/instDll/font.c @@ -0,0 +1,317 @@ +#include "game/sprite.h" + +#include "REL/instDll.h" + +s32 lbl_1_data_150[0xC6] = { + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x26), + DATA_MAKE_NUM(DATADIR_INST, 0x27), + DATA_MAKE_NUM(DATADIR_INST, 0x28), + DATA_MAKE_NUM(DATADIR_INST, 0x29), + DATA_MAKE_NUM(DATADIR_INST, 0x2A), + DATA_MAKE_NUM(DATADIR_INST, 0x2B), + DATA_MAKE_NUM(DATADIR_INST, 0x2C), + DATA_MAKE_NUM(DATADIR_INST, 0x2D), + DATA_MAKE_NUM(DATADIR_INST, 0x2E), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x2F), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x34), + DATA_MAKE_NUM(DATADIR_INST, 0x35), + DATA_MAKE_NUM(DATADIR_INST, 0x36), + DATA_MAKE_NUM(DATADIR_INST, 0x37), + DATA_MAKE_NUM(DATADIR_INST, 0x38), + DATA_MAKE_NUM(DATADIR_INST, 0x39), + DATA_MAKE_NUM(DATADIR_INST, 0x3A), + DATA_MAKE_NUM(DATADIR_INST, 0x3B), + DATA_MAKE_NUM(DATADIR_INST, 0x3C), + DATA_MAKE_NUM(DATADIR_INST, 0x3D), + DATA_MAKE_NUM(DATADIR_INST, 0x3E), + DATA_MAKE_NUM(DATADIR_INST, 0x3F), + DATA_MAKE_NUM(DATADIR_INST, 0x40), + DATA_MAKE_NUM(DATADIR_INST, 0x41), + DATA_MAKE_NUM(DATADIR_INST, 0x42), + DATA_MAKE_NUM(DATADIR_INST, 0x43), + DATA_MAKE_NUM(DATADIR_INST, 0x44), + DATA_MAKE_NUM(DATADIR_INST, 0x45), + DATA_MAKE_NUM(DATADIR_INST, 0x46), + DATA_MAKE_NUM(DATADIR_INST, 0x47), + DATA_MAKE_NUM(DATADIR_INST, 0x48), + DATA_MAKE_NUM(DATADIR_INST, 0x49), + DATA_MAKE_NUM(DATADIR_INST, 0x4A), + DATA_MAKE_NUM(DATADIR_INST, 0x4B), + DATA_MAKE_NUM(DATADIR_INST, 0x4C), + DATA_MAKE_NUM(DATADIR_INST, 0x4D), + DATA_MAKE_NUM(DATADIR_INST, 0x42), + DATA_MAKE_NUM(DATADIR_INST, 0x32), + DATA_MAKE_NUM(DATADIR_INST, 0x42), + DATA_MAKE_NUM(DATADIR_INST, 0x42), + DATA_MAKE_NUM(DATADIR_INST, 0x42), + DATA_MAKE_NUM(DATADIR_INST, 0x42), + DATA_MAKE_NUM(DATADIR_INST, 0x4E), + DATA_MAKE_NUM(DATADIR_INST, 0x4F), + DATA_MAKE_NUM(DATADIR_INST, 0x50), + DATA_MAKE_NUM(DATADIR_INST, 0x51), + DATA_MAKE_NUM(DATADIR_INST, 0x52), + DATA_MAKE_NUM(DATADIR_INST, 0x53), + DATA_MAKE_NUM(DATADIR_INST, 0x54), + DATA_MAKE_NUM(DATADIR_INST, 0x55), + DATA_MAKE_NUM(DATADIR_INST, 0x56), + DATA_MAKE_NUM(DATADIR_INST, 0x57), + DATA_MAKE_NUM(DATADIR_INST, 0x58), + DATA_MAKE_NUM(DATADIR_INST, 0x59), + DATA_MAKE_NUM(DATADIR_INST, 0x5A), + DATA_MAKE_NUM(DATADIR_INST, 0x5B), + DATA_MAKE_NUM(DATADIR_INST, 0x5C), + DATA_MAKE_NUM(DATADIR_INST, 0x5D), + DATA_MAKE_NUM(DATADIR_INST, 0x5E), + DATA_MAKE_NUM(DATADIR_INST, 0x5F), + DATA_MAKE_NUM(DATADIR_INST, 0x60), + DATA_MAKE_NUM(DATADIR_INST, 0x61), + DATA_MAKE_NUM(DATADIR_INST, 0x62), + DATA_MAKE_NUM(DATADIR_INST, 0x63), + DATA_MAKE_NUM(DATADIR_INST, 0x64), + DATA_MAKE_NUM(DATADIR_INST, 0x65), + DATA_MAKE_NUM(DATADIR_INST, 0x66), + DATA_MAKE_NUM(DATADIR_INST, 0x67), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x2F), + DATA_MAKE_NUM(DATADIR_INST, 0x33), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x30), + DATA_MAKE_NUM(DATADIR_INST, 0x31), + DATA_MAKE_NUM(DATADIR_INST, 0x25), + DATA_MAKE_NUM(DATADIR_INST, 0x25), +}; + +s32 fn_1_5EA4(SeqWork *work, char *mess, s16 jp_flag) +{ + char *var_r31; + s16 var_r30; + s16 *var_r29; + s16 var_r28; + s32 *var_r27; + s16 var_r26; + s16 var_r25; + s32 var_r24; + s16 *var_r22; + AnimData **var_r21; + s16 var_r20; + s16 var_r19; + + var_r27 = lbl_1_data_150; + for (var_r25 = 0; var_r25 < 0x10; var_r25++) { + if (work->spr_grp[var_r25] == -1) { + break; + } + } + if (var_r25 == 0x10) { + return -1; + } + var_r21 = HuMemDirectMalloc(HEAP_SYSTEM, 0x190); + var_r22 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8); + var_r29 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8); + + for (var_r31 = mess, var_r30 = 0, var_r28 = 0; var_r31[0] != 0; var_r31++) { + if (var_r31[0] == 0x20 || var_r31[0] == 0x10) { + var_r30 += 0xE; + } + else if (var_r31[0] < 0x30) { + } + else if (var_r31[0] == 0x80) { + } + else if (var_r31[0] == 0x81) { + } + else { + if (var_r31[1] == 0x80) { + if ((var_r31[0] >= 0x96) && (var_r31[0] <= 0xA4)) { + var_r24 = var_r27[var_r31[0] + 0x6A]; + } + else if ((var_r31[0] >= 0xAA) && (var_r31[0] <= 0xAE)) { + var_r24 = var_r27[var_r31[0] + 0x65]; + } + else if ((var_r31[0] >= 0xD6) && (var_r31[0] <= 0xE4)) { + var_r24 = var_r27[var_r31[0] + 0x43]; + } + else if ((var_r31[0] >= 0xEA) && (var_r31[0] <= 0xEE)) { + var_r24 = var_r27[var_r31[0] + 0x3E]; + } + } + else if (var_r31[1] == 0x81) { + if ((var_r31[0] >= 0xAA) && (var_r31[0] <= 0xAE)) { + var_r24 = var_r27[var_r31[0] + 0x6A]; + } + else if ((var_r31[0] >= 0xEA) && (var_r31[0] <= 0xEE)) { + var_r24 = var_r27[var_r31[0] + 0x43]; + } + } + else { + var_r24 = var_r27[var_r31[0]]; + } + var_r21[var_r28] = HuSprAnimReadFile(var_r24); + var_r22[var_r28] = var_r30; + if ((var_r31[0] >= 0x61) && (var_r31[0] <= 0x7A)) { + var_r29[var_r28] = 2; + var_r30 += 0x12; + } + else if ((var_r31[0] == 0xC2) || (var_r31[0] == 0xC3)) { + var_r29[var_r28] = 0; + var_r30 += 0x12; + } + else if (var_r31[0] == 0x5C || var_r31[0] == 0x85) { + var_r29[var_r28] = 0; + var_r30 += 8; + } + else if ((var_r31[0] >= 0x87) && (var_r31[0] <= 0x8F)) { + var_r29[var_r28] = 4; + var_r30 += 0x18; + } + else if ((var_r31[0] >= 0xC7) && (var_r31[0] <= 0xCF)) { + var_r29[var_r28] = 4; + var_r30 += 0x18; + } + else if ((var_r31[0] == 0x3D) || (var_r31[0] == 0x84)) { + var_r29[var_r28] = 0; + var_r30 += 0x14; + } + else { + var_r29[var_r28] = 0; + var_r30 += 0x1C; + } + var_r28++; + } + } + var_r20 = HuSprGrpCreate(var_r28); + work->spr_grp[var_r25] = var_r20; + work->alt_word_len = var_r30; + var_r30 = (var_r30 / 2) - 0xE; + for (var_r26 = 0; var_r26 < var_r28; var_r26++) { + var_r19 = HuSprCreate(var_r21[var_r26], 0, 0); + HuSprGrpMemberSet(var_r20, var_r26, var_r19); + HuSprPosSet(var_r20, var_r26, var_r22[var_r26] - var_r30, var_r29[var_r26]); + } + work->word_len = var_r28; + HuMemDirectFree(var_r21); + HuMemDirectFree(var_r22); + HuMemDirectFree(var_r29); + return var_r25; +} diff --git a/src/REL/instDll/main.c b/src/REL/instDll/main.c index 07ee15ac..dfc11906 100644 --- a/src/REL/instDll/main.c +++ b/src/REL/instDll/main.c @@ -23,6 +23,8 @@ #include "rel_sqrt_consts.h" +#include "REL/instDll.h" + static s16 lbl_1_data_0 = 1; static omObjData *lbl_1_bss_60; @@ -757,8 +759,6 @@ static float lbl_1_data_124[] = { 292 }; -s32 fn_1_5EA4(SeqWork *work, char *mess, s16 jp_flag); - static void fn_1_2FA0(void) { float temp_f31; diff --git a/src/REL/ztardll/font.c b/src/REL/ztardll/font.c index c2c073bd..fe081d17 100644 --- a/src/REL/ztardll/font.c +++ b/src/REL/ztardll/font.c @@ -1,4 +1,5 @@ #include "game/sprite.h" +#include "game/minigame_seq.h" #include "REL/ztardll.h" @@ -54,9 +55,9 @@ s32 lbl_1_data_B0[0xC6] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x0B), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x0C), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00) }; -s32 fn_1_7754(ZtarDllUnkStruct *arg0, u8 *arg1) +s32 fn_1_7754(SeqWork *work, char *mess) { - u8 *var_r31; + char *var_r31; s16 var_r30; s16 *var_r29; s16 var_r28; @@ -71,7 +72,7 @@ s32 fn_1_7754(ZtarDllUnkStruct *arg0, u8 *arg1) var_r27 = lbl_1_data_B0; for (var_r25 = 0; var_r25 < 0x10; var_r25++) { - if (arg0->unk_3A[var_r25] == -1) { + if (work->spr_grp[var_r25] == -1) { break; } } @@ -81,7 +82,7 @@ s32 fn_1_7754(ZtarDllUnkStruct *arg0, u8 *arg1) var_r21 = HuMemDirectMalloc(HEAP_SYSTEM, 0x190); var_r22 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8); var_r29 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8); - for (var_r31 = arg1, var_r30 = 0, var_r28 = 0; var_r31[0] != 0; var_r31++) { + for (var_r31 = mess, var_r30 = 0, var_r28 = 0; var_r31[0] != 0; var_r31++) { if (var_r31[0] == 0x20 || var_r31[0] == 0x10) { var_r30 += 0xE; } @@ -151,15 +152,15 @@ s32 fn_1_7754(ZtarDllUnkStruct *arg0, u8 *arg1) } } var_r20 = HuSprGrpCreate(var_r28); - arg0->unk_3A[var_r25] = var_r20; - arg0->unk_30 = var_r30; + work->spr_grp[var_r25] = var_r20; + work->alt_word_len = var_r30; var_r30 = (var_r30 / 2) - 0xE; for (var_r26 = 0; var_r26 < var_r28; var_r26++) { var_r19 = HuSprCreate(var_r21[var_r26], 0, 0); HuSprGrpMemberSet(var_r20, var_r26, var_r19); HuSprPosSet(var_r20, var_r26, var_r22[var_r26] - var_r30, var_r29[var_r26]); } - arg0->unk_32 = var_r28; + work->word_len = var_r28; HuMemDirectFree(var_r21); HuMemDirectFree(var_r22); HuMemDirectFree(var_r29); diff --git a/src/REL/ztardll/main.c b/src/REL/ztardll/main.c index 6d6d3858..a142e25f 100644 --- a/src/REL/ztardll/main.c +++ b/src/REL/ztardll/main.c @@ -372,13 +372,13 @@ loop_19: void fn_1_1774(void) { - ZtarDllUnkStruct sp8; + SeqWork work; s16 var_r31; s16 var_r30; - u8 *var_r29; + char *var_r29; s16 var_r28; AnimData *var_r27; - u8 *var_r26; + char *var_r26; AnimData *var_r25; AnimData *var_r24; AnimData *var_r23; @@ -390,7 +390,7 @@ void fn_1_1774(void) HuSprGrpDrawNoSet(lbl_1_bss_48, 0x7F); HuSprGrpPosSet(lbl_1_bss_48, 288.0f, 240.0f); for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - sp8.unk_5A[var_r30] = sp8.unk_3A[var_r30] = -1; + work.sprite[var_r30] = work.spr_grp[var_r30] = -1; } var_r29 = MessData_MesPtrGet(messDataPtr, MAKE_MESSID(0x17, 0x21)); for (var_r26 = var_r29; *var_r29 != 0; var_r29++) { @@ -398,7 +398,7 @@ void fn_1_1774(void) *var_r29 = 0x10; } } - lbl_1_bss_52 = sp8.unk_3A[fn_1_7754(&sp8, var_r26)]; + lbl_1_bss_52 = work.spr_grp[fn_1_7754(&work, var_r26)]; HuSprGrpPosSet(lbl_1_bss_52, 288.0f, -300.0f); HuSprGrpDrawNoSet(lbl_1_bss_52, 0x7F); var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 4)); diff --git a/src/REL/ztardll/select.c b/src/REL/ztardll/select.c index 4459c2e8..b092f9b5 100644 --- a/src/REL/ztardll/select.c +++ b/src/REL/ztardll/select.c @@ -67,10 +67,10 @@ void fn_1_C4B8(s32 arg0); void fn_1_C8EC(s32 arg0); void fn_1_CAF0(void); void fn_1_D280(omObjData *arg0, ZtarDllUnkStruct2 *arg1); -void fn_1_DD8C(struct ZtarDllUnkStruct2 *arg0); -void fn_1_E4AC(struct ZtarDllUnkStruct2 *arg0); +void fn_1_DD8C(ZtarDllUnkStruct2 *arg0); +void fn_1_E4AC(ZtarDllUnkStruct2 *arg0); void fn_1_E548(omObjData *arg0, ZtarDllUnkStruct2 *arg1); -s32 fn_1_F214(struct ZtarDllUnkStruct2 *arg0); +s32 fn_1_F214(ZtarDllUnkStruct2 *arg0); void fn_1_FB38(void); void fn_1_FD90(s32 arg0); @@ -2051,49 +2051,48 @@ void fn_1_D280(omObjData *arg0, ZtarDllUnkStruct2 *arg1) } if (arg1->unk_5C != var_r25) { if (lbl_1_bss_74 != 0) { - while(1) { - var_r25 = var_r30 + (var_r29 * 6); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if (((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_50 == 0) && (var_r25 == lbl_1_bss_8C[var_r28].unk_5C)) || (var_r25 == 0) - || (var_r25 == 5) || (var_r25 == 6) || (var_r25 == 0xB)) { - if ((var_r27 == 0) || (var_r26 == 0)) { - if (((var_r30 + var_r27) > 5) || ((var_r30 + var_r27) < 0)) { - var_r30 = var_r23; - } - else { - var_r30 += var_r27; - } - if (((var_r29 + var_r26) > 2) || ((var_r29 + var_r26) < 0)) { - var_r29 = var_r22; - } - else { - var_r29 += var_r26; - } - } - else if (((var_r30 + var_r27) <= 5) && ((var_r30 + var_r27) >= 0)) { - var_r30 += var_r27; - } - else if (((var_r29 + var_r26) <= 2) && ((var_r29 + var_r26) >= 0)) { - var_r29 += var_r26; - } - else { - var_r30 = var_r23; - var_r29 = var_r22; - } - break; - } - else { - - } - } - if(var_r28 == 4) { - break; - } - } + while (1) { + var_r25 = var_r30 + (var_r29 * 6); + for (var_r28 = 0; var_r28 < 4; var_r28++) { + if (((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_50 == 0) && (var_r25 == lbl_1_bss_8C[var_r28].unk_5C)) + || (var_r25 == 0) || (var_r25 == 5) || (var_r25 == 6) || (var_r25 == 0xB)) { + if ((var_r27 == 0) || (var_r26 == 0)) { + if (((var_r30 + var_r27) > 5) || ((var_r30 + var_r27) < 0)) { + var_r30 = var_r23; + } + else { + var_r30 += var_r27; + } + if (((var_r29 + var_r26) > 2) || ((var_r29 + var_r26) < 0)) { + var_r29 = var_r22; + } + else { + var_r29 += var_r26; + } + } + else if (((var_r30 + var_r27) <= 5) && ((var_r30 + var_r27) >= 0)) { + var_r30 += var_r27; + } + else if (((var_r29 + var_r26) <= 2) && ((var_r29 + var_r26) >= 0)) { + var_r29 += var_r26; + } + else { + var_r30 = var_r23; + var_r29 = var_r22; + } + break; + } + else { + } + } + if (var_r28 == 4) { + break; + } + } } else { - while(1) { - var_r25 = var_r30 + (var_r29 * 4); + while (1) { + var_r25 = var_r30 + (var_r29 * 4); for (var_r28 = 0; var_r28 < 4; var_r28++) { if ((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_50 == 0) && (var_r25 == lbl_1_bss_8C[var_r28].unk_5C)) { if ((var_r27 == 0) || (var_r26 == 0)) { @@ -2105,10 +2104,11 @@ void fn_1_D280(omObjData *arg0, ZtarDllUnkStruct2 *arg1) } if (((var_r29 + var_r26) > 1) || ((var_r29 + var_r26) < 0)) { var_r29 = var_r22; - } else { + } + else { var_r29 += var_r26; } - break; + break; } else if (((var_r30 + var_r27) <= 3) && ((var_r30 + var_r27) >= 0)) { var_r30 += var_r27; @@ -2128,10 +2128,10 @@ void fn_1_D280(omObjData *arg0, ZtarDllUnkStruct2 *arg1) continue; } } - if(var_r28 == 4) { - break; - } - } + if (var_r28 == 4) { + break; + } + } } if (lbl_1_bss_74 != 0) { var_r25 = var_r30 + (var_r29 * 6); @@ -2388,8 +2388,8 @@ void fn_1_E548(omObjData *arg0, ZtarDllUnkStruct2 *arg1) } if (arg1->unk_5C != var_r24) { if (lbl_1_bss_74 != 0) { - while(1) { - fn_1_10FBC(1); + while (1) { + fn_1_10FBC(1); var_r24 = var_r30 + (var_r29 * 6); for (var_r28 = 0; var_r28 < 4; var_r28++) { if (((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_08 == 1) && (var_r24 == lbl_1_bss_8C[var_r28].unk_5C)) @@ -2421,10 +2421,10 @@ void fn_1_E548(omObjData *arg0, ZtarDllUnkStruct2 *arg1) break; } } - if(var_r28 == 4) { - break; - } - } + if (var_r28 == 4) { + break; + } + } } else { do { @@ -2506,81 +2506,89 @@ s32 fn_1_F214(ZtarDllUnkStruct2 *arg0) var_r28 = 0; var_r29 = lbl_1_bss_26C[1]; - while(1) { - fn_1_10FBC(1); - var_r28 = 0; - var_r26 = arg0->unk_54; - if(HuPadStkX[lbl_1_bss_8C[0].unk_58] >= 5 || (HuPadBtn[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_RIGHT)) { - if(GWGameStat.field10E_bit4 == 1) { - arg0->unk_54++; - var_r28 = 1; - if(arg0->unk_54 > 3) { - arg0->unk_54 = 0; - } - } else { - arg0->unk_54++; - var_r28 = 1; - if(arg0->unk_54 > 2) { - arg0->unk_54 = 0; - } - } - } else if(HuPadStkX[lbl_1_bss_8C[0].unk_58] <= -5 || (HuPadBtn[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_LEFT)) { - if(GWGameStat.field10E_bit4 == 1) { - arg0->unk_54--; - var_r28 = -1; - if(arg0->unk_54 < 0) { - arg0->unk_54 = 3; - } - } else { - arg0->unk_54--; - var_r28 = -1; - if(arg0->unk_54 < 0) { - arg0->unk_54 = 2; - } - } - } else if(HuPadBtnDown[0] & PAD_BUTTON_A) { - var_r27 = 1; - break; - } else if(HuPadBtnDown[0] & PAD_BUTTON_B) { - var_r27 = 0; - HuAudFXPlay(3); - break; - } - if(arg0->unk_54 != var_r26) { - HuAudFXPlay(0); - for(var_r30=0; var_r30<=5; var_r30++) { - fn_1_10FBC(1); - if(lbl_1_bss_74) { - var_f31 = fn_1_10E38(lbl_1_data_584[arg0->unk_5C][0], lbl_1_data_584[arg0->unk_5C][0]+(var_r28*10), var_r30, 5.0f); - HuSprPosSet(var_r29, arg0->unk_48+46, var_f31, lbl_1_data_584[arg0->unk_5C][1]+35); - } else { - var_f31 = fn_1_10E38(lbl_1_data_4D4[arg0->unk_5C%4][0], lbl_1_data_4D4[arg0->unk_5C%4][0]+(var_r28*10), var_r30, 5.0f); - HuSprPosSet(var_r29, arg0->unk_48+46, var_f31, lbl_1_data_4D4[(arg0->unk_5C/4)*4][1]+35); - } - } - HuSprBankSet(var_r29, arg0->unk_48+46, arg0->unk_54); - for(var_r30=0; var_r30<=5; var_r30++) { - fn_1_10FBC(1); - if(lbl_1_bss_74) { - var_f31 = fn_1_10E38(lbl_1_data_584[arg0->unk_5C][0]+(var_r28*10), lbl_1_data_584[arg0->unk_5C][0], var_r30, 5.0f); - HuSprPosSet(var_r29, arg0->unk_48+46, var_f31, lbl_1_data_584[arg0->unk_5C][1]+35); - } else { - var_f31 = fn_1_10E38(lbl_1_data_4D4[arg0->unk_5C%4][0]+(var_r28*10), lbl_1_data_4D4[arg0->unk_5C%4][0], var_r30, 5.0f); - HuSprPosSet(var_r29, arg0->unk_48+46, var_f31, lbl_1_data_4D4[(arg0->unk_5C/4)*4][1]+35); - } - } - } - } - if(var_r27 == 1) { - if(lbl_1_bss_74) { - HuSprPosSet(var_r29, arg0->unk_48+50, lbl_1_data_584[arg0->unk_5C][0], lbl_1_data_584[arg0->unk_5C][1]+35); - } else { - HuSprPosSet(var_r29, arg0->unk_48+50, lbl_1_data_4D4[arg0->unk_5C%4][0], lbl_1_data_4D4[(arg0->unk_5C/4)*4][1]+35); - } - HuSprBankSet(var_r29, arg0->unk_48+50, arg0->unk_54); - HuSprAttrReset(var_r29, arg0->unk_48+50, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r29, arg0->unk_48+46, HUSPR_ATTR_DISPOFF); - } + while (1) { + fn_1_10FBC(1); + var_r28 = 0; + var_r26 = arg0->unk_54; + if (HuPadStkX[lbl_1_bss_8C[0].unk_58] >= 5 || (HuPadBtn[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_RIGHT)) { + if (GWGameStat.field10E_bit4 == 1) { + arg0->unk_54++; + var_r28 = 1; + if (arg0->unk_54 > 3) { + arg0->unk_54 = 0; + } + } + else { + arg0->unk_54++; + var_r28 = 1; + if (arg0->unk_54 > 2) { + arg0->unk_54 = 0; + } + } + } + else if (HuPadStkX[lbl_1_bss_8C[0].unk_58] <= -5 || (HuPadBtn[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_LEFT)) { + if (GWGameStat.field10E_bit4 == 1) { + arg0->unk_54--; + var_r28 = -1; + if (arg0->unk_54 < 0) { + arg0->unk_54 = 3; + } + } + else { + arg0->unk_54--; + var_r28 = -1; + if (arg0->unk_54 < 0) { + arg0->unk_54 = 2; + } + } + } + else if (HuPadBtnDown[0] & PAD_BUTTON_A) { + var_r27 = 1; + break; + } + else if (HuPadBtnDown[0] & PAD_BUTTON_B) { + var_r27 = 0; + HuAudFXPlay(3); + break; + } + if (arg0->unk_54 != var_r26) { + HuAudFXPlay(0); + for (var_r30 = 0; var_r30 <= 5; var_r30++) { + fn_1_10FBC(1); + if (lbl_1_bss_74) { + var_f31 = fn_1_10E38(lbl_1_data_584[arg0->unk_5C][0], lbl_1_data_584[arg0->unk_5C][0] + (var_r28 * 10), var_r30, 5.0f); + HuSprPosSet(var_r29, arg0->unk_48 + 46, var_f31, lbl_1_data_584[arg0->unk_5C][1] + 35); + } + else { + var_f31 = fn_1_10E38(lbl_1_data_4D4[arg0->unk_5C % 4][0], lbl_1_data_4D4[arg0->unk_5C % 4][0] + (var_r28 * 10), var_r30, 5.0f); + HuSprPosSet(var_r29, arg0->unk_48 + 46, var_f31, lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1] + 35); + } + } + HuSprBankSet(var_r29, arg0->unk_48 + 46, arg0->unk_54); + for (var_r30 = 0; var_r30 <= 5; var_r30++) { + fn_1_10FBC(1); + if (lbl_1_bss_74) { + var_f31 = fn_1_10E38(lbl_1_data_584[arg0->unk_5C][0] + (var_r28 * 10), lbl_1_data_584[arg0->unk_5C][0], var_r30, 5.0f); + HuSprPosSet(var_r29, arg0->unk_48 + 46, var_f31, lbl_1_data_584[arg0->unk_5C][1] + 35); + } + else { + var_f31 = fn_1_10E38(lbl_1_data_4D4[arg0->unk_5C % 4][0] + (var_r28 * 10), lbl_1_data_4D4[arg0->unk_5C % 4][0], var_r30, 5.0f); + HuSprPosSet(var_r29, arg0->unk_48 + 46, var_f31, lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1] + 35); + } + } + } + } + if (var_r27 == 1) { + if (lbl_1_bss_74) { + HuSprPosSet(var_r29, arg0->unk_48 + 50, lbl_1_data_584[arg0->unk_5C][0], lbl_1_data_584[arg0->unk_5C][1] + 35); + } + else { + HuSprPosSet(var_r29, arg0->unk_48 + 50, lbl_1_data_4D4[arg0->unk_5C % 4][0], lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1] + 35); + } + HuSprBankSet(var_r29, arg0->unk_48 + 50, arg0->unk_54); + HuSprAttrReset(var_r29, arg0->unk_48 + 50, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r29, arg0->unk_48 + 46, HUSPR_ATTR_DISPOFF); + } return var_r27; }