renamed object_manager, some more decomp there

This commit is contained in:
farisawan-2000 2021-01-28 08:04:02 -05:00
parent bf53ef4789
commit 5ded988652
14 changed files with 78 additions and 328 deletions

View File

@ -1,15 +0,0 @@
glabel func_8000A498
/* 00B098 8000A498 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 00B09C 8000A49C AFA50024 */ sw $a1, 0x24($sp)
/* 00B0A0 8000A4A0 00802825 */ move $a1, $a0
/* 00B0A4 8000A4A4 AFBF001C */ sw $ra, 0x1c($sp)
/* 00B0A8 8000A4A8 AFA40020 */ sw $a0, 0x20($sp)
/* 00B0AC 8000A4AC 00C03825 */ move $a3, $a2
/* 00B0B0 8000A4B0 93A60027 */ lbu $a2, 0x27($sp)
/* 00B0B4 8000A4B4 00002025 */ move $a0, $zero
/* 00B0B8 8000A4B8 0C0028D4 */ jal func_8000A350
/* 00B0BC 8000A4BC AFA00010 */ sw $zero, 0x10($sp)
/* 00B0C0 8000A4C0 8FBF001C */ lw $ra, 0x1c($sp)
/* 00B0C4 8000A4C4 27BD0020 */ addiu $sp, $sp, 0x20
/* 00B0C8 8000A4C8 03E00008 */ jr $ra
/* 00B0CC 8000A4CC 00000000 */ nop

View File

@ -1,15 +0,0 @@
glabel func_8000A4D0
/* 00B0D0 8000A4D0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 00B0D4 8000A4D4 AFA50024 */ sw $a1, 0x24($sp)
/* 00B0D8 8000A4D8 00802825 */ move $a1, $a0
/* 00B0DC 8000A4DC AFBF001C */ sw $ra, 0x1c($sp)
/* 00B0E0 8000A4E0 AFA40020 */ sw $a0, 0x20($sp)
/* 00B0E4 8000A4E4 00C03825 */ move $a3, $a2
/* 00B0E8 8000A4E8 93A60027 */ lbu $a2, 0x27($sp)
/* 00B0EC 8000A4EC 24040001 */ li $a0, 1
/* 00B0F0 8000A4F0 0C0028D4 */ jal func_8000A350
/* 00B0F4 8000A4F4 AFA00010 */ sw $zero, 0x10($sp)
/* 00B0F8 8000A4F8 8FBF001C */ lw $ra, 0x1c($sp)
/* 00B0FC 8000A4FC 27BD0020 */ addiu $sp, $sp, 0x20
/* 00B100 8000A500 03E00008 */ jr $ra
/* 00B104 8000A504 00000000 */ nop

View File

@ -1,16 +0,0 @@
glabel func_8000A508
/* 00B108 8000A508 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 00B10C 8000A50C AFA50024 */ sw $a1, 0x24($sp)
/* 00B110 8000A510 8FAE0024 */ lw $t6, 0x24($sp)
/* 00B114 8000A514 AFBF001C */ sw $ra, 0x1c($sp)
/* 00B118 8000A518 AFA40020 */ sw $a0, 0x20($sp)
/* 00B11C 8000A51C 00802825 */ move $a1, $a0
/* 00B120 8000A520 8DC70010 */ lw $a3, 0x10($t6)
/* 00B124 8000A524 91C6000C */ lbu $a2, 0xc($t6)
/* 00B128 8000A528 24040002 */ li $a0, 2
/* 00B12C 8000A52C 0C0028D4 */ jal func_8000A350
/* 00B130 8000A530 AFAE0010 */ sw $t6, 0x10($sp)
/* 00B134 8000A534 8FBF001C */ lw $ra, 0x1c($sp)
/* 00B138 8000A538 27BD0020 */ addiu $sp, $sp, 0x20
/* 00B13C 8000A53C 03E00008 */ jr $ra
/* 00B140 8000A540 00000000 */ nop

View File

