mirror of
https://github.com/farisawan-2000/kirby64.git
synced 2025-02-21 21:31:37 +00:00
general update, documented controller struct
This commit is contained in:
parent
283ed36851
commit
4adbe64596
@ -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
|
@ -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
|
@ -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]
|
||||
|
@ -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
|
||||
|
@ -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];
|
||||
};
|
||||
|
@ -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) {
|
||||
|
@ -1,20 +1,16 @@
|
||||
#include <ultra64.h>
|
||||
#include <macros.h>
|
||||
#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) {
|
||||
|
@ -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;
|
||||
|
@ -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[];
|
||||
|
Loading…
x
Reference in New Issue
Block a user