From 4adbe64596371890d4baa2bbca93f72261ce05b7 Mon Sep 17 00:00:00 2001 From: farisawan-2000 Date: Mon, 26 Oct 2020 13:47:37 -0400 Subject: [PATCH] general update, documented controller struct --- .../ovl0/ovl0_2_5/func_8000B6BC.s | 44 ------- .../ovl7/ovl7_16/func_801BDB50_ovl7.s | 36 ------ dataDisasm.py | 2 +- include/types.h | 9 +- src/ovl0/ovl0_2_5.h | 3 +- src/ovl0/ovl0_2_5_2.c | 49 +++---- src/ovl3/ovl3.c | 58 ++++----- src/ovl7/ovl7_16.c | 14 +- src/ovl7/yakulib.c | 120 +++++++++--------- 9 files changed, 121 insertions(+), 214 deletions(-) delete mode 100644 asm/non_matchings/ovl0/ovl0_2_5/func_8000B6BC.s delete mode 100644 asm/non_matchings/ovl7/ovl7_16/func_801BDB50_ovl7.s diff --git a/asm/non_matchings/ovl0/ovl0_2_5/func_8000B6BC.s b/asm/non_matchings/ovl0/ovl0_2_5/func_8000B6BC.s deleted file mode 100644 index 4338f0e2..00000000 --- a/asm/non_matchings/ovl0/ovl0_2_5/func_8000B6BC.s +++ /dev/null @@ -1,44 +0,0 @@ -glabel func_8000B6BC -/* 00C2BC 8000B6BC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00C2C0 8000B6C0 3C028005 */ lui $v0, %hi(D_8004A7D0) # $v0, 0x8005 -/* 00C2C4 8000B6C4 8C42A7D0 */ lw $v0, %lo(D_8004A7D0)($v0) -/* 00C2C8 8000B6C8 AFBF001C */ sw $ra, 0x1c($sp) -/* 00C2CC 8000B6CC AFB10018 */ sw $s1, 0x18($sp) -/* 00C2D0 8000B6D0 AFB00014 */ sw $s0, 0x14($sp) -/* 00C2D4 8000B6D4 8C4E001C */ lw $t6, 0x1c($v0) -/* 00C2D8 8000B6D8 00808025 */ move $s0, $a0 -/* 00C2DC 8000B6DC 3C01FEDC */ lui $at, (0xFEDCBA98 >> 16) # lui $at, 0xfedc -/* 00C2E0 8000B6E0 8DCF01B8 */ lw $t7, 0x1b8($t6) -/* 00C2E4 8000B6E4 3421BA98 */ ori $at, (0xFEDCBA98 & 0xFFFF) # ori $at, $at, 0xba98 -/* 00C2E8 8000B6E8 3C048004 */ lui $a0, %hi(D_80040670) # $a0, 0x8004 -/* 00C2EC 8000B6EC 8DF80038 */ lw $t8, 0x38($t7) -/* 00C2F0 8000B6F0 8DF9003C */ lw $t9, 0x3c($t7) -/* 00C2F4 8000B6F4 57000004 */ bnezl $t8, .L8000B708_ovl0 -/* 00C2F8 8000B6F8 8C480018 */ lw $t0, 0x18($v0) -/* 00C2FC 8000B6FC 13210005 */ beq $t9, $at, .L8000B714_ovl0 -/* 00C300 8000B700 00000000 */ nop -/* 00C304 8000B704 8C480018 */ lw $t0, 0x18($v0) -.L8000B708_ovl0: -/* 00C308 8000B708 24840670 */ addiu $a0, %lo(D_80040670) # addiu $a0, $a0, 0x670 -/* 00C30C 8000B70C 0C008C27 */ jal fatal_printf -/* 00C310 8000B710 8D050000 */ lw $a1, ($t0) -.L8000B714_ovl0: -/* 00C314 8000B714 1200000B */ beqz $s0, .L8000B744_ovl0 -/* 00C318 8000B718 3C118005 */ lui $s1, %hi(D_8004A7E0) # $s1, 0x8005 -/* 00C31C 8000B71C 2631A7E0 */ addiu $s1, %lo(D_8004A7E0) # addiu $s1, $s1, -0x5820 -/* 00C320 8000B720 02202025 */ move $a0, $s1 -.L8000B724_ovl0: -/* 00C324 8000B724 24050001 */ li $a1, 1 -/* 00C328 8000B728 0C00B4BC */ jal osSendMesg -/* 00C32C 8000B72C 00003025 */ move $a2, $zero -/* 00C330 8000B730 0C00B510 */ jal osStopThread -/* 00C334 8000B734 00002025 */ move $a0, $zero -/* 00C338 8000B738 2610FFFF */ addiu $s0, $s0, -1 -/* 00C33C 8000B73C 5600FFF9 */ bnezl $s0, .L8000B724_ovl0 -/* 00C340 8000B740 02202025 */ move $a0, $s1 -.L8000B744_ovl0: -/* 00C344 8000B744 8FBF001C */ lw $ra, 0x1c($sp) -/* 00C348 8000B748 8FB00014 */ lw $s0, 0x14($sp) -/* 00C34C 8000B74C 8FB10018 */ lw $s1, 0x18($sp) -/* 00C350 8000B750 03E00008 */ jr $ra -/* 00C354 8000B754 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/non_matchings/ovl7/ovl7_16/func_801BDB50_ovl7.s b/asm/non_matchings/ovl7/ovl7_16/func_801BDB50_ovl7.s deleted file mode 100644 index 1f5c2b03..00000000 --- a/asm/non_matchings/ovl7/ovl7_16/func_801BDB50_ovl7.s +++ /dev/null @@ -1,36 +0,0 @@ -glabel func_801BDB50_ovl7 -/* 163BC0 801BDB50 3C0E8005 */ lui $t6, %hi(D_8004A7C4) # $t6, 0x8005 -/* 163BC4 801BDB54 8DCEA7C4 */ lw $t6, %lo(D_8004A7C4)($t6) -/* 163BC8 801BDB58 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 163BCC 801BDB5C AFBF0014 */ sw $ra, 0x14($sp) -/* 163BD0 801BDB60 AFA40020 */ sw $a0, 0x20($sp) -/* 163BD4 801BDB64 8DC20000 */ lw $v0, ($t6) -/* 163BD8 801BDB68 3C0F800E */ lui $t7, %hi(D_800E1B50) -/* 163BDC 801BDB6C 3C18801C */ lui $t8, %hi(D_801BDBDC) # $t8, 0x801c -/* 163BE0 801BDB70 00021080 */ sll $v0, $v0, 2 -/* 163BE4 801BDB74 01E27821 */ addu $t7, $t7, $v0 -/* 163BE8 801BDB78 8DEF1B50 */ lw $t7, %lo(D_800E1B50)($t7) -/* 163BEC 801BDB7C 3C01800E */ lui $at, %hi(D_800DF150) -/* 163BF0 801BDB80 00220821 */ addu $at, $at, $v0 -/* 163BF4 801BDB84 2718DBDC */ addiu $t8, %lo(D_801BDBDC) # addiu $t8, $t8, -0x2424 -/* 163BF8 801BDB88 3C040001 */ lui $a0, (0x000105F0 >> 16) # lui $a0, 1 -/* 163BFC 801BDB8C AC38F150 */ sw $t8, %lo(D_800DF150)($at) -/* 163C00 801BDB90 348405F0 */ ori $a0, (0x000105F0 & 0xFFFF) # ori $a0, $a0, 0x5f0 -/* 163C04 801BDB94 0C02A806 */ jal func_800AA018_ovl7 -/* 163C08 801BDB98 AFAF001C */ sw $t7, 0x1c($sp) -/* 163C0C 801BDB9C 3C040001 */ lui $a0, (0x000105F1 >> 16) # lui $a0, 1 -/* 163C10 801BDBA0 0C02A806 */ jal func_800AA018_ovl7 -/* 163C14 801BDBA4 348405F1 */ ori $a0, (0x000105F1 & 0xFFFF) # ori $a0, $a0, 0x5f1 -/* 163C18 801BDBA8 8FB90020 */ lw $t9, 0x20($sp) -/* 163C1C 801BDBAC 00002025 */ move $a0, $zero -/* 163C20 801BDBB0 24050002 */ li $a1, 2 -/* 163C24 801BDBB4 24060034 */ li $a2, 52 -/* 163C28 801BDBB8 0C02A040 */ jal func_800A8100_ovl7 -/* 163C2C 801BDBBC 8F27003C */ lw $a3, 0x3c($t9) -/* 163C30 801BDBC0 8FA8001C */ lw $t0, 0x1c($sp) -/* 163C34 801BDBC4 0C02BE85 */ jal func_800AFA14_ovl7 -/* 163C38 801BDBC8 AD020034 */ sw $v0, 0x34($t0) -/* 163C3C 801BDBCC 8FBF0014 */ lw $ra, 0x14($sp) -/* 163C40 801BDBD0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 163C44 801BDBD4 03E00008 */ jr $ra -/* 163C48 801BDBD8 00000000 */ nop diff --git a/dataDisasm.py b/dataDisasm.py index 5c18c9da..eb890d8c 100644 --- a/dataDisasm.py +++ b/dataDisasm.py @@ -2,7 +2,7 @@ import sys, os,binascii, struct addr = sys.argv[2] file = open(sys.argv[1],'rb') -specificOvl = "_ovl9" +specificOvl = "_ovl3" if len(sys.argv) == 4: specificOvl = sys.argv[3] diff --git a/include/types.h b/include/types.h index e3732cdf..4b2b75b5 100644 --- a/include/types.h +++ b/include/types.h @@ -65,7 +65,14 @@ struct Entity { /* 0x20 */ Vec3f scale; }; - +typedef struct Controller_800D6FE8 { + u16 buttonHeld; + u16 buttonPressed; + u16 buttonHeldLong; // this one becomes active a bit after buttonDown + u16 buttonReleased; + s8 stickX; + s8 stickY; +} Controller_800D6FE8; // 0x8012E7C0 // TODO: populate with actual values diff --git a/src/ovl0/ovl0_2_5.h b/src/ovl0/ovl0_2_5.h index 4e6ab654..a740c825 100644 --- a/src/ovl0/ovl0_2_5.h +++ b/src/ovl0/ovl0_2_5.h @@ -10,6 +10,7 @@ struct ObjStack { u64 stack[0x20]; }; +// if a function that uses ObjThread doesnt match, try this definition // struct ObjThread { // struct ObjThread *unk0; // u32 unk4; @@ -37,7 +38,7 @@ struct ObjThreadStack { u32 unkC; u32 unk10; u32 unk14; - u32 *unk18; + u32 *objId; // is this a pointer to the "object" itself? struct ObjThread *objThread; u32 pad[10]; }; diff --git a/src/ovl0/ovl0_2_5_2.c b/src/ovl0/ovl0_2_5_2.c index 5d708643..e44026a0 100644 --- a/src/ovl0/ovl0_2_5_2.c +++ b/src/ovl0/ovl0_2_5_2.c @@ -2589,30 +2589,28 @@ void func_8000B57C(void *arg0, s32 arg1, s32 arg2) { void *phi_a0; phi_s6 = D_8004A578; -loop_1: - temp_a0 = *phi_s6; - phi_a0 = temp_a0; - if (temp_a0 != 0) { -loop_2: - temp_s0 = phi_a0->unk4; - if ((arg0(phi_a0, arg1) != 0) && (arg2 == 1)) { - return; - } - phi_a0 = temp_s0; - if (temp_s0 != 0) { - goto loop_2; + do { + phi_a0 = *phi_s6; + if (phi_a0 != 0) { + loop_2: + temp_s0 = phi_a0->unk4; + if ((arg0(phi_a0, arg1) != 0) && (arg2 == 1)) { + return; + } + phi_a0 = temp_s0; + if (temp_s0 != 0) { + goto loop_2; + } } + phi_s6 += 4; } - temp_s6 = phi_s6 + 4; - phi_s6 = temp_s6; - if (temp_s6 != D_8004A5F8) { - goto loop_1; - } + while (phi_s6 != D_8004A5F8); } #else GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000B57C.s") #endif +void *func_8000B63C(void (*arg0)(void), s32 arg1); #ifdef MIPS_TO_C void *func_8000B63C(void *arg0, s32 arg1) { if (arg1 == *arg0) { @@ -2624,18 +2622,16 @@ void *func_8000B63C(void *arg0, s32 arg1) { GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000B63C.s") #endif -extern u32 D_8000B63C; - void func_8000B4D4(u32, void*, s32, s32); void func_8000B65C(u32 arg0, s32 arg1) { - func_8000B4D4(arg0, &D_8000B63C, arg1, 1); + func_8000B4D4(arg0, &func_8000B63C, arg1, 1); } void func_8000B57C(void*, s32, s32); void func_8000B688(s32 arg0) { - func_8000B57C(&D_8000B63C, arg0, 1); + func_8000B57C(&func_8000B63C, arg0, 1); } void func_8000B6B4(s32 arg0) { @@ -2647,22 +2643,17 @@ extern struct ObjThreadStack *D_8004A7D0; extern OSMesgQueue *D_8004A7E0; extern const char D_80040670[]; -// unnecessary usage of s1 -#ifdef NON_MATCHING void func_8000B6BC(s32 arg) { - s32 i; if (D_8004A7D0->objThread->objStack->stack[7] != STACK_TOP_MAGIC) { - fatal_printf(&D_80040670, *D_8004A7D0->unk18); + fatal_printf(&D_80040670, *D_8004A7D0->objId); // "gobjthread stack over gobjid = %d\n" } - for (i = arg; i != 0; i--) { + while (arg != 0) { osSendMesg(&D_8004A7E0, (OSMesg)1, OS_MESG_NOBLOCK); osStopThread(NULL); + arg--; } } -#else -GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000B6BC.s") -#endif #ifdef MIPS_TO_C void *func_8000B758(u32 *arg0) { diff --git a/src/ovl3/ovl3.c b/src/ovl3/ovl3.c index 8a9d453b..5e410ba7 100644 --- a/src/ovl3/ovl3.c +++ b/src/ovl3/ovl3.c @@ -1,20 +1,16 @@ #include #include #include "types.h" +#include "D_8004A7C4.h" extern struct KirbyState gKirbyState; extern u32 func_80121194_ovl3(void); -extern u32 *D_8004A7C4; extern u32 D_800D6FAC, D_800E8AE0[]; extern void func_80122F6C_ovl2(s16 a, s16 b); -// Interchangeable definitions -// extern struct { -// u16 unk0; -// u16 unk2; -// } D_800D6FE8; -extern u16 D_800D6FE8; -extern u16 D_800D6FEA; + +extern Controller_800D6FE8 D_800D6FE8; +// extern u16 D_800D6FEA; u32 func_80151100_ovl3(void) { if ((gKirbyState.isTurning & 1) == 0) { @@ -27,12 +23,12 @@ u32 func_80151100_ovl3(void) { return 0; } -#ifdef NON_MATCHING +#ifdef NON_MATCHING_1 u32 func_80151160_ovl3(void) { if (D_800D6FAC == 0) { - if ((D_800D6FE8 & 0x400) == 0) { - if ((D_800D6FEA & 0x8000) != 0) { - if (D_800E8AE0[*D_8004A7C4] & 6 != 6 || (D_800D6FE8 & 0xB00) == 0) { + if ((D_800D6FE8 & D_JPAD) == 0) { + if ((D_800D6FEA & A_BUTTON) != 0) { + if (D_800E8AE0[D_8004A7C4->unk0] & 6 != 6 || (D_800D6FE8 & 0xB00) == 0) { func_80122F6C_ovl3(3, 5); return 2; } @@ -41,7 +37,7 @@ u32 func_80151160_ovl3(void) { return 2; } } - if (D_800E8AE0[*D_8004A7C4] & 6 == 6) { + if (D_800E8AE0[D_8004A7C4->unk0] & 6 == 6) { if ((D_800D6FE8 & 0x800) != 0) { if (gKirbyState.action != 0xA) { if (gKirbyState.action != 0xB) { @@ -65,8 +61,8 @@ u32 func_80151288_ovl3(void) { s32 phi_v1; void *phi_a3; - temp_v0 = *D_8004A7C4 * 4; - if (((D_800E8AE0[*D_8004A7C4] & 6) != 0) { + temp_v0 = D_8004A7C4->unk0 * 4; + if (((D_800E8AE0[D_8004A7C4->unk0] & 6) != 0) { if (D_800D6FAC == 0) { if (gKirbyState.unk4 == 2) { if (((D_800D6FE8.unk2 & 0x8000) != 0) || (D_800D6FE8 & 0x300) != 0 || (D_800D6FE8 & 0xF00) != 0) { @@ -132,7 +128,7 @@ extern u16 D_800D6FB2, D_800D6FB0, D_80198838; extern u32 D_800D6FA8; extern u32 D_800E8920[]; #ifdef MIPS_TO_C -generated by mips_to_c commit 09d006c9da5d6bbcd31ac6ca5c9165c1a8533a83 +// generated by mips_to_c commit 09d006c9da5d6bbcd31ac6ca5c9165c1a8533a83 u32 func_80151448_ovl3(void) { s32 temp_a0; s32 temp_v0; @@ -174,7 +170,7 @@ u32 func_80151448_ovl3(void) { if (gKirbyState.abilityInUse == 0) { if (gKirbyState.unk8 == 0) { if (((D_800D6FA8 | D_800D6FAC) | D_800D6FB0) == 0) { - if (D_800E8920[*D_8004A7C4] != 0) { + if (D_800E8920[D_8004A7C4->unk0] != 0) { if ((D_800D6FEA & 0x400) == 0) { if ((D_800D6FEA & 0x3F) != 0) { gKirbyState.unkA4 = 1; @@ -251,7 +247,7 @@ u32 func_80151448_ovl3(void) { } } } else { - if (D_800E8920[*D_8004A7C4] != 0) { + if (D_800E8920[D_8004A7C4->unk0] != 0) { if ((D_800D6FEA & 0x400) != 0) { gKirbyState.unk30 = 0; gKirbyState.unk7 = (u8)0; @@ -276,7 +272,7 @@ u32 func_801517FC_ovl3(void) { if (func_80179130_ovl3() != 0) { return 3; } else { - if (D_800E8920[*D_8004A7C4] == 0) { + if (D_800E8920[D_8004A7C4->unk0] == 0) { func_80122F6C_ovl2(6, 6); return 3; } @@ -286,7 +282,7 @@ u32 func_801517FC_ovl3(void) { u32 func_80151864_ovl3(void) { if (D_800D6FAC == 0) { - if ((D_800D6FE8 & 0x400) != 0) { + if ((D_800D6FE8.buttonHeld & 0x400) != 0) { if (gKirbyState.unk4 == 0) { if ((gKirbyState.isTurning & 2) == 0) { gKirbyState.unk30 = 0; @@ -323,7 +319,7 @@ u32 func_80151938_ovl3(void) { if (gKirbyState.unk151 != 0) { if ((gKirbyState.isTurning & 1) == 0) { if (gKirbyState.unk4 == 0) { - if (D_800E3210[*D_8004A7C4] <= 0.0f) { + if (D_800E3210[D_8004A7C4->unk0] <= 0.0f) { if (func_801210FC_ovl3() != 0) { func_80122F6C_ovl3(0xF, 0xC); return 6; @@ -337,7 +333,7 @@ u32 func_80151938_ovl3(void) { u32 func_801519D4_ovl3(void) { if (gKirbyState.unk4 == 0) { - if ((D_800D6FEA & 0x400) != 0) { + if ((D_800D6FE8.buttonPressed & 0x400) != 0) { gKirbyState.unk7 = 0; func_80122F6C_ovl3(9, 0xE); return 0xB; @@ -349,8 +345,8 @@ u32 func_801519D4_ovl3(void) { gKirbyState.unk2C = 0xE; gKirbyState.isTurning |= 1; } else { - if ((D_800D6FE8 & 0x300) != 0) { - if ((D_800D6FE8 & 0x400) == 0) { + if ((D_800D6FE8.buttonHeld & 0x300) != 0) { + if ((D_800D6FE8.buttonHeld & 0x400) == 0) { gKirbyState.unk38 = 0.0f; func_80122F6C_ovl3(1, 3); return 0xB; @@ -362,8 +358,8 @@ u32 func_801519D4_ovl3(void) { if (gKirbyState.unk2C != 0) { gKirbyState.unk2C = (s32) (gKirbyState.unk2C - 1); } else { - if ((D_800D6FE8 & 0x300) != 0) { - if ((D_800D6FE8 & 0x400) == 0) { + if ((D_800D6FE8.buttonHeld & 0x300) != 0) { + if ((D_800D6FE8.buttonHeld & 0x400) == 0) { gKirbyState.unk38 = 0.0f; func_80122F6C_ovl3(1, 3); return 0xB; @@ -379,8 +375,8 @@ extern u32 D_8012E7F4; u32 func_80151AF4_ovl3(void) { if ((D_8012E7F4 & 1) == 0) { - if ((D_800D6FE8 & 0x300) == 0) { - if (0.0f == D_800E64D0[*D_8004A7C4]) { + if ((D_800D6FE8.buttonHeld & 0x300) == 0) { + if (0.0f == D_800E64D0[D_8004A7C4->unk0]) { func_80122F6C_ovl3(0, 1); return 0xC; } @@ -412,7 +408,7 @@ u32 func_80151B78_ovl3(void) { } } else { if (D_800D6FAC == 0) { - if ((D_800D6FE8 & 0x400) != 0) { + if ((D_800D6FE8.buttonHeld & 0x400) != 0) { func_80122F6C_ovl3(0xB, 0x10); return 0xD; } @@ -432,7 +428,7 @@ GLOBAL_ASM("asm/non_matchings/ovl3/ovl3/func_80151B78_ovl3.s") s32 temp_v0; s32 temp_v0_2; - temp_v0 = *D_8004A7C4 * 4; + temp_v0 = D_8004A7C4->unk0 * 4; if (((temp_v0 + 0x800F0000)->unk-7520 & 6) == 0) { if (*(temp_v0 + 0x800F0000) != 0) { func_80122F6C_ovl3(1, 3); @@ -473,7 +469,7 @@ GLOBAL_ASM("asm/non_matchings/ovl3/ovl3/func_80151B78_ovl3.s") return 0xE; } if ((D_800D6FE8 & 0x700) == 0) { - temp_v0_2 = *D_8004A7C4 * 4; + temp_v0_2 = D_8004A7C4->unk0 * 4; if ((temp_v0_2 + 0x800F0000)->unk-6AA0 == 0) { if (0.0f == (temp_v0_2 + 0x800E0000)->unk64D0) { if ((temp_v0_2 + 0x800E0000)->unk3210 <= D_80196DD0) { diff --git a/src/ovl7/ovl7_16.c b/src/ovl7/ovl7_16.c index 93d093a9..6a800457 100644 --- a/src/ovl7/ovl7_16.c +++ b/src/ovl7/ovl7_16.c @@ -158,23 +158,15 @@ typedef struct { void func_801BDBDC_ovl7(UNUSED s32 arg0); -#ifdef NON_MATCHING -//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326 void func_801BDB50_ovl7(UnkStruct_801BDB50 *arg0) { - struct UnkStruct800E1B50 *sp1C; - s32 temp_v0; + struct UnkStruct800E1B50 *sp1C = D_800E1B50[D_8004A7C4->unk0];; - temp_v0 = D_8004A7C4->unk0; - D_800DF150[temp_v0] = &func_801BDBDC_ovl7; - sp1C = D_800E1B50[temp_v0]; + D_800DF150[D_8004A7C4->unk0] = &func_801BDBDC_ovl7; func_800AA018_ovl7(0x105F0); func_800AA018_ovl7(0x105F1); sp1C->unk34 = func_800A8100_ovl7(0, 2, 0x34, arg0->unk3C); func_800AFA14_ovl7(); } -#else -GLOBAL_ASM("asm/non_matchings/ovl7/ovl7_16/func_801BDB50_ovl7.s") -#endif void func_801BDBDC_ovl7(UNUSED s32 arg0) { func_801A0880_ovl7(); @@ -674,7 +666,7 @@ extern f32 D_801CE5D4; extern f32 D_801CE5D8; f32 func_8019DA50_ovl7(f32); -#ifdef NON_MATCHING +#ifdef NON_MATCHING //generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326 void func_801BEF18_ovl7(void) { f32 temp_f0; diff --git a/src/ovl7/yakulib.c b/src/ovl7/yakulib.c index affdb22d..a57c8c75 100644 --- a/src/ovl7/yakulib.c +++ b/src/ovl7/yakulib.c @@ -115,33 +115,33 @@ void func_801BC1AC_ovl7(s32 arg0) { } s32 func_801BC27C_ovl7(s32 arg0, s32 arg1) { - s32 temp_v0; + s32 idx; s32 sp1C; - temp_v0 = func_800AEC08(0x1F, 0x1E, 0x3C); - if (temp_v0 == -1) { + idx = func_800AEC08(0x1F, 0x1E, 0x3C); + if (idx == -1) { print_error_stub("reqMixStarTrk Request Error!![yakulib.cc]\n"); return -1; } - D_800E76C0[temp_v0] = 0xFF; - D_800E7730[temp_v0] = 6; - D_800E77A0[temp_v0] = arg0; - D_800E7880[temp_v0] = arg1; - D_800E5F90[temp_v0] = D_800E5F90[D_800E0D50[temp_v0]]; - D_800E6BD0[temp_v0] = D_800E6BD0[D_800E0D50[temp_v0]]; - D_800E6A10[temp_v0] = D_800E6A10[D_800E0D50[temp_v0]]; - if (D_800E0D50[temp_v0] == 0) { - sp1C = temp_v0; - D_800E2790[temp_v0] = func_8019B144_ovl7(); + D_800E76C0[idx] = 0xFF; + D_800E7730[idx] = 6; + D_800E77A0[idx] = arg0; + D_800E7880[idx] = arg1; + D_800E5F90[idx] = D_800E5F90[D_800E0D50[idx]]; + D_800E6BD0[idx] = D_800E6BD0[D_800E0D50[idx]]; + D_800E6A10[idx] = D_800E6A10[D_800E0D50[idx]]; + if (D_800E0D50[idx] == 0) { + sp1C = idx; + D_800E2790[idx] = func_8019B144_ovl7(); } else { - D_800E2790[temp_v0] = D_800E2790[D_800E0D50[temp_v0]]; + D_800E2790[idx] = D_800E2790[D_800E0D50[idx]]; } - D_800E4010[temp_v0] = D_800E4010[D_800E0D50[temp_v0]]; - D_800E41D0[temp_v0] = D_800E41D0[D_800E0D50[temp_v0]]; - D_800E4390[temp_v0] = D_800E4390[D_800E0D50[temp_v0]]; - D_800E8E60[temp_v0] = 0; + D_800E4010[idx] = D_800E4010[D_800E0D50[idx]]; + D_800E41D0[idx] = D_800E41D0[D_800E0D50[idx]]; + D_800E4390[idx] = D_800E4390[D_800E0D50[idx]]; + D_800E8E60[idx] = 0; D_800E8220[D_8004A7C4->unk0] = 1; - sp1C = temp_v0; + sp1C = idx; func_801BC44C_ovl7(arg0); D_800D7090 = sp1C; return sp1C; @@ -161,32 +161,32 @@ void func_801BC44C_ovl7(s32 arg0) { extern const char D_801CE520[]; s32 func_801BC580_ovl7(s32 arg0) { - s32 temp_v0; + s32 idx; s32 sp1C; - temp_v0 = func_800AEC08(0x1F, 0x1E, 0x3C); - if (temp_v0 == -1) { + idx = func_800AEC08(0x1F, 0x1E, 0x3C); + if (idx == -1) { print_error_stub(&D_801CE520); return -1; } - D_800E76C0[temp_v0] = 0xFF; - D_800E7730[temp_v0] = 6; - D_800E77A0[temp_v0] = arg0 + 0x24; - D_800E7880[temp_v0] = 0; - D_800E5F90[temp_v0] = D_800E5F90[D_800E0D50[temp_v0]]; - D_800E6BD0[temp_v0] = D_800E6BD0[D_800E0D50[temp_v0]]; - D_800E6A10[temp_v0] = D_800E6A10[D_800E0D50[temp_v0]]; - if (D_800E0D50[temp_v0] == 0) { - sp1C = temp_v0; - D_800E2790[temp_v0] = func_8019B144_ovl7(); + D_800E76C0[idx] = 0xFF; + D_800E7730[idx] = 6; + D_800E77A0[idx] = arg0 + 0x24; + D_800E7880[idx] = 0; + D_800E5F90[idx] = D_800E5F90[D_800E0D50[idx]]; + D_800E6BD0[idx] = D_800E6BD0[D_800E0D50[idx]]; + D_800E6A10[idx] = D_800E6A10[D_800E0D50[idx]]; + if (D_800E0D50[idx] == 0) { + sp1C = idx; + D_800E2790[idx] = func_8019B144_ovl7(); } else { - D_800E2790[temp_v0] = D_800E2790[D_800E0D50[temp_v0]]; + D_800E2790[idx] = D_800E2790[D_800E0D50[idx]]; } - D_800E4010[temp_v0] = D_800E4010[D_800E0D50[temp_v0]]; - D_800E41D0[temp_v0] = D_800E41D0[D_800E0D50[temp_v0]]; - D_800E4390[temp_v0] = D_800E4390[D_800E0D50[temp_v0]]; - D_800E8E60[temp_v0] = 0; - sp1C = temp_v0; + D_800E4010[idx] = D_800E4010[D_800E0D50[idx]]; + D_800E41D0[idx] = D_800E41D0[D_800E0D50[idx]]; + D_800E4390[idx] = D_800E4390[D_800E0D50[idx]]; + D_800E8E60[idx] = 0; + sp1C = idx; func_801BC72C_ovl7(arg0); D_800D7090 = sp1C; return sp1C; @@ -200,35 +200,35 @@ void func_801BC72C_ovl7(s32 arg0) { extern const char D_801CE54C[]; void func_801BC978_ovl7(s32 *); s32 func_801BC794_ovl7(s32 arg0) { - s32 temp_v0; + s32 idx; s32 sp1C; - temp_v0 = func_800AEC08(0x1C, 0x1E, 0x3C); - if (temp_v0 == -1) { + idx = func_800AEC08(0x1C, 0x1E, 0x3C); + if (idx == -1) { print_error_stub(&D_801CE54C); return -1; } - D_800E76C0[temp_v0] = 0xFF; - D_800E7730[temp_v0] = 3; - D_800E77A0[temp_v0] = 8; - D_800E7880[temp_v0] = arg0; - D_800E5F90[temp_v0] = D_800E5F90[D_800E0D50[temp_v0]]; - D_800E6BD0[temp_v0] = D_800E6BD0[D_800E0D50[temp_v0]]; - D_800E6A10[temp_v0] = D_800E6A10[D_800E0D50[temp_v0]]; - if (D_800E0D50[temp_v0] == 0) { - sp1C = temp_v0; - D_800E2790[temp_v0] = func_8019B144_ovl7(); + D_800E76C0[idx] = 0xFF; + D_800E7730[idx] = 3; + D_800E77A0[idx] = 8; + D_800E7880[idx] = arg0; + D_800E5F90[idx] = D_800E5F90[D_800E0D50[idx]]; + D_800E6BD0[idx] = D_800E6BD0[D_800E0D50[idx]]; + D_800E6A10[idx] = D_800E6A10[D_800E0D50[idx]]; + if (D_800E0D50[idx] == 0) { + sp1C = idx; + D_800E2790[idx] = func_8019B144_ovl7(); } else { - D_800E2790[temp_v0] = D_800E2790[D_800E0D50[temp_v0]]; + D_800E2790[idx] = D_800E2790[D_800E0D50[idx]]; } - D_800E4010[temp_v0] = D_800E4010[D_800E0D50[temp_v0]]; - D_800E41D0[temp_v0] = D_800E41D0[D_800E0D50[temp_v0]]; - D_800E4390[temp_v0] = D_800E4390[D_800E0D50[temp_v0]]; - D_800E8E60[temp_v0] = D_800E8E60[D_800E0D50[temp_v0]]; - D_800E25D0[temp_v0] = D_800E25D0[D_800E0D50[temp_v0]]; - D_800E2790[temp_v0] = D_800E2790[D_800E0D50[temp_v0]]; - D_800E2950[temp_v0] = D_800E2950[D_800E0D50[temp_v0]]; - return temp_v0; + D_800E4010[idx] = D_800E4010[D_800E0D50[idx]]; + D_800E41D0[idx] = D_800E41D0[D_800E0D50[idx]]; + D_800E4390[idx] = D_800E4390[D_800E0D50[idx]]; + D_800E8E60[idx] = D_800E8E60[D_800E0D50[idx]]; + D_800E25D0[idx] = D_800E25D0[D_800E0D50[idx]]; + D_800E2790[idx] = D_800E2790[D_800E0D50[idx]]; + D_800E2950[idx] = D_800E2950[D_800E0D50[idx]]; + return idx; } extern u32 D_800DF4D0[];