@ -1,16 +0,0 @@
glabel func_8000A544
/* 00B144 8000A544 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 00B148 8000A548 AFA50024 */ sw $a1, 0x24($sp)
/* 00B14C 8000A54C 8FAE0024 */ lw $t6, 0x24($sp)
/* 00B150 8000A550 AFBF001C */ sw $ra, 0x1c($sp)
/* 00B154 8000A554 AFA40020 */ sw $a0, 0x20($sp)
/* 00B158 8000A558 00802825 */ move $a1, $a0
/* 00B15C 8000A55C 8DC70010 */ lw $a3, 0x10($t6)
/* 00B160 8000A560 91C6000C */ lbu $a2, 0xc($t6)
/* 00B164 8000A564 24040003 */ li $a0, 3
/* 00B168 8000A568 0C0028D4 */ jal func_8000A350
/* 00B16C 8000A56C AFAE0010 */ sw $t6, 0x10($sp)
/* 00B170 8000A570 8FBF001C */ lw $ra, 0x1c($sp)
/* 00B174 8000A574 27BD0020 */ addiu $sp, $sp, 0x20
/* 00B178 8000A578 03E00008 */ jr $ra
/* 00B17C 8000A57C 00000000 */ nop

View File

@ -1,19 +0,0 @@
glabel func_8000A640
/* 00B240 8000A640 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 00B244 8000A644 AFA60028 */ sw $a2, 0x28($sp)
/* 00B248 8000A648 30C600FF */ andi $a2, $a2, 0xff
/* 00B24C 8000A64C 14800003 */ bnez $a0, .L8000A65C_ovl0
/* 00B250 8000A650 AFBF001C */ sw $ra, 0x1c($sp)
/* 00B254 8000A654 3C048005 */ lui $a0, %hi(D_8004A7C4) # $a0, 0x8005
/* 00B258 8000A658 8C84A7C4 */ lw $a0, %lo(D_8004A7C4)($a0)
.L8000A65C_ovl0:
/* 00B25C 8000A65C 8FAE0030 */ lw $t6, 0x30($sp)
/* 00B260 8000A660 AFA40020 */ sw $a0, 0x20($sp)
/* 00B264 8000A664 0C002960 */ jal func_8000A580
/* 00B268 8000A668 AFAE0010 */ sw $t6, 0x10($sp)
/* 00B26C 8000A66C 0C002199 */ jal func_80008664
/* 00B270 8000A670 8FA40020 */ lw $a0, 0x20($sp)
/* 00B274 8000A674 8FBF001C */ lw $ra, 0x1c($sp)
/* 00B278 8000A678 27BD0020 */ addiu $sp, $sp, 0x20
/* 00B27C 8000A67C 03E00008 */ jr $ra
/* 00B280 8000A680 00000000 */ nop

View File

@ -1,23 +0,0 @@
glabel func_8000A684
/* 00B284 8000A684 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 00B288 8000A688 AFBF001C */ sw $ra, 0x1c($sp)
/* 00B28C 8000A68C AFA60028 */ sw $a2, 0x28($sp)
/* 00B290 8000A690 14800003 */ bnez $a0, .L8000A6A0_ovl0
/* 00B294 8000A694 AFA7002C */ sw $a3, 0x2c($sp)
/* 00B298 8000A698 3C048005 */ lui $a0, %hi(D_8004A7C4) # $a0, 0x8005
/* 00B29C 8000A69C 8C84A7C4 */ lw $a0, %lo(D_8004A7C4)($a0)
.L8000A6A0_ovl0:
/* 00B2A0 8000A6A0 8FAE002C */ lw $t6, 0x2c($sp)
/* 00B2A4 8000A6A4 8FAF0028 */ lw $t7, 0x28($sp)
/* 00B2A8 8000A6A8 91C6000D */ lbu $a2, 0xd($t6)
/* 00B2AC 8000A6AC 8DC70028 */ lw $a3, 0x28($t6)
/* 00B2B0 8000A6B0 AFA40020 */ sw $a0, 0x20($sp)
/* 00B2B4 8000A6B4 0C002960 */ jal func_8000A580
/* 00B2B8 8000A6B8 AFAF0010 */ sw $t7, 0x10($sp)
/* 00B2BC 8000A6BC 8FA40020 */ lw $a0, 0x20($sp)
/* 00B2C0 8000A6C0 0C002164 */ jal func_80008590
/* 00B2C4 8000A6C4 8FA5002C */ lw $a1, 0x2c($sp)
/* 00B2C8 8000A6C8 8FBF001C */ lw $ra, 0x1c($sp)
/* 00B2CC 8000A6CC 27BD0020 */ addiu $sp, $sp, 0x20
/* 00B2D0 8000A6D0 03E00008 */ jr $ra
/* 00B2D4 8000A6D4 00000000 */ nop

