mirror of
https://github.com/farisawan-2000/kirby64.git
synced 2024-11-23 05:10:04 +00:00
Regenerated ovl0_2 with jump tables specified and matched 2 of 3 rodata funcs
This commit is contained in:
parent
4ce793070e
commit
cb5f1039af
@ -23,11 +23,12 @@ glabel func_80004810
|
||||
/* 005464 80004864 2DE10005 */ sltiu $at, $t7, 5
|
||||
/* 005468 80004868 1020004F */ beqz $at, .L800049A8_ovl0
|
||||
/* 00546C 8000486C 000F7880 */ sll $t7, $t7, 2
|
||||
/* 005470 80004870 3C018004 */ lui $at, %hi(D_8003FF30)
|
||||
/* 005470 80004870 3C018004 */ lui $at, %hi(jtbl_8003FF30)
|
||||
/* 005474 80004874 002F0821 */ addu $at, $at, $t7
|
||||
/* 005478 80004878 8C2FFF30 */ lw $t7, %lo(D_8003FF30)($at)
|
||||
/* 005478 80004878 8C2FFF30 */ lw $t7, %lo(jtbl_8003FF30)($at)
|
||||
/* 00547C 8000487C 01E00008 */ jr $t7
|
||||
/* 005480 80004880 00000000 */ nop
|
||||
glabel L80004884_ovl0
|
||||
/* 005484 80004884 8E18000C */ lw $t8, 0xc($s0)
|
||||
/* 005488 80004888 8E090020 */ lw $t1, 0x20($s0)
|
||||
/* 00548C 8000488C 96050014 */ lhu $a1, 0x14($s0)
|
||||
@ -43,6 +44,7 @@ glabel func_80004810
|
||||
/* 0054B4 800048B4 00000000 */ nop
|
||||
/* 0054B8 800048B8 1000003B */ b .L800049A8_ovl0
|
||||
/* 0054BC 800048BC AE02003C */ sw $v0, 0x3c($s0)
|
||||
glabel L800048C0_ovl0
|
||||
/* 0054C0 800048C0 8E0B000C */ lw $t3, 0xc($s0)
|
||||
/* 0054C4 800048C4 8E0D0020 */ lw $t5, 0x20($s0)
|
||||
/* 0054C8 800048C8 96050014 */ lhu $a1, 0x14($s0)
|
||||
@ -56,6 +58,7 @@ glabel func_80004810
|
||||
/* 0054E8 800048E8 00000000 */ nop
|
||||
/* 0054EC 800048EC 1000002E */ b .L800049A8_ovl0
|
||||
/* 0054F0 800048F0 AE02003C */ sw $v0, 0x3c($s0)
|
||||
glabel L800048F4_ovl0
|
||||
/* 0054F4 800048F4 8E0E000C */ lw $t6, 0xc($s0)
|
||||
/* 0054F8 800048F8 8E180020 */ lw $t8, 0x20($s0)
|
||||
/* 0054FC 800048FC 96050014 */ lhu $a1, 0x14($s0)
|
||||
@ -72,6 +75,7 @@ glabel func_80004810
|
||||
/* 005528 80004928 AFA90018 */ sw $t1, 0x18($sp)
|
||||
/* 00552C 8000492C 1000001E */ b .L800049A8_ovl0
|
||||
/* 005530 80004930 AE02003C */ sw $v0, 0x3c($s0)
|
||||
glabel L80004934_ovl0
|
||||
/* 005534 80004934 8E0A000C */ lw $t2, 0xc($s0)
|
||||
/* 005538 80004938 8E0C0034 */ lw $t4, 0x34($s0)
|
||||
/* 00553C 8000493C 8E05002C */ lw $a1, 0x2c($s0)
|
||||
@ -87,6 +91,7 @@ glabel func_80004810
|
||||
/* 005564 80004964 00000000 */ nop
|
||||
/* 005568 80004968 1000000F */ b .L800049A8_ovl0
|
||||
/* 00556C 8000496C AE02003C */ sw $v0, 0x3c($s0)
|
||||
glabel L80004970_ovl0
|
||||
/* 005570 80004970 8E0E000C */ lw $t6, 0xc($s0)
|
||||
/* 005574 80004974 8E180034 */ lw $t8, 0x34($s0)
|
||||
/* 005578 80004978 8E05002C */ lw $a1, 0x2c($s0)
|
||||
|
@ -7,16 +7,18 @@ glabel func_80004DC8
|
||||
/* 0059DC 80004DDC 2DC10005 */ sltiu $at, $t6, 5
|
||||
/* 0059E0 80004DE0 10200028 */ beqz $at, .L80004E84_ovl0
|
||||
/* 0059E4 80004DE4 000E7080 */ sll $t6, $t6, 2
|
||||
/* 0059E8 80004DE8 3C018004 */ lui $at, %hi(D_8003FF44)
|
||||
/* 0059E8 80004DE8 3C018004 */ lui $at, %hi(jtbl_8003FF44)
|
||||
/* 0059EC 80004DEC 002E0821 */ addu $at, $at, $t6
|
||||
/* 0059F0 80004DF0 8C2EFF44 */ lw $t6, %lo(D_8003FF44)($at)
|
||||
/* 0059F0 80004DF0 8C2EFF44 */ lw $t6, %lo(jtbl_8003FF44)($at)
|
||||
/* 0059F4 80004DF4 01C00008 */ jr $t6
|
||||
/* 0059F8 80004DF8 00000000 */ nop
|
||||
glabel L80004DFC_ovl0
|
||||
/* 0059FC 80004DFC 3C048005 */ lui $a0, %hi(D_80048DA0) # $a0, 0x8005
|
||||
/* 005A00 80004E00 0C00C818 */ jal func_80032060
|
||||
/* 005A04 80004E04 24848DA0 */ addiu $a0, %lo(D_80048DA0) # addiu $a0, $a0, -0x7260
|
||||
/* 005A08 80004E08 1000001E */ b .L80004E84_ovl0
|
||||
/* 005A0C 80004E0C AE020018 */ sw $v0, 0x18($s0)
|
||||
glabel L80004E10_ovl0
|
||||
/* 005A10 80004E10 3C048005 */ lui $a0, %hi(D_80048DA0) # $a0, 0x8005
|
||||
/* 005A14 80004E14 24848DA0 */ addiu $a0, %lo(D_80048DA0) # addiu $a0, $a0, -0x7260
|
||||
/* 005A18 80004E18 9205000D */ lbu $a1, 0xd($s0)
|
||||
@ -24,6 +26,7 @@ glabel func_80004DC8
|
||||
/* 005A20 80004E20 8E060010 */ lw $a2, 0x10($s0)
|
||||
/* 005A24 80004E24 10000017 */ b .L80004E84_ovl0
|
||||
/* 005A28 80004E28 AE020018 */ sw $v0, 0x18($s0)
|
||||
glabel L80004E2C_ovl0
|
||||
/* 005A2C 80004E2C 3C048005 */ lui $a0, %hi(D_80048DA0) # $a0, 0x8005
|
||||
/* 005A30 80004E30 24848DA0 */ addiu $a0, %lo(D_80048DA0) # addiu $a0, $a0, -0x7260
|
||||
/* 005A34 80004E34 9205000D */ lbu $a1, 0xd($s0)
|
||||
@ -31,6 +34,7 @@ glabel func_80004DC8
|
||||
/* 005A3C 80004E3C 8E060010 */ lw $a2, 0x10($s0)
|
||||
/* 005A40 80004E40 10000010 */ b .L80004E84_ovl0
|
||||
/* 005A44 80004E44 AE020018 */ sw $v0, 0x18($s0)
|
||||
glabel L80004E48_ovl0
|
||||
/* 005A48 80004E48 3C048005 */ lui $a0, %hi(D_80048DA0) # $a0, 0x8005
|
||||
/* 005A4C 80004E4C 24848DA0 */ addiu $a0, %lo(D_80048DA0) # addiu $a0, $a0, -0x7260
|
||||
/* 005A50 80004E50 9205000D */ lbu $a1, 0xd($s0)
|
||||
@ -39,6 +43,7 @@ glabel func_80004DC8
|
||||
/* 005A5C 80004E5C 8E070014 */ lw $a3, 0x14($s0)
|
||||
/* 005A60 80004E60 10000008 */ b .L80004E84_ovl0
|
||||
/* 005A64 80004E64 AE020018 */ sw $v0, 0x18($s0)
|
||||
glabel L80004E68_ovl0
|
||||
/* 005A68 80004E68 3C048005 */ lui $a0, %hi(D_80048DA0) # $a0, 0x8005
|
||||
/* 005A6C 80004E6C 24848DA0 */ addiu $a0, %lo(D_80048DA0) # addiu $a0, $a0, -0x7260
|
||||
/* 005A70 80004E70 9205000D */ lbu $a1, 0xd($s0)
|
||||
|
@ -7,11 +7,12 @@ glabel func_80004E98
|
||||
/* 005AAC 80004EAC 2DE1000B */ sltiu $at, $t7, 0xb
|
||||
/* 005AB0 80004EB0 102000C7 */ beqz $at, .L800051D0_ovl0
|
||||
/* 005AB4 80004EB4 000F7880 */ sll $t7, $t7, 2
|
||||
/* 005AB8 80004EB8 3C018004 */ lui $at, %hi(D_8003FF58)
|
||||
/* 005AB8 80004EB8 3C018004 */ lui $at, %hi(jtbl_8003FF58)
|
||||
/* 005ABC 80004EBC 002F0821 */ addu $at, $at, $t7
|
||||
/* 005AC0 80004EC0 8C2FFF58 */ lw $t7, %lo(D_8003FF58)($at)
|
||||
/* 005AC0 80004EC0 8C2FFF58 */ lw $t7, %lo(jtbl_8003FF58)($at)
|
||||
/* 005AC4 80004EC4 01E00008 */ jr $t7
|
||||
/* 005AC8 80004EC8 00000000 */ nop
|
||||
glabel L80004ECC_ovl0
|
||||
/* 005ACC 80004ECC 0C000FF7 */ jal func_80003FDC
|
||||
/* 005AD0 80004ED0 AFA70028 */ sw $a3, 0x28($sp)
|
||||
/* 005AD4 80004ED4 0C001068 */ jal func_800041A0
|
||||
@ -25,6 +26,7 @@ glabel func_80004E98
|
||||
/* 005AF4 80004EF4 8CE50004 */ lw $a1, 4($a3)
|
||||
/* 005AF8 80004EF8 100000B6 */ b .L800051D4_ovl0
|
||||
/* 005AFC 80004EFC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80004F00_ovl0
|
||||
/* 005B00 80004F00 3C188005 */ lui $t8, %hi(D_80048F48) # $t8, 0x8005
|
||||
/* 005B04 80004F04 8F188F48 */ lw $t8, %lo(D_80048F48)($t8)
|
||||
/* 005B08 80004F08 3C018005 */ lui $at, %hi(D_80048F4C) # $at, 0x8005
|
||||
@ -44,6 +46,7 @@ glabel func_80004E98
|
||||
.L80004F40_ovl0:
|
||||
/* 005B40 80004F40 100000A3 */ b .L800051D0_ovl0
|
||||
/* 005B44 80004F44 AC278F4C */ sw $a3, %lo(D_80048F4C)($at)
|
||||
glabel L80004F48_ovl0
|
||||
/* 005B48 80004F48 8CF9000C */ lw $t9, 0xc($a3)
|
||||
/* 005B4C 80004F4C 3C018005 */ lui $at, %hi(D_80048EB4) # $at, 0x8005
|
||||
/* 005B50 80004F50 00003025 */ move $a2, $zero
|
||||
@ -72,6 +75,7 @@ glabel func_80004E98
|
||||
/* 005BAC 80004FAC 8CE50004 */ lw $a1, 4($a3)
|
||||
/* 005BB0 80004FB0 10000088 */ b .L800051D4_ovl0
|
||||
/* 005BB4 80004FB4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80004FB8_ovl0
|
||||
/* 005BB8 80004FB8 8CEF000C */ lw $t7, 0xc($a3)
|
||||
/* 005BBC 80004FBC 3C018005 */ lui $at, %hi(D_80048F50) # $at, 0x8005
|
||||
/* 005BC0 80004FC0 00003025 */ move $a2, $zero
|
||||
@ -83,6 +87,7 @@ glabel func_80004E98
|
||||
/* 005BD8 80004FD8 8CE50004 */ lw $a1, 4($a3)
|
||||
/* 005BDC 80004FDC 1000007D */ b .L800051D4_ovl0
|
||||
/* 005BE0 80004FE0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80004FE4_ovl0
|
||||
/* 005BE4 80004FE4 8CF8000C */ lw $t8, 0xc($a3)
|
||||
/* 005BE8 80004FE8 3C018005 */ lui $at, %hi(D_80048F54) # $at, 0x8005
|
||||
/* 005BEC 80004FEC 00003025 */ move $a2, $zero
|
||||
@ -94,6 +99,7 @@ glabel func_80004E98
|
||||
/* 005C04 80005004 8CE50004 */ lw $a1, 4($a3)
|
||||
/* 005C08 80005008 10000072 */ b .L800051D4_ovl0
|
||||
/* 005C0C 8000500C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80005010_ovl0
|
||||
/* 005C10 80005010 8CE3000C */ lw $v1, 0xc($a3)
|
||||
/* 005C14 80005014 3C088005 */ lui $t0, %hi(D_80048EA0) # $t0, 0x8005
|
||||
/* 005C18 80005018 25088EA0 */ addiu $t0, %lo(D_80048EA0) # addiu $t0, $t0, -0x7160
|
||||
@ -177,6 +183,7 @@ glabel func_80004E98
|
||||
/* 005D3C 8000513C 8CE50004 */ lw $a1, 4($a3)
|
||||
/* 005D40 80005140 10000024 */ b .L800051D4_ovl0
|
||||
/* 005D44 80005144 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L80005148_ovl0
|
||||
/* 005D48 80005148 8CE9000C */ lw $t1, 0xc($a3)
|
||||
/* 005D4C 8000514C 3C0B8005 */ lui $t3, %hi(D_80048EA0) # $t3, 0x8005
|
||||
/* 005D50 80005150 256B8EA0 */ addiu $t3, %lo(D_80048EA0) # addiu $t3, $t3, -0x7160
|
||||
@ -202,6 +209,7 @@ glabel func_80004E98
|
||||
/* 005D9C 8000519C 8CE50004 */ lw $a1, 4($a3)
|
||||
/* 005DA0 800051A0 1000000C */ b .L800051D4_ovl0
|
||||
/* 005DA4 800051A4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L800051A8_ovl0
|
||||
/* 005DA8 800051A8 00E02025 */ move $a0, $a3
|
||||
/* 005DAC 800051AC 0C001372 */ jal func_80004DC8
|
||||
/* 005DB0 800051B0 AFA70028 */ sw $a3, 0x28($sp)
|
||||
@ -212,6 +220,7 @@ glabel func_80004E98
|
||||
/* 005DC4 800051C4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 005DC8 800051C8 0C00B4BC */ jal osSendMesg
|
||||
/* 005DCC 800051CC 8CE50004 */ lw $a1, 4($a3)
|
||||
glabel L800051D0_ovl0
|
||||
.L800051D0_ovl0:
|
||||
/* 005DD0 800051D0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800051D4_ovl0:
|
||||
|
@ -1,51 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
|
||||
u32 D_8003FF30 = 0x80004884;
|
||||
|
||||
u32 D_8003FF34 = 0x800048C0;
|
||||
|
||||
u32 D_8003FF38 = 0x800048F4;
|
||||
|
||||
u32 D_8003FF3C = 0x80004934;
|
||||
|
||||
u32 D_8003FF40 = 0x80004970;
|
||||
|
||||
u32 D_8003FF44 = 0x80004DFC;
|
||||
|
||||
u32 D_8003FF48 = 0x80004E10;
|
||||
|
||||
u32 D_8003FF4C = 0x80004E2C;
|
||||
|
||||
u32 D_8003FF50 = 0x80004E48;
|
||||
|
||||
u32 D_8003FF54 = 0x80004E68;
|
||||
|
||||
u32 D_8003FF58 = 0x80004ECC;
|
||||
|
||||
u32 D_8003FF5C = 0x80004F00;
|
||||
|
||||
u32 D_8003FF60 = 0x80004F48;
|
||||
|
||||
u32 D_8003FF64 = 0x80004FB8;
|
||||
|
||||
u32 D_8003FF68 = 0x80005010;
|
||||
|
||||
u32 D_8003FF6C = 0x80004FE4;
|
||||
|
||||
u32 D_8003FF70 = 0x800051D0;
|
||||
|
||||
u32 D_8003FF74 = 0x800051D0;
|
||||
|
||||
u32 D_8003FF78 = 0x800051D0;
|
||||
|
||||
u32 D_8003FF7C = 0x80005148;
|
||||
|
||||
u32 D_8003FF80 = 0x800051A8;
|
||||
|
||||
u32 D_8003FF84 = 0x00000000;
|
||||
|
||||
u32 D_8003FF88 = 0x00000000;
|
||||
|
||||
u32 D_8003FF8C = 0x00000000;
|
||||
|
||||
|
43
data/kirby.039DF0.2.001.s
Normal file
43
data/kirby.039DF0.2.001.s
Normal file
@ -0,0 +1,43 @@
|
||||
.include "macros.inc"
|
||||
.section .rodata
|
||||
|
||||
# func_80004810 (matched)
|
||||
glabel jtbl_8003FF30
|
||||
.word L80004884_ovl0
|
||||
.word L800048C0_ovl0
|
||||
.word L800048F4_ovl0
|
||||
.word L80004934_ovl0
|
||||
.word L80004970_ovl0
|
||||
|
||||
# func_80004DC8 (matched)
|
||||
glabel jtbl_8003FF44
|
||||
.word L80004DFC_ovl0
|
||||
.word L80004E10_ovl0
|
||||
.word L80004E2C_ovl0
|
||||
.word L80004E48_ovl0
|
||||
.word L80004E68_ovl0
|
||||
|
||||
# func_80004E98 (good luck lol)
|
||||
glabel jtbl_8003FF58
|
||||
.word L80004ECC_ovl0
|
||||
.word L80004F00_ovl0
|
||||
.word L80004F48_ovl0
|
||||
.word L80004FB8_ovl0
|
||||
.word L80005010_ovl0
|
||||
.word L80004FE4_ovl0
|
||||
.word L800051D0_ovl0
|
||||
.word L800051D0_ovl0
|
||||
.word L800051D0_ovl0
|
||||
.word L80005148_ovl0
|
||||
.word L800051A8_ovl0
|
||||
|
||||
glabel D_8003FF84
|
||||
.word 0x00000000
|
||||
|
||||
glabel D_8003FF88
|
||||
.word 0x00000000
|
||||
|
||||
glabel D_8003FF8C
|
||||
.word 0x00000000
|
||||
|
||||
|
@ -195,7 +195,8 @@ SECTIONS
|
||||
BUILD_DIR/libultra.a:vimgr.o(.data);
|
||||
BUILD_DIR/data/kirby.039DF0.2.o(.data);
|
||||
BUILD_DIR/src/ovl0/ovl0_1.o(.rodata);
|
||||
BUILD_DIR/data/kirby.039DF0.2.001.o(.data);
|
||||
BUILD_DIR/src/ovl0/ovl0_2.o(.rodata);
|
||||
BUILD_DIR/data/kirby.039DF0.2.001.o(.rodata);
|
||||
BUILD_DIR/src/ovl0/ovl0_2_5.o(.rodata);
|
||||
BUILD_DIR/src/ovl0/ovl0_2_5_1.o(.rodata);
|
||||
BUILD_DIR/data/kirby.039DF0.2.01.o(.data);
|
||||
|
@ -2,7 +2,6 @@
|
||||
#include <macros.h>
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void *func_80003DA8(void) {
|
||||
s32 temp_v0;
|
||||
s32 temp_v1;
|
||||
@ -73,29 +72,34 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80003DA8.s")
|
||||
extern OSContStatus *D_80048E70;
|
||||
extern OSMesgQueue *D_80048DA0;
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
u8 func_80003ECC(void) {
|
||||
s32 temp_s2;
|
||||
void *temp_s1;
|
||||
void *phi_s0;
|
||||
void *phi_s1;
|
||||
s32 phi_s2;
|
||||
|
||||
osContStartQuery(&D_80048DA0);
|
||||
osRecvMesg(&D_80048DA0, 0, 1);
|
||||
osRecvMesg(&D_80048DA0, NULL, 1);
|
||||
osContGetQuery(&D_80048E70);
|
||||
phi_s0 = &D_80048E70;
|
||||
phi_s1 = &D_80048EA0;
|
||||
for (phi_s2 = 0; phi_s2 < 4; phi_s2++) {
|
||||
if ((phi_s0->unk3 == 0) && ((phi_s0->unk2 & 1) != 0)) {
|
||||
if (((phi_s1->unk1D & 1) == 0) || (phi_s1->unk1C != 0)) {
|
||||
func_8002F2B4(&D_80048DA0, &D_800490F0 + (phi_s2 * 0x68), phi_s2);
|
||||
}
|
||||
phi_s2 = 0;
|
||||
loop_1:
|
||||
if ((phi_s0->unk3 == 0) && ((phi_s0->unk2 & 1) != 0)) {
|
||||
if (((phi_s1->unk1D & 1) == 0) || (phi_s1->unk1C != 0)) {
|
||||
func_8002F2B4(&D_80048DA0, &D_800490F0 + (phi_s2 * 0x68), phi_s2);
|
||||
}
|
||||
temp_s1 = phi_s1 + 0x20;
|
||||
temp_s1->unk-4 = phi_s0->unk3;
|
||||
temp_s1->unk-3 = phi_s0->unk2;
|
||||
phi_s0 = phi_s0 + 4;
|
||||
phi_s1 = temp_s1;
|
||||
}
|
||||
temp_s2 = phi_s2 + 1;
|
||||
temp_s1 = phi_s1 + 0x20;
|
||||
temp_s1->unk-4 = phi_s0->unk3;
|
||||
temp_s1->unk-3 = phi_s0->unk2;
|
||||
phi_s0 = phi_s0 + 4;
|
||||
phi_s1 = temp_s1;
|
||||
phi_s2 = temp_s2;
|
||||
if (temp_s2 != 4) {
|
||||
goto loop_1;
|
||||
}
|
||||
return phi_s0->unk3;
|
||||
}
|
||||
@ -104,7 +108,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80003ECC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
u16 func_80003FDC(void) {
|
||||
s32 temp_s2;
|
||||
s32 temp_t7;
|
||||
@ -122,7 +125,7 @@ u16 func_80003FDC(void) {
|
||||
u16 phi_return;
|
||||
|
||||
func_8002FD30(&D_80048DA0);
|
||||
osRecvMesg(&D_80048DA0, 0, 1);
|
||||
osRecvMesg(&D_80048DA0, NULL, 1);
|
||||
func_8002FDB4(&D_80048E80);
|
||||
phi_s1 = &D_80048E80;
|
||||
phi_s2 = 0;
|
||||
@ -183,7 +186,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80003FDC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_800041A0(void) {
|
||||
void *temp_v0;
|
||||
void *temp_v1;
|
||||
@ -226,7 +228,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_800041A0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void *func_80004250(void) {
|
||||
? sp43;
|
||||
s32 temp_s0;
|
||||
@ -254,7 +255,7 @@ void *func_80004250(void) {
|
||||
|
||||
osCreateMesgQueue(&D_80048DA0, &D_80048DB8, 1);
|
||||
osSetEventMesg(5, &D_80048DA0, 1);
|
||||
osContReset(&D_80048DA0, &sp43, &D_80048E70);
|
||||
osContReset(&D_80048DA0, &sp43);
|
||||
phi_s1 = &D_80048E70;
|
||||
phi_s0 = 0;
|
||||
loop_1:
|
||||
@ -376,26 +377,22 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004250.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_800045C0(void *arg0) {
|
||||
? sp34;
|
||||
? sp1C;
|
||||
void *temp_a3;
|
||||
|
||||
temp_a3 = arg0;
|
||||
arg0 = temp_a3;
|
||||
osCreateMesgQueue(&sp1C, &sp34, 1, temp_a3);
|
||||
arg0 = arg0;
|
||||
osCreateMesgQueue(&sp1C, &sp34, 1);
|
||||
arg0->unk4 = 1;
|
||||
arg0->unk8 = &sp1C;
|
||||
osSendMesg(&D_80048DE8, arg0, 1);
|
||||
osRecvMesg(&sp1C, 0, 1);
|
||||
osRecvMesg(&sp1C, NULL, 1);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_800045C0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_80004624(void) {
|
||||
?32 sp1C;
|
||||
|
||||
@ -407,7 +404,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004624.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_8000464C(void) {
|
||||
?32 sp1C;
|
||||
|
||||
@ -419,7 +415,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_8000464C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_80004674(s32 arg0, ?32 arg1) {
|
||||
?32 sp2C;
|
||||
s32 sp28;
|
||||
@ -435,7 +430,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004674.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_800046A4(s32 arg0) {
|
||||
s32 sp24;
|
||||
?32 sp18;
|
||||
@ -449,7 +443,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_800046A4.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_800046D0(s32 arg0) {
|
||||
s32 sp24;
|
||||
?32 sp18;
|
||||
@ -463,7 +456,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_800046D0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_800046FC(s32 arg0, s32 arg1) {
|
||||
s32 sp1C;
|
||||
s32 temp_v1;
|
||||
@ -518,20 +510,60 @@ void func_800047F0(s32 arg0) {
|
||||
func_800046FC(arg0, 0);
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
Failed to decompile function func_80004810:
|
||||
struct Unk_Func8004810 {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
u16 unk14;
|
||||
u16 unk16;
|
||||
s32 unk18;
|
||||
s32 unk1C;
|
||||
s32 unk20;
|
||||
s32 unk24;
|
||||
s32 unk28;
|
||||
s32 unk2C;
|
||||
s32 unk30;
|
||||
s32 unk34;
|
||||
s32 unk38;
|
||||
s32 unk3C;
|
||||
};
|
||||
|
||||
Unable to determine jump table for jr instruction.
|
||||
// Most likely a struct array
|
||||
extern u8 D_800490F0[][0x68];
|
||||
|
||||
There must be a read of a variable in the same block as
|
||||
the instruction, which has a name starting with "jtbl".
|
||||
#ifdef NEEDS_RODATA
|
||||
void func_80004810(struct Unk_Func8004810 *arg0) {
|
||||
arg0->unk3C = func_80035D30(&D_80048DA0, &D_800490F0[arg0->unkC][0], arg0->unkC);
|
||||
if (arg0->unk3C == 0) {
|
||||
switch (arg0->unk10) {
|
||||
// temp_t7 = arg0->unk10;
|
||||
// if (temp_t7 < 5) {
|
||||
// goto **(&jtbl_8003FF30 + (temp_t7 * 4));
|
||||
case 0:
|
||||
arg0->unk3C = func_800320D0(&D_800490F0[arg0->unkC][0], arg0->unk14, arg0->unk18, arg0->unk1C, arg0->unk20, arg0->unk28);
|
||||
break;
|
||||
case 1:
|
||||
arg0->unk3C = func_800350F0(&D_800490F0[arg0->unkC][0], arg0->unk14, arg0->unk18, arg0->unk1C, arg0->unk20);
|
||||
break;
|
||||
case 2:
|
||||
arg0->unk3C = func_80030DF0(&D_800490F0[arg0->unkC][0], arg0->unk14, arg0->unk18, arg0->unk1C, arg0->unk20, arg0->unk24, arg0->unk28);
|
||||
break;
|
||||
case 3:
|
||||
arg0->unk3C = func_80030794(&D_800490F0[arg0->unkC][0], arg0->unk2C, 0, arg0->unk30, arg0->unk34, arg0->unk38);
|
||||
break;
|
||||
case 4:
|
||||
arg0->unk3C = func_80030794(&D_800490F0[arg0->unkC][0], arg0->unk2C, 1, arg0->unk30, arg0->unk34, arg0->unk38);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004810.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
s32 func_800049BC(s32 arg0, ?32 arg1, ?32 arg2, ?32 arg3, s32 arg4) {
|
||||
? sp1C;
|
||||
|
||||
@ -550,7 +582,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_800049BC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
s32 func_80004A3C(s32 arg0, ?32 arg1, ?32 arg2, ?32 arg3, s32 arg4) {
|
||||
? sp1C;
|
||||
|
||||
@ -569,7 +600,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004A3C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
s32 func_80004ABC(s32 arg0, u16 arg1, ?32 arg2, ?32 arg3, s32 arg4, s32 arg5, s32 arg6) {
|
||||
? sp1C;
|
||||
|
||||
@ -590,7 +620,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004ABC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
s32 func_80004B50(s32 arg0, u16 arg1, ?32 arg2, ?32 arg3, s32 arg4) {
|
||||
? sp1C;
|
||||
|
||||
@ -609,7 +638,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004B50.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
s32 func_80004BD4(s32 arg0, u16 arg1, ?32 arg2, ?32 arg3, s32 arg4, s32 arg5) {
|
||||
? sp1C;
|
||||
|
||||
@ -629,7 +657,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004BD4.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
s32 func_80004C5C(u8 arg0, u8 arg1, ?32 arg2, ?32 arg3) {
|
||||
? sp1C;
|
||||
|
||||
@ -646,7 +673,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004C5C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_80004CD4(void) {
|
||||
func_80004C5C(0, 0, 0, 0);
|
||||
}
|
||||
@ -655,7 +681,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004CD4.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_80004D00(u8 arg0, s32 arg1, ? arg2) {
|
||||
func_80004C5C(3, arg0, arg1, arg2);
|
||||
}
|
||||
@ -664,7 +689,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004D00.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_80004D34(u8 arg0, s32 arg1, ? arg2) {
|
||||
func_80004C5C(4, arg0, arg1, arg2);
|
||||
}
|
||||
@ -673,7 +697,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004D34.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_80004D68(u8 arg0, ? arg1) {
|
||||
func_80004C5C(1, arg0, arg1, 0);
|
||||
}
|
||||
@ -682,7 +705,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004D68.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
void func_80004D98(u8 arg0, ? arg1) {
|
||||
func_80004C5C(2, arg0, arg1, 0);
|
||||
}
|
||||
@ -690,26 +712,211 @@ void func_80004D98(u8 arg0, ? arg1) {
|
||||
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004D98.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
Failed to decompile function func_80004DC8:
|
||||
// Sent as an OSMesg based on code path
|
||||
struct Unk_Func8004DC8 {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
u8 unkC;
|
||||
u8 unkD;
|
||||
u8 unkE;
|
||||
u8 unkF;
|
||||
s32 unk10;
|
||||
s32 unk14;
|
||||
s32 unk18;
|
||||
};
|
||||
|
||||
Unable to determine jump table for jr instruction.
|
||||
|
||||
There must be a read of a variable in the same block as
|
||||
the instruction, which has a name starting with "jtbl".
|
||||
#ifdef NEEDS_RODATA
|
||||
void func_80004DC8(struct Unk_Func8004DC8 *arg0) {
|
||||
switch (arg0->unkC)
|
||||
{
|
||||
case 0:
|
||||
arg0->unk18 = func_80032060(&D_80048DA0);
|
||||
break;
|
||||
case 1:
|
||||
arg0->unk18 = osEepromRead(&D_80048DA0, arg0->unkD, arg0->unk10);
|
||||
break;
|
||||
case 2:
|
||||
arg0->unk18 = osEepromWrite(&D_80048DA0, arg0->unkD, arg0->unk10);
|
||||
break;
|
||||
case 3:
|
||||
arg0->unk18 = osEepromLongRead(&D_80048DA0, arg0->unkD, arg0->unk10, arg0->unk14);
|
||||
break;
|
||||
case 4:
|
||||
arg0->unk18 = osEepromLongWrite(&D_80048DA0, arg0->unkD, arg0->unk10, arg0->unk14);
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004DC8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3ec45aadfc2cb619035fb802d88c52eacfab0326
|
||||
Failed to decompile function func_80004E98:
|
||||
void func_80004E98(void *arg0) {
|
||||
void *sp18;
|
||||
OSMesgQueue *temp_a0;
|
||||
OSMesgQueue *temp_a0_2;
|
||||
OSMesgQueue *temp_a0_3;
|
||||
OSMesgQueue *temp_a0_4;
|
||||
OSMesgQueue *temp_a0_5;
|
||||
OSMesgQueue *temp_a0_7;
|
||||
OSMesgQueue *temp_a0_8;
|
||||
OSMesgQueue *temp_a0_9;
|
||||
s32 temp_v0_2;
|
||||
s32 temp_v1;
|
||||
u32 temp_t7;
|
||||
void *temp_a0_6;
|
||||
void *temp_a3;
|
||||
void *temp_v0;
|
||||
void *temp_v0_3;
|
||||
void *phi_a3;
|
||||
void *phi_a3_2;
|
||||
|
||||
Unable to determine jump table for jr instruction.
|
||||
|
||||
There must be a read of a variable in the same block as
|
||||
the instruction, which has a name starting with "jtbl".
|
||||
temp_a3 = arg0;
|
||||
temp_t7 = arg0->unk0 - 1;
|
||||
if (temp_t7 < 0xB) {
|
||||
goto **(&jtbl_8003FF58 + (temp_t7 * 4));
|
||||
case 0:
|
||||
arg0 = temp_a3;
|
||||
func_80003FDC(temp_a3);
|
||||
func_800041A0();
|
||||
temp_a0 = arg0->unk8;
|
||||
if (temp_a0 != 0) {
|
||||
osSendMesg(temp_a0, arg0->unk4, 0);
|
||||
return;
|
||||
case 1:
|
||||
if (D_80048F48 == 0) {
|
||||
D_80048F4C = temp_a3;
|
||||
return;
|
||||
case 2:
|
||||
D_80048EB4 = temp_a3->unkC;
|
||||
D_80048EB4 = temp_a3->unk10;
|
||||
D_80048ED4 = temp_a3->unkC;
|
||||
D_80048ED4 = temp_a3->unk10;
|
||||
D_80048EF4 = temp_a3->unkC;
|
||||
D_80048EF4 = temp_a3->unk10;
|
||||
D_80048F14 = temp_a3->unkC;
|
||||
D_80048F14 = temp_a3->unk10;
|
||||
temp_a0_3 = temp_a3->unk8;
|
||||
if (temp_a0_3 == 0) {
|
||||
default:
|
||||
return;
|
||||
return;
|
||||
}
|
||||
osSendMesg(temp_a0_3, temp_a3->unk4, 0);
|
||||
return;
|
||||
case 3:
|
||||
D_80048F50 = temp_a3->unkC;
|
||||
temp_a0_4 = temp_a3->unk8;
|
||||
if (temp_a0_4 == 0) {
|
||||
default:
|
||||
return;
|
||||
return;
|
||||
}
|
||||
osSendMesg(temp_a0_4, temp_a3->unk4, 0);
|
||||
return;
|
||||
case 5:
|
||||
D_80048F54 = temp_a3->unkC;
|
||||
temp_a0_5 = temp_a3->unk8;
|
||||
if (temp_a0_5 == 0) {
|
||||
default:
|
||||
return;
|
||||
return;
|
||||
}
|
||||
osSendMesg(temp_a0_5, temp_a3->unk4, 0);
|
||||
return;
|
||||
case 4:
|
||||
temp_v1 = temp_a3->unkC;
|
||||
temp_v0 = (temp_v1 << 5) + &D_80048EA0;
|
||||
phi_a3 = temp_a3;
|
||||
if (temp_v0->unk1C == 0) {
|
||||
phi_a3 = temp_a3;
|
||||
if ((temp_v0->unk1D & 1) != 0) {
|
||||
temp_v0_2 = temp_a3->unk10;
|
||||
if (temp_v0_2 != 0) {
|
||||
if (temp_v0_2 != 1) {
|
||||
if (temp_v0_2 != 2) {
|
||||
phi_a3 = temp_a3;
|
||||
} else {
|
||||
temp_a0_6 = (temp_v1 * 0x68) + &D_800490F0;
|
||||
sp18 = temp_a0_6;
|
||||
arg0 = temp_a3;
|
||||
func_8002F040(temp_a0_6, 0, temp_v1, temp_a3);
|
||||
func_8002F040(temp_a0_6, 0);
|
||||
func_8002F040(temp_a0_6, 0);
|
||||
block_24:
|
||||
phi_a3 = arg0;
|
||||
}
|
||||
} else {
|
||||
phi_a3 = temp_a3;
|
||||
if (D_80048CDC == 0) {
|
||||
arg0 = temp_a3;
|
||||
func_8002F040((temp_v1 * 0x68) + &D_800490F0, 1, temp_v1, temp_a3);
|
||||
goto block_24;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
arg0 = temp_a3;
|
||||
func_8002F2B4(&D_80048DA0, (temp_v1 * 0x68) + &D_800490F0, temp_v1, temp_a3);
|
||||
goto block_24;
|
||||
}
|
||||
}
|
||||
}
|
||||
temp_a0_7 = phi_a3->unk8;
|
||||
if (temp_a0_7 == 0) {
|
||||
default:
|
||||
return;
|
||||
return;
|
||||
}
|
||||
osSendMesg(temp_a0_7, phi_a3->unk4, 0);
|
||||
return;
|
||||
case 9:
|
||||
temp_v0_3 = (temp_a3->unkC << 5) + &D_80048EA0;
|
||||
phi_a3_2 = temp_a3;
|
||||
if (temp_v0_3->unk1C == 0) {
|
||||
phi_a3_2 = temp_a3;
|
||||
if ((temp_v0_3->unk1D & 1) != 0) {
|
||||
arg0 = temp_a3;
|
||||
func_80004810(temp_a3, temp_a3);
|
||||
phi_a3_2 = arg0;
|
||||
}
|
||||
}
|
||||
temp_a0_8 = phi_a3_2->unk8;
|
||||
if (temp_a0_8 == 0) {
|
||||
default:
|
||||
return;
|
||||
return;
|
||||
}
|
||||
osSendMesg(temp_a0_8, phi_a3_2->unk4, 0);
|
||||
return;
|
||||
case 10:
|
||||
arg0 = temp_a3;
|
||||
func_80004DC8(temp_a3, temp_a3);
|
||||
temp_a0_9 = arg0->unk8;
|
||||
if (temp_a0_9 != 0) {
|
||||
osSendMesg(temp_a0_9, arg0->unk4, 0);
|
||||
}
|
||||
default:
|
||||
return;
|
||||
return;
|
||||
}
|
||||
arg0 = temp_a3;
|
||||
func_800041A0(temp_a3);
|
||||
temp_a0_2 = arg0->unk8;
|
||||
if (temp_a0_2 != 0) {
|
||||
osSendMesg(temp_a0_2, arg0->unk4, 0);
|
||||
return;
|
||||
return;
|
||||
return;
|
||||
return;
|
||||
return;
|
||||
return;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
default:
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2/func_80004E98.s")
|
||||
#endif
|
||||
|
@ -234,8 +234,6 @@ D_80048EF4 = 0x80048EF4;
|
||||
D_80048F10 = 0x80048F10;
|
||||
D_80048F14 = 0x80048F14;
|
||||
func_8002F040 = 0x8002F040;
|
||||
func_80004810 = 0x80004810;
|
||||
func_80004DC8 = 0x80004DC8;
|
||||
func_80004250 = 0x80004250;
|
||||
D_80048DC8 = 0x80048DC8;
|
||||
D_80048DC0 = 0x80048DC0;
|
||||
|
Loading…
Reference in New Issue
Block a user