View File

@ -1,24 +0,0 @@
glabel func_8000A6D8
/* 00B2D8 8000A6D8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 00B2DC 8000A6DC AFBF001C */ sw $ra, 0x1c($sp)
/* 00B2E0 8000A6E0 AFA60028 */ sw $a2, 0x28($sp)
/* 00B2E4 8000A6E4 14800003 */ bnez $a0, .L8000A6F4_ovl0
/* 00B2E8 8000A6E8 AFA7002C */ sw $a3, 0x2c($sp)
/* 00B2EC 8000A6EC 3C048005 */ lui $a0, %hi(D_8004A7C4) # $a0, 0x8005
/* 00B2F0 8000A6F0 8C84A7C4 */ lw $a0, %lo(D_8004A7C4)($a0)
.L8000A6F4_ovl0:
/* 00B2F4 8000A6F4 8FAE002C */ lw $t6, 0x2c($sp)
/* 00B2F8 8000A6F8 8FAF0028 */ lw $t7, 0x28($sp)
/* 00B2FC 8000A6FC 91C6000D */ lbu $a2, 0xd($t6)
/* 00B300 8000A700 8DC70028 */ lw $a3, 0x28($t6)
/* 00B304 8000A704 AFA40020 */ sw $a0, 0x20($sp)
/* 00B308 8000A708 0C002960 */ jal func_8000A580
/* 00B30C 8000A70C AFAF0010 */ sw $t7, 0x10($sp)
/* 00B310 8000A710 8FB8002C */ lw $t8, 0x2c($sp)
/* 00B314 8000A714 8FA40020 */ lw $a0, 0x20($sp)
/* 00B318 8000A718 0C002164 */ jal func_80008590
/* 00B31C 8000A71C 8F050008 */ lw $a1, 8($t8)
/* 00B320 8000A720 8FBF001C */ lw $ra, 0x1c($sp)
/* 00B324 8000A724 27BD0020 */ addiu $sp, $sp, 0x20
/* 00B328 8000A728 03E00008 */ jr $ra
/* 00B32C 8000A72C 00000000 */ nop

View File

@ -1,14 +0,0 @@
glabel func_8000A730
/* 00B330 8000A730 240E0020 */ li $t6, 32
/* 00B334 8000A734 A08E000D */ sb $t6, 0xd($a0)
/* 00B338 8000A738 AC860028 */ sw $a2, 0x28($a0)
/* 00B33C 8000A73C AC85002C */ sw $a1, 0x2c($a0)
/* 00B340 8000A740 AC870030 */ sw $a3, 0x30($a0)
/* 00B344 8000A744 8FAF0010 */ lw $t7, 0x10($sp)
/* 00B348 8000A748 AC800038 */ sw $zero, 0x38($a0)
/* 00B34C 8000A74C 3C188004 */ lui $t8, %hi(D_8003DCA8) # $t8, 0x8004
/* 00B350 8000A750 AC8F0034 */ sw $t7, 0x34($a0)
/* 00B354 8000A754 8F18DCA8 */ lw $t8, %lo(D_8003DCA8)($t8)
/* 00B358 8000A758 2719FFFF */ addiu $t9, $t8, -1
/* 00B35C 8000A75C 03E00008 */ jr $ra
/* 00B360 8000A760 A099000E */ sb $t9, 0xe($a0)

View File

@ -1,17 +0,0 @@
glabel func_8000A764
/* 00B364 8000A764 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 00B368 8000A768 14800003 */ bnez $a0, .L8000A778_ovl0
/* 00B36C 8000A76C AFBF001C */ sw $ra, 0x1c($sp)
/* 00B370 8000A770 3C048005 */ lui $a0, %hi(D_8004A7C4) # $a0, 0x8005
/* 00B374 8000A774 8C84A7C4 */ lw $a0, %lo(D_8004A7C4)($a0)
.L8000A778_ovl0:
/* 00B378 8000A778 8FAE0030 */ lw $t6, 0x30($sp)
/* 00B37C 8000A77C AFA40020 */ sw $a0, 0x20($sp)
/* 00B380 8000A780 0C0029CC */ jal func_8000A730
/* 00B384 8000A784 AFAE0010 */ sw $t6, 0x10($sp)
/* 00B388 8000A788 0C00217E */ jal func_800085F8
/* 00B38C 8000A78C 8FA40020 */ lw $a0, 0x20($sp)
/* 00B390 8000A790 8FBF001C */ lw $ra, 0x1c($sp)
/* 00B394 8000A794 27BD0020 */ addiu $sp, $sp, 0x20
/* 00B398 8000A798 03E00008 */ jr $ra
/* 00B39C 8000A79C 00000000 */ nop

View File

@ -1,17 +0,0 @@
glabel func_8000A7A0
/* 00B3A0 8000A7A0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 00B3A4 8000A7A4 14800003 */ bnez $a0, .L8000A7B4_ovl0
/* 00B3A8 8000A7A8 AFBF001C */ sw $ra, 0x1c($sp)
/* 00B3AC 8000A7AC 3C048005 */ lui $a0, %hi(D_8004A7C4) # $a0, 0x8005
/* 00B3B0 8000A7B0 8C84A7C4 */ lw $a0, %lo(D_8004A7C4)($a0)
.L8000A7B4_ovl0:
/* 00B3B4 8000A7B4 8FAE0030 */ lw $t6, 0x30($sp)
/* 00B3B8 8000A7B8 AFA40020 */ sw $a0, 0x20($sp)
/* 00B3BC 8000A7BC 0C0029CC */ jal func_8000A730
/* 00B3C0 8000A7C0 AFAE0010 */ sw $t6, 0x10($sp)
/* 00B3C4 8000A7C4 0C002199 */ jal func_80008664
/* 00B3C8 8000A7C8 8FA40020 */ lw $a0, 0x20($sp)
/* 00B3CC 8000A7CC 8FBF001C */ lw $ra, 0x1c($sp)
/* 00B3D0 8000A7D0 27BD0020 */ addiu $sp, $sp, 0x20
/* 00B3D4 8000A7D4 03E00008 */ jr $ra
/* 00B3D8 8000A7D8 00000000 */ nop

View File

@ -61,7 +61,7 @@ SECTIONS
BUILD_DIR/src/ovl0/memory_layer.o(.text);
BUILD_DIR/src/ovl0/ovl0_2_5_1.o(.text);
BUILD_DIR/src/ovl0/rdp_reset.o(.text*); /* Why is the asterisk needed? */
BUILD_DIR/src/ovl0/ovl0_2_5_2.o(.text);
BUILD_DIR/src/ovl0/object_manager.o(.text);
BUILD_DIR/src/ovl0/ovl0_3.o(.text);
BUILD_DIR/src/ovl0/ovl0_4.o(.text);
BUILD_DIR/src/ovl0/ovl0_5.o(.text);
@ -238,7 +238,7 @@ SECTIONS
BUILD_DIR/src/ovl0/main.o(.data*);
BUILD_DIR/src/ovl0/ovl0_2_5.o(.data*);
BUILD_DIR/src/ovl0/rdp_reset.o(.data*);
BUILD_DIR/src/ovl0/ovl0_2_5_2.o(.data*);
BUILD_DIR/src/ovl0/object_manager.o(.data*);
BUILD_DIR/src/ovl0/ovl0_4.o(.data*);
BUILD_DIR/src/ovl0/ovl0_6.o(.data*);
BUILD_DIR/src/ovl0/ovl0_7.o(.data*);
@ -307,7 +307,7 @@ SECTIONS
BUILD_DIR/src/ovl0/ovl0_2_5.o(.bss);
BUILD_DIR/src/ovl0/ovl0_2_5_1.o(.bss);
BUILD_DIR/src/ovl0/rdp_reset.o(.bss);
BUILD_DIR/src/ovl0/ovl0_2_5_2.o(.bss);
BUILD_DIR/src/ovl0/object_manager.o(.bss);
BUILD_DIR/asm/ovl0/ovl0_bss.o(.bss);
BUILD_DIR/libultra.a:sptask.o(.bss);
BUILD_DIR/asm/ovl0/leo_interrupt.o(.bss);

View File

@ -506,7 +506,7 @@ void func_80008830(struct Animation *anim, struct AnimStack *element) {
anim->unk6C = element;
}
void func_80008840(struct unk80008840 *arg0, struct AnimStack *element) {
void func_80008840(struct Animation *arg0, struct AnimStack *element) {
element->next = arg0->unk90;
arg0->unk90 = element;
}
@ -669,9 +669,8 @@ struct ObjProcess *func_80008B94(struct UnkStruct8004A7C4 *arg0, struct ObjThrea
// one reordered addition here
osCreateThread(&oThread->thread, phi_a1, entry, arg0, (&arg4->stack[stackSize / (4 * 2)]), 0x33);
arg4->stack[7] = STACK_TOP_MAGIC;
if (D_8003DE50 >= 20000000) {
if (D_8003DE50 >= 20000000)
D_8003DE50 = 10000000;
}
}
func_800080C0(oProcess);
return oProcess;
@ -823,7 +822,7 @@ void func_80009918(struct unk80008840 *arg0) {
arg0->unk98 = D_80040650;
}
void *func_80009978(struct Animation* arg0, u8 arg1) {
struct AnimStack *func_80009978(struct Animation* arg0, u8 arg1) {
struct AnimStack *temp_v0;
temp_v0 = object_manager_get_animstack();
@ -1410,91 +1409,66 @@ void func_8000A29C(struct UnkStruct8004A7C4 *arg0) {
#ifdef MIPS_TO_C
void func_8000A350(s32 arg0, struct UnkStruct8004A7C4 *arg1, u8 arg2, u32 arg3, struct UnkStruct8004A7C4 *arg4) {
struct ObjThreadStack *sp20;
struct ObjProcess *temp_s0;
struct ObjThreadStack *temp_s1;
struct UnkStruct8004A7C4 *phi_s0;
struct ObjThreadStack *phi_s1;
struct ObjProcess *phi_s1_2;
if (arg2 >= 0x20) {
fatal_printf(&D_80040414, arg2, arg1->objId); // "omGMoveCommon() : link num over : link = %d : id = %d\n"
while (1);
}
phi_s0 = arg1;
if (arg1 == 0) {
phi_s0 = D_8004A7C4;
if (arg1 == NULL) {
arg1 = D_8004A7C4;
}
sp20 = phi_s0->unk18;
phi_s0->unk18 = NULL;
phi_s0->unk1C = 0;
phi_s1 = sp20;
if (sp20 != 0) {
loop_6:
func_800081C4(phi_s1);
temp_s1 = phi_s1->unk0;
phi_s1 = temp_s1;
if (temp_s1 != 0) {
goto loop_6;
}
sp20 = arg1->unk18;
arg1->unk18 = NULL;
arg1->unk1C = 0;
while (sp20 != 0) {
func_800081C4(sp20);
sp20 = sp20->unk0;
}
func_80008528(phi_s0);
phi_s0->unkC = arg2;
phi_s0->unk10 = arg3;
func_80008528(arg1);
arg1->unkC = arg2;
arg1->unk10 = arg3;
switch (arg0) {
case 0: func_80008434(phi_s0); break;
case 1: func_800084A0(phi_s0); break;
case 2: func_800083CC(phi_s0, arg4); break;
case 3: func_800083CC(phi_s0, arg4->unk8); break;
case 0:
func_80008434(arg1);
break;
case 1:
func_800084A0(arg1);
break;
case 2:
func_800083CC(arg1, arg4);
break;
case 3:
func_800083CC(arg1, arg4->unk8);
break;
}
if (sp20 != 0) {
loop_18:
temp_s0 = phi_s1_2->unk0;
func_800080C0(phi_s1_2);
phi_s1_2 = temp_s0;
if (temp_s0 != 0) {
goto loop_18;
}
while (sp20 != 0) {
func_800080C0(sp20);
sp20 = sp20->unk0;
}
}
#else
void func_8000A350(s32 arg0, struct UnkStruct8004A7C4 *arg1, u8 arg2, u32 arg3, struct UnkStruct8004A7C4 *arg4);
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000A350.s")
#endif
#ifdef MIPS_TO_C
void func_8000A498(s32 arg0, u8 arg1, ? arg2) {
func_8000A350(0, arg0, arg1, arg2, 0);
void func_8000A498(struct UnkStruct8004A7C4 *arg0, u8 arg1, s32 arg2) {
func_8000A350(0, arg0, arg1, arg2, NULL);
}
#else
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000A498.s")
#endif
#ifdef MIPS_TO_C
void func_8000A4D0(s32 arg0, u8 arg1, ? arg2) {
func_8000A350(1, arg0, arg1, arg2, 0);
void func_8000A4D0(struct UnkStruct8004A7C4 *arg0, u8 arg1, s32 arg2) {
func_8000A350(1, arg0, arg1, arg2, NULL);
}
#else
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000A4D0.s")
#endif
#ifdef MIPS_TO_C
void func_8000A508(s32 arg0, void *arg1) {
void func_8000A508(struct UnkStruct8004A7C4 *arg0, struct UnkStruct8004A7C4 *arg1) {
func_8000A350(2, arg0, arg1->unkC, arg1->unk10, arg1);
}
#else
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000A508.s")
#endif
#ifdef MIPS_TO_C
void func_8000A544(s32 arg0, void *arg1) {
void func_8000A544(struct UnkStruct8004A7C4 *arg0, struct UnkStruct8004A7C4 *arg1) {
func_8000A350(3, arg0, arg1->unkC, arg1->unk10, arg1);
}
#else
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000A544.s")
#endif
extern u32 D_8003DCA8;
extern u8 D_8004044C[];
void func_8000A580(struct UnkStruct8004A7C4 *arg0, s32 arg1, u8 link, s32 arg3, s32 arg4) {
if (link >= 0x20) {
@ -1517,110 +1491,63 @@ void func_8000A5FC(struct UnkStruct8004A7C4 *arg0, s32 arg1, u8 arg2, s32 arg3,
func_800085F8(arg0);
}
#ifdef MIPS_TO_C
void func_8000A640(struct UnkStruct8004A7C4 *arg0, s32 arg2, s32 arg4) {
struct UnkStruct8004A7C4 *phi_a0;
phi_a0 = arg0;
void func_8000A640(struct UnkStruct8004A7C4 *arg0, s32 arg1, u8 link, s32 arg3, s32 arg4) {
if (arg0 == 0) {
phi_a0 = D_8004A7C4;
arg0 = D_8004A7C4;
}
arg0 = phi_a0;
func_8000A580(phi_a0, arg2 & 0xFF, arg4);
func_8000A580(arg0, arg1, link, arg3, arg4);
func_80008664(arg0);
}
#else
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000A640.s")
#endif
#ifdef MIPS_TO_C
void func_8000A684(struct UnkStruct8004A7C4 *arg0, s32 arg2, struct UnkStruct8004A7C4 *arg3) {
struct UnkStruct8004A7C4 *phi_a0;
phi_a0 = arg0;
void func_8000A684(struct UnkStruct8004A7C4 *arg0, s32 arg1, s32 arg2, struct UnkStruct8004A7C4 *arg3) {
if (arg0 == 0) {
phi_a0 = D_8004A7C4;
arg0 = D_8004A7C4;
}
arg0 = phi_a0;
func_8000A580(phi_a0, arg3->unkD, arg3->unk28, arg2);
func_8000A580(arg0, arg1, arg3->unkD, arg3->unk28, arg2);
func_80008590(arg0, arg3);
}
#else
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000A684.s")
#endif
#ifdef MIPS_TO_C
void func_8000A6D8(struct UnkStruct8004A7C4 *arg0, s32 arg2, void *arg3) {
struct UnkStruct8004A7C4 *phi_a0;
phi_a0 = arg0;
void func_8000A6D8(struct UnkStruct8004A7C4 *arg0, s32 arg1, s32 arg2, struct UnkStruct8004A7C4 *arg3) {
if (arg0 == 0) {
phi_a0 = D_8004A7C4;
arg0 = D_8004A7C4;
}
arg0 = phi_a0;
func_8000A580(phi_a0, arg3->unkD, arg3->unk28, arg2);
func_8000A580(arg0, arg1, arg3->unkD, arg3->unk28, arg2);
func_80008590(arg0, arg3->unk8);
}
#else
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000A6D8.s")
#endif
#ifdef MIPS_TO_C
void func_8000A730(void *arg0, ?32 arg1, ?32 arg2, ?32 arg3, s32 arg4) {
void func_8000A730(struct UnkStruct8004A7C4 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
arg0->unkD = 0x20;
arg0->unk28 = arg2;
arg0->unk2C = arg1;
arg0->unk30 = arg3;
arg0->unk38 = 0;
arg0->unk34 = arg4;
arg0->unkE = *D_8003DCA8 - 1;
arg0->unk38 = 0;
arg0->unkE = D_8003DCA8 - 1;
}
#else
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000A730.s")
#endif
#ifdef MIPS_TO_C
void func_8000A764(struct UnkStruct8004A7C4 *arg0, s32 arg4) {
struct UnkStruct8004A7C4 *phi_a0;
phi_a0 = arg0;
void func_8000A764(struct UnkStruct8004A7C4 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
if (arg0 == 0) {
phi_a0 = D_8004A7C4;
arg0 = D_8004A7C4;
}
arg0 = phi_a0;
func_8000A730(phi_a0, arg4);
func_8000A730(arg0, arg1, arg2, arg3, arg4);
func_800085F8(arg0);
}
#else
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000A764.s")
#endif
#ifdef MIPS_TO_C
void func_8000A7A0(struct UnkStruct8004A7C4 *arg0, s32 arg4) {
struct UnkStruct8004A7C4 *phi_a0;
phi_a0 = arg0;
void func_8000A7A0(struct UnkStruct8004A7C4 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
if (arg0 == 0) {
phi_a0 = D_8004A7C4;
arg0 = D_8004A7C4;
}
arg0 = phi_a0;
func_8000A730(phi_a0, arg4);
func_8000A730(arg0, arg1, arg2, arg3, arg4);
func_80008664(arg0);
}
#else
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000A7A0.s")
#endif
// arg memes on both these functions
#ifdef MIPS_TO_C
void func_8000A7DC(struct UnkStruct8004A7C4 *arg0, s32 arg2, s32 arg3, struct UnkStruct8004A7C4 *arg4) {
struct UnkStruct8004A7C4 *phi_a0;
phi_a0 = arg0;
void func_8000A7DC(struct UnkStruct8004A7C4 *arg0, s32 arg1, s32 arg2, s32 arg3, struct UnkStruct8004A7C4 *arg4) {
if (arg0 == 0) {
phi_a0 = D_8004A7C4;
arg0 = D_8004A7C4;
}
arg0 = phi_a0;
func_8000A730(phi_a0, arg4->unk28, arg2, arg3);
func_8000A730(arg0, arg1, arg4->unk28, arg3, arg4);
func_80008590(arg0, arg4);
}
#else
@ -1628,15 +1555,11 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000A7DC.s")
#endif
#ifdef MIPS_TO_C
void func_8000A830(struct UnkStruct8004A7C4 *arg0, s32 arg2, s32 arg3, struct UnkStruct8004A7C4 *arg4) {
struct UnkStruct8004A7C4 *phi_a0;
phi_a0 = arg0;
void func_8000A830(struct UnkStruct8004A7C4 *arg0, s32 arg1, s32 arg2, s32 arg3, struct UnkStruct8004A7C4 *arg4) {
if (arg0 == 0) {
phi_a0 = D_8004A7C4;
arg0 = D_8004A7C4;
}
arg0 = phi_a0;
func_8000A730(phi_a0, arg4->unk28, arg2, arg3);
func_8000A730(arg0, arg4->unk28, arg2, arg3, arg4);
func_80008590(arg0, arg4->unk8);
}
#else
@ -1719,7 +1642,7 @@ struct UnkStruct8004A7F8 *func_8000AAE0(void) {
D_8004A7C8 = NULL;
D_8004A7CC = 0;
temp_v1 = *D_8003DCA8 - 1;
temp_v1 = D_8003DCA8 - 1;
phi_v0 = D_8004A7F8;
loop_1:
temp_v0 = phi_v0 + 0x50;
@ -2357,22 +2280,19 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000B448.s")
#endif
#ifdef MIPS_TO_C
void func_8000B4D4(u32 arg0, void (*arg1)(struct UnkStruct8004A7C4*, s32), s32 arg2, s32 arg3) {
void *temp_s0;
void *temp_s1;
void *phi_s0;
void func_8000B4D4(struct UnkStruct8004A7C4 *arg0, s32 (*arg1)(struct UnkStruct8004A7C4*, s32), s32 arg2, s32 arg3) {
struct UnkStruct8004A578 *phi_s0;
temp_s0 = D_8004A578[arg0->objId];
while (temp_s0 != NULL) {
phi_s0 = phi_s0->unk4;
// temp_s1 = phi_s0->unk4;
phi_s0 = D_8004A578[arg0->objId];
while (phi_s0 != NULL) {
if ((arg1(phi_s0, arg2) != 0) && (arg3 == 1)) {
break;
}
// phi_s0 = temp_s1;
phi_s0 = phi_s0->unk4;
}
}
#else
void func_8000B4D4(u32 arg0, s32 (*arg1)(struct UnkStruct8004A7C4*, s32), s32 arg2, s32 arg3);
GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000B4D4.s")
#endif
@ -2415,7 +2335,7 @@ u32 *func_8000B63C(u32 *arg0, s32 arg1) {
return (arg1 == *arg0) ? arg0 : NULL;
}
void func_8000B4D4(u32, void*, s32, s32);
// void func_8000B4D4(u32, void*, s32, s32);
void func_8000B65C(u32 arg0, s32 arg1) {
func_8000B4D4(arg0, &func_8000B63C, arg1, 1);

View File

@ -54,6 +54,11 @@ struct Animation {
f32 scale; // unk74
u32 unk78;
f32 unk7C;
u32 unk80;
u32 unk84;
u32 unk88;
u32 unk8C;
struct Animation *unk90;
};
void func_8000C3D8(struct Animation *anim);

View File

@ -785,6 +785,7 @@ def WriteUnk2(file,GH,unk):
# file.write(" 0x%X"%u + "\n")
# else:
file.write(" BANK_INDEX(%d, %d)"%(u[0] >> 16, u[0] & 0xFFFF) + ",\n")
# file.write(" 0x%08X"%(u[0]) + ",\n")
file.write("};\n")
else:
file.write("\n// No Animations\n")