From dd0b6e2ff2eaa878958950d44fe9cbb442ebcc12 Mon Sep 17 00:00:00 2001 From: MegaMech Date: Sun, 26 Dec 2021 00:14:52 -0700 Subject: [PATCH] decomp more 80057C60.c to reach 20 percent (#118) --- .../code_80057C60/func_80058B58.s | 44 -- .../code_80057C60/func_80058C20.s | 114 --- .../code_80057C60/func_80058DB4.s | 114 --- .../code_80057C60/func_8005902C.s | 48 -- .../code_80057C60/func_800590D4.s | 63 -- .../code_80057C60/func_800591B4.s | 115 --- .../code_80057C60/func_800593F0.s | 3 - .../code_80057C60/func_80059488.s | 28 - .../code_80057C60/func_800594F8.s | 14 - .../code_80057C60/func_80059528.s | 3 - .../code_80057C60/func_80059530.s | 14 - .../code_80057C60/func_800596A8.s | 14 - .../code_80057C60/func_800596D8.s | 16 - .../code_80057C60/func_80059710.s | 3 - .../code_80057C60/func_80059718.s | 16 - .../code_80057C60/func_80059750.s | 14 - .../code_80057C60/func_80059780.s | 16 - .../code_80057C60/func_800597B8.s | 14 - .../code_80057C60/func_800597E8.s | 16 - .../code_80057C60/func_800598D4.s | 34 - .../code_80057C60/func_8005994C.s | 5 - .../code_80057C60/func_80059A88.s | 18 - .../code_80086E70/func_8008A890.s | 9 - data/data_0DD0A0_3_0.s | 16 +- include/types.h | 57 ++ src/code_80057C60.c | 668 ++++++------------ src/code_80086E70.c | 13 +- 27 files changed, 294 insertions(+), 1195 deletions(-) delete mode 100644 asm/non_matchings/code_80057C60/func_80058B58.s delete mode 100644 asm/non_matchings/code_80057C60/func_80058C20.s delete mode 100644 asm/non_matchings/code_80057C60/func_80058DB4.s delete mode 100644 asm/non_matchings/code_80057C60/func_8005902C.s delete mode 100644 asm/non_matchings/code_80057C60/func_800590D4.s delete mode 100644 asm/non_matchings/code_80057C60/func_800591B4.s delete mode 100644 asm/non_matchings/code_80057C60/func_800593F0.s delete mode 100644 asm/non_matchings/code_80057C60/func_80059488.s delete mode 100644 asm/non_matchings/code_80057C60/func_800594F8.s delete mode 100644 asm/non_matchings/code_80057C60/func_80059528.s delete mode 100644 asm/non_matchings/code_80057C60/func_80059530.s delete mode 100644 asm/non_matchings/code_80057C60/func_800596A8.s delete mode 100644 asm/non_matchings/code_80057C60/func_800596D8.s delete mode 100644 asm/non_matchings/code_80057C60/func_80059710.s delete mode 100644 asm/non_matchings/code_80057C60/func_80059718.s delete mode 100644 asm/non_matchings/code_80057C60/func_80059750.s delete mode 100644 asm/non_matchings/code_80057C60/func_80059780.s delete mode 100644 asm/non_matchings/code_80057C60/func_800597B8.s delete mode 100644 asm/non_matchings/code_80057C60/func_800597E8.s delete mode 100644 asm/non_matchings/code_80057C60/func_800598D4.s delete mode 100644 asm/non_matchings/code_80057C60/func_8005994C.s delete mode 100644 asm/non_matchings/code_80057C60/func_80059A88.s delete mode 100644 asm/non_matchings/code_80086E70/func_8008A890.s diff --git a/asm/non_matchings/code_80057C60/func_80058B58.s b/asm/non_matchings/code_80057C60/func_80058B58.s deleted file mode 100644 index 868b7c644..000000000 --- a/asm/non_matchings/code_80057C60/func_80058B58.s +++ /dev/null @@ -1,44 +0,0 @@ -glabel func_80058B58 -/* 059758 80058B58 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e -/* 05975C 80058B5C 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) -/* 059760 80058B60 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 059764 80058B64 24010005 */ li $at, 5 -/* 059768 80058B68 10410006 */ beq $v0, $at, .L80058B84 -/* 05976C 80058B6C AFBF0014 */ sw $ra, 0x14($sp) -/* 059770 80058B70 2401000C */ li $at, 12 -/* 059774 80058B74 10410019 */ beq $v0, $at, .L80058BDC -/* 059778 80058B78 00000000 */ nop -/* 05977C 80058B7C 1000001A */ b .L80058BE8 -/* 059780 80058B80 8FBF0014 */ lw $ra, 0x14($sp) -.L80058B84: -/* 059784 80058B84 3C0E800E */ lui $t6, %hi(D_800DC50C) # $t6, 0x800e -/* 059788 80058B88 8DCEC50C */ lw $t6, %lo(D_800DC50C)($t6) -/* 05978C 80058B8C 24010009 */ li $at, 9 -/* 059790 80058B90 3C0F8016 */ lui $t7, %hi(D_8015F894) # $t7, 0x8016 -/* 059794 80058B94 11C1000D */ beq $t6, $at, .L80058BCC -/* 059798 80058B98 00000000 */ nop -/* 05979C 80058B9C 95EFF894 */ lhu $t7, %lo(D_8015F894)($t7) -/* 0597A0 80058BA0 3C18800E */ lui $t8, %hi(gPlayerCountSelection1) # $t8, 0x800e -/* 0597A4 80058BA4 55E00010 */ bnel $t7, $zero, .L80058BE8 -/* 0597A8 80058BA8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0597AC 80058BAC 8F18C538 */ lw $t8, %lo(gPlayerCountSelection1)($t8) -/* 0597B0 80058BB0 24010001 */ li $at, 1 -/* 0597B4 80058BB4 5701000C */ bnel $t8, $at, .L80058BE8 -/* 0597B8 80058BB8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0597BC 80058BBC 0C0145F2 */ jal func_800517C8 -/* 0597C0 80058BC0 00000000 */ nop -/* 0597C4 80058BC4 10000008 */ b .L80058BE8 -/* 0597C8 80058BC8 8FBF0014 */ lw $ra, 0x14($sp) -.L80058BCC: -/* 0597CC 80058BCC 0C0145F2 */ jal func_800517C8 -/* 0597D0 80058BD0 00000000 */ nop -/* 0597D4 80058BD4 10000004 */ b .L80058BE8 -/* 0597D8 80058BD8 8FBF0014 */ lw $ra, 0x14($sp) -.L80058BDC: -/* 0597DC 80058BDC 0C014B18 */ jal func_80052C60 -/* 0597E0 80058BE0 00000000 */ nop -/* 0597E4 80058BE4 8FBF0014 */ lw $ra, 0x14($sp) -.L80058BE8: -/* 0597E8 80058BE8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0597EC 80058BEC 03E00008 */ jr $ra -/* 0597F0 80058BF0 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_80058C20.s b/asm/non_matchings/code_80057C60/func_80058C20.s deleted file mode 100644 index e22941bd6..000000000 --- a/asm/non_matchings/code_80057C60/func_80058C20.s +++ /dev/null @@ -1,114 +0,0 @@ -glabel func_80058C20 -/* 059820 80058C20 3C058015 */ lui $a1, %hi(gDisplayListHead) # $a1, 0x8015 -/* 059824 80058C24 3C018019 */ lui $at, %hi(D_8018D21C) # $at, 0x8019 -/* 059828 80058C28 24A50298 */ addiu $a1, %lo(gDisplayListHead) # addiu $a1, $a1, 0x298 -/* 05982C 80058C2C AC24D21C */ sw $a0, %lo(D_8018D21C)($at) -/* 059830 80058C30 8CA30000 */ lw $v1, ($a1) -/* 059834 80058C34 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 059838 80058C38 AFBF0014 */ sw $ra, 0x14($sp) -/* 05983C 80058C3C 246E0008 */ addiu $t6, $v1, 8 -/* 059840 80058C40 ACAE0000 */ sw $t6, ($a1) -/* 059844 80058C44 3C180D00 */ lui $t8, %hi(D_0D0076F8) # $t8, 0xd00 -/* 059848 80058C48 271876F8 */ addiu $t8, %lo(D_0D0076F8) # addiu $t8, $t8, 0x76f8 -/* 05984C 80058C4C 3C0F0600 */ lui $t7, 0x600 -/* 059850 80058C50 3C198019 */ lui $t9, %hi(D_8018D22C) # $t9, 0x8019 -/* 059854 80058C54 AC6F0000 */ sw $t7, ($v1) -/* 059858 80058C58 AC780004 */ sw $t8, 4($v1) -/* 05985C 80058C5C 8F39D22C */ lw $t9, %lo(D_8018D22C)($t9) -/* 059860 80058C60 2C81000C */ sltiu $at, $a0, 0xc -/* 059864 80058C64 57200050 */ bnel $t9, $zero, .L80058DA8 -/* 059868 80058C68 8FBF0014 */ lw $ra, 0x14($sp) -/* 05986C 80058C6C 1020004D */ beqz $at, .L80058DA4 -/* 059870 80058C70 00044080 */ sll $t0, $a0, 2 -/* 059874 80058C74 3C01800F */ lui $at, %hi(jpt_800EE180) -/* 059878 80058C78 00280821 */ addu $at, $at, $t0 -/* 05987C 80058C7C 8C28E180 */ lw $t0, %lo(jpt_800EE180)($at) -/* 059880 80058C80 01000008 */ jr $t0 -/* 059884 80058C84 00000000 */ nop -glabel L80058C88 -/* 059888 80058C88 0C0163D2 */ jal func_80058F48 -/* 05988C 80058C8C 00000000 */ nop -/* 059890 80058C90 10000045 */ b .L80058DA8 -/* 059894 80058C94 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058C98 -/* 059898 80058C98 3C09800E */ lui $t1, %hi(D_800DC51C) # $t1, 0x800e -/* 05989C 80058C9C 9529C51C */ lhu $t1, %lo(D_800DC51C)($t1) -/* 0598A0 80058CA0 55200041 */ bnel $t1, $zero, .L80058DA8 -/* 0598A4 80058CA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0598A8 80058CA8 0C0164D6 */ jal func_80059358 -/* 0598AC 80058CAC 00000000 */ nop -/* 0598B0 80058CB0 1000003D */ b .L80058DA8 -/* 0598B4 80058CB4 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058CB8 -/* 0598B8 80058CB8 3C0A800E */ lui $t2, %hi(D_800DC51C) # $t2, 0x800e -/* 0598BC 80058CBC 954AC51C */ lhu $t2, %lo(D_800DC51C)($t2) -/* 0598C0 80058CC0 55400039 */ bnel $t2, $zero, .L80058DA8 -/* 0598C4 80058CC4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0598C8 80058CC8 0C0164FC */ jal func_800593F0 -/* 0598CC 80058CCC 00000000 */ nop -/* 0598D0 80058CD0 10000035 */ b .L80058DA8 -/* 0598D4 80058CD4 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058CD8 -/* 0598D8 80058CD8 3C0B800E */ lui $t3, %hi(D_800DC51C) # $t3, 0x800e -/* 0598DC 80058CDC 956BC51C */ lhu $t3, %lo(D_800DC51C)($t3) -/* 0598E0 80058CE0 55600031 */ bnel $t3, $zero, .L80058DA8 -/* 0598E4 80058CE4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0598E8 80058CE8 0C01653C */ jal func_800594F0 -/* 0598EC 80058CEC 00000000 */ nop -/* 0598F0 80058CF0 1000002D */ b .L80058DA8 -/* 0598F4 80058CF4 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058CF8 -/* 0598F8 80058CF8 3C0C800E */ lui $t4, %hi(D_800DC51C) # $t4, 0x800e -/* 0598FC 80058CFC 958CC51C */ lhu $t4, %lo(D_800DC51C)($t4) -/* 059900 80058D00 55800029 */ bnel $t4, $zero, .L80058DA8 -/* 059904 80058D04 8FBF0014 */ lw $ra, 0x14($sp) -/* 059908 80058D08 0C01654A */ jal func_80059528 -/* 05990C 80058D0C 00000000 */ nop -/* 059910 80058D10 10000025 */ b .L80058DA8 -/* 059914 80058D14 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058D18 -/* 059918 80058D18 3C0D800E */ lui $t5, %hi(D_800DC51C) # $t5, 0x800e -/* 05991C 80058D1C 95ADC51C */ lhu $t5, %lo(D_800DC51C)($t5) -/* 059920 80058D20 55A00021 */ bnel $t5, $zero, .L80058DA8 -/* 059924 80058D24 8FBF0014 */ lw $ra, 0x14($sp) -/* 059928 80058D28 0C0165AA */ jal func_800596A8 -/* 05992C 80058D2C 00000000 */ nop -/* 059930 80058D30 1000001D */ b .L80058DA8 -/* 059934 80058D34 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058D38 -/* 059938 80058D38 3C0E800E */ lui $t6, %hi(D_800DC51C) # $t6, 0x800e -/* 05993C 80058D3C 95CEC51C */ lhu $t6, %lo(D_800DC51C)($t6) -/* 059940 80058D40 55C00019 */ bnel $t6, $zero, .L80058DA8 -/* 059944 80058D44 8FBF0014 */ lw $ra, 0x14($sp) -/* 059948 80058D48 0C0165C4 */ jal func_80059710 -/* 05994C 80058D4C 00000000 */ nop -/* 059950 80058D50 10000015 */ b .L80058DA8 -/* 059954 80058D54 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058D58 -/* 059958 80058D58 3C0F800E */ lui $t7, %hi(D_800DC51C) # $t7, 0x800e -/* 05995C 80058D5C 95EFC51C */ lhu $t7, %lo(D_800DC51C)($t7) -/* 059960 80058D60 55E00011 */ bnel $t7, $zero, .L80058DA8 -/* 059964 80058D64 8FBF0014 */ lw $ra, 0x14($sp) -/* 059968 80058D68 0C0165D4 */ jal func_80059750 -/* 05996C 80058D6C 00000000 */ nop -/* 059970 80058D70 1000000D */ b .L80058DA8 -/* 059974 80058D74 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058D78 -/* 059978 80058D78 3C18800E */ lui $t8, %hi(D_800DC51C) # $t8, 0x800e -/* 05997C 80058D7C 9718C51C */ lhu $t8, %lo(D_800DC51C)($t8) -/* 059980 80058D80 3C19800E */ lui $t9, %hi(gPlayerCountSelection1) # $t9, 0x800e -/* 059984 80058D84 57000008 */ bnel $t8, $zero, .L80058DA8 -/* 059988 80058D88 8FBF0014 */ lw $ra, 0x14($sp) -/* 05998C 80058D8C 8F39C538 */ lw $t9, %lo(gPlayerCountSelection1)($t9) -/* 059990 80058D90 24010004 */ li $at, 4 -/* 059994 80058D94 57210004 */ bnel $t9, $at, .L80058DA8 -/* 059998 80058D98 8FBF0014 */ lw $ra, 0x14($sp) -/* 05999C 80058D9C 0C0165EE */ jal func_800597B8 -/* 0599A0 80058DA0 00000000 */ nop -.L80058DA4: -glabel L80058DA4 -/* 0599A4 80058DA4 8FBF0014 */ lw $ra, 0x14($sp) -.L80058DA8: -/* 0599A8 80058DA8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0599AC 80058DAC 03E00008 */ jr $ra -/* 0599B0 80058DB0 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_80058DB4.s b/asm/non_matchings/code_80057C60/func_80058DB4.s deleted file mode 100644 index 0fd8db208..000000000 --- a/asm/non_matchings/code_80057C60/func_80058DB4.s +++ /dev/null @@ -1,114 +0,0 @@ -glabel func_80058DB4 -/* 0599B4 80058DB4 3C058015 */ lui $a1, %hi(gDisplayListHead) # $a1, 0x8015 -/* 0599B8 80058DB8 3C018019 */ lui $at, %hi(D_8018D21C) # $at, 0x8019 -/* 0599BC 80058DBC 24A50298 */ addiu $a1, %lo(gDisplayListHead) # addiu $a1, $a1, 0x298 -/* 0599C0 80058DC0 AC24D21C */ sw $a0, %lo(D_8018D21C)($at) -/* 0599C4 80058DC4 8CA30000 */ lw $v1, ($a1) -/* 0599C8 80058DC8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0599CC 80058DCC AFBF0014 */ sw $ra, 0x14($sp) -/* 0599D0 80058DD0 246E0008 */ addiu $t6, $v1, 8 -/* 0599D4 80058DD4 ACAE0000 */ sw $t6, ($a1) -/* 0599D8 80058DD8 3C180D00 */ lui $t8, %hi(D_0D0076F8) # $t8, 0xd00 -/* 0599DC 80058DDC 271876F8 */ addiu $t8, %lo(D_0D0076F8) # addiu $t8, $t8, 0x76f8 -/* 0599E0 80058DE0 3C0F0600 */ lui $t7, 0x600 -/* 0599E4 80058DE4 3C198019 */ lui $t9, %hi(D_8018D22C) # $t9, 0x8019 -/* 0599E8 80058DE8 AC6F0000 */ sw $t7, ($v1) -/* 0599EC 80058DEC AC780004 */ sw $t8, 4($v1) -/* 0599F0 80058DF0 8F39D22C */ lw $t9, %lo(D_8018D22C)($t9) -/* 0599F4 80058DF4 2C81000C */ sltiu $at, $a0, 0xc -/* 0599F8 80058DF8 57200050 */ bnel $t9, $zero, .L80058F3C -/* 0599FC 80058DFC 8FBF0014 */ lw $ra, 0x14($sp) -/* 059A00 80058E00 1020004D */ beqz $at, .L80058F38 -/* 059A04 80058E04 00044080 */ sll $t0, $a0, 2 -/* 059A08 80058E08 3C01800F */ lui $at, %hi(jpt_800EE1B0) -/* 059A0C 80058E0C 00280821 */ addu $at, $at, $t0 -/* 059A10 80058E10 8C28E1B0 */ lw $t0, %lo(jpt_800EE1B0)($at) -/* 059A14 80058E14 01000008 */ jr $t0 -/* 059A18 80058E18 00000000 */ nop -glabel L80058E1C -/* 059A1C 80058E1C 0C0163DE */ jal func_80058F78 -/* 059A20 80058E20 00000000 */ nop -/* 059A24 80058E24 10000045 */ b .L80058F3C -/* 059A28 80058E28 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058E2C -/* 059A2C 80058E2C 3C09800E */ lui $t1, %hi(D_800DC51C) # $t1, 0x800e -/* 059A30 80058E30 9529C51C */ lhu $t1, %lo(D_800DC51C)($t1) -/* 059A34 80058E34 55200041 */ bnel $t1, $zero, .L80058F3C -/* 059A38 80058E38 8FBF0014 */ lw $ra, 0x14($sp) -/* 059A3C 80058E3C 0C0164D8 */ jal func_80059360 -/* 059A40 80058E40 00000000 */ nop -/* 059A44 80058E44 1000003D */ b .L80058F3C -/* 059A48 80058E48 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058E4C -/* 059A4C 80058E4C 3C0A800E */ lui $t2, %hi(D_800DC51C) # $t2, 0x800e -/* 059A50 80058E50 954AC51C */ lhu $t2, %lo(D_800DC51C)($t2) -/* 059A54 80058E54 55400039 */ bnel $t2, $zero, .L80058F3C -/* 059A58 80058E58 8FBF0014 */ lw $ra, 0x14($sp) -/* 059A5C 80058E5C 0C0164FE */ jal func_800593F8 -/* 059A60 80058E60 00000000 */ nop -/* 059A64 80058E64 10000035 */ b .L80058F3C -/* 059A68 80058E68 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058E6C -/* 059A6C 80058E6C 3C0B800E */ lui $t3, %hi(D_800DC51C) # $t3, 0x800e -/* 059A70 80058E70 956BC51C */ lhu $t3, %lo(D_800DC51C)($t3) -/* 059A74 80058E74 55600031 */ bnel $t3, $zero, .L80058F3C -/* 059A78 80058E78 8FBF0014 */ lw $ra, 0x14($sp) -/* 059A7C 80058E7C 0C01653E */ jal func_800594F8 -/* 059A80 80058E80 00000000 */ nop -/* 059A84 80058E84 1000002D */ b .L80058F3C -/* 059A88 80058E88 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058E8C -/* 059A8C 80058E8C 3C0C800E */ lui $t4, %hi(D_800DC51C) # $t4, 0x800e -/* 059A90 80058E90 958CC51C */ lhu $t4, %lo(D_800DC51C)($t4) -/* 059A94 80058E94 55800029 */ bnel $t4, $zero, .L80058F3C -/* 059A98 80058E98 8FBF0014 */ lw $ra, 0x14($sp) -/* 059A9C 80058E9C 0C01654C */ jal func_80059530 -/* 059AA0 80058EA0 00000000 */ nop -/* 059AA4 80058EA4 10000025 */ b .L80058F3C -/* 059AA8 80058EA8 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058EAC -/* 059AAC 80058EAC 3C0D800E */ lui $t5, %hi(D_800DC51C) # $t5, 0x800e -/* 059AB0 80058EB0 95ADC51C */ lhu $t5, %lo(D_800DC51C)($t5) -/* 059AB4 80058EB4 55A00021 */ bnel $t5, $zero, .L80058F3C -/* 059AB8 80058EB8 8FBF0014 */ lw $ra, 0x14($sp) -/* 059ABC 80058EBC 0C0165B6 */ jal func_800596D8 -/* 059AC0 80058EC0 00000000 */ nop -/* 059AC4 80058EC4 1000001D */ b .L80058F3C -/* 059AC8 80058EC8 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058ECC -/* 059ACC 80058ECC 3C0E800E */ lui $t6, %hi(D_800DC51C) # $t6, 0x800e -/* 059AD0 80058ED0 95CEC51C */ lhu $t6, %lo(D_800DC51C)($t6) -/* 059AD4 80058ED4 55C00019 */ bnel $t6, $zero, .L80058F3C -/* 059AD8 80058ED8 8FBF0014 */ lw $ra, 0x14($sp) -/* 059ADC 80058EDC 0C0165C6 */ jal func_80059718 -/* 059AE0 80058EE0 00000000 */ nop -/* 059AE4 80058EE4 10000015 */ b .L80058F3C -/* 059AE8 80058EE8 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058EEC -/* 059AEC 80058EEC 3C0F800E */ lui $t7, %hi(D_800DC51C) # $t7, 0x800e -/* 059AF0 80058EF0 95EFC51C */ lhu $t7, %lo(D_800DC51C)($t7) -/* 059AF4 80058EF4 55E00011 */ bnel $t7, $zero, .L80058F3C -/* 059AF8 80058EF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 059AFC 80058EFC 0C0165E0 */ jal func_80059780 -/* 059B00 80058F00 00000000 */ nop -/* 059B04 80058F04 1000000D */ b .L80058F3C -/* 059B08 80058F08 8FBF0014 */ lw $ra, 0x14($sp) -glabel L80058F0C -/* 059B0C 80058F0C 3C18800E */ lui $t8, %hi(D_800DC51C) # $t8, 0x800e -/* 059B10 80058F10 9718C51C */ lhu $t8, %lo(D_800DC51C)($t8) -/* 059B14 80058F14 3C19800E */ lui $t9, %hi(gPlayerCountSelection1) # $t9, 0x800e -/* 059B18 80058F18 57000008 */ bnel $t8, $zero, .L80058F3C -/* 059B1C 80058F1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 059B20 80058F20 8F39C538 */ lw $t9, %lo(gPlayerCountSelection1)($t9) -/* 059B24 80058F24 24010004 */ li $at, 4 -/* 059B28 80058F28 57210004 */ bnel $t9, $at, .L80058F3C -/* 059B2C 80058F2C 8FBF0014 */ lw $ra, 0x14($sp) -/* 059B30 80058F30 0C0165FA */ jal func_800597E8 -/* 059B34 80058F34 00000000 */ nop -.L80058F38: -glabel L80058F38 -/* 059B38 80058F38 8FBF0014 */ lw $ra, 0x14($sp) -.L80058F3C: -/* 059B3C 80058F3C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 059B40 80058F40 03E00008 */ jr $ra -/* 059B44 80058F44 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_8005902C.s b/asm/non_matchings/code_80057C60/func_8005902C.s deleted file mode 100644 index 0c2f92cee..000000000 --- a/asm/non_matchings/code_80057C60/func_8005902C.s +++ /dev/null @@ -1,48 +0,0 @@ -glabel func_8005902C -/* 059C2C 8005902C 3C0E8019 */ lui $t6, %hi(D_8018D2AC) # $t6, 0x8019 -/* 059C30 80059030 8DCED2AC */ lw $t6, %lo(D_8018D2AC)($t6) -/* 059C34 80059034 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 059C38 80059038 AFBF0014 */ sw $ra, 0x14($sp) -/* 059C3C 8005903C 11C00021 */ beqz $t6, .L800590C4 -/* 059C40 80059040 3C02800E */ lui $v0, %hi(gPlayerCountSelection1) # $v0, 0x800e -/* 059C44 80059044 8C42C538 */ lw $v0, %lo(gPlayerCountSelection1)($v0) -/* 059C48 80059048 24010002 */ li $at, 2 -/* 059C4C 8005904C 10410007 */ beq $v0, $at, .L8005906C -/* 059C50 80059050 24010003 */ li $at, 3 -/* 059C54 80059054 1041000B */ beq $v0, $at, .L80059084 -/* 059C58 80059058 24010004 */ li $at, 4 -/* 059C5C 8005905C 10410011 */ beq $v0, $at, .L800590A4 -/* 059C60 80059060 00000000 */ nop -/* 059C64 80059064 10000018 */ b .L800590C8 -/* 059C68 80059068 8FBF0014 */ lw $ra, 0x14($sp) -.L8005906C: -/* 059C6C 8005906C 0C013ACC */ jal func_8004EB30 -/* 059C70 80059070 00002025 */ move $a0, $zero -/* 059C74 80059074 0C013ACC */ jal func_8004EB30 -/* 059C78 80059078 24040001 */ li $a0, 1 -/* 059C7C 8005907C 10000012 */ b .L800590C8 -/* 059C80 80059080 8FBF0014 */ lw $ra, 0x14($sp) -.L80059084: -/* 059C84 80059084 0C013ACC */ jal func_8004EB30 -/* 059C88 80059088 00002025 */ move $a0, $zero -/* 059C8C 8005908C 0C013ACC */ jal func_8004EB30 -/* 059C90 80059090 24040001 */ li $a0, 1 -/* 059C94 80059094 0C013ACC */ jal func_8004EB30 -/* 059C98 80059098 24040002 */ li $a0, 2 -/* 059C9C 8005909C 1000000A */ b .L800590C8 -/* 059CA0 800590A0 8FBF0014 */ lw $ra, 0x14($sp) -.L800590A4: -/* 059CA4 800590A4 0C013ACC */ jal func_8004EB30 -/* 059CA8 800590A8 00002025 */ move $a0, $zero -/* 059CAC 800590AC 0C013ACC */ jal func_8004EB30 -/* 059CB0 800590B0 24040001 */ li $a0, 1 -/* 059CB4 800590B4 0C013ACC */ jal func_8004EB30 -/* 059CB8 800590B8 24040002 */ li $a0, 2 -/* 059CBC 800590BC 0C013ACC */ jal func_8004EB30 -/* 059CC0 800590C0 24040003 */ li $a0, 3 -.L800590C4: -/* 059CC4 800590C4 8FBF0014 */ lw $ra, 0x14($sp) -.L800590C8: -/* 059CC8 800590C8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 059CCC 800590CC 03E00008 */ jr $ra -/* 059CD0 800590D0 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_800590D4.s b/asm/non_matchings/code_80057C60/func_800590D4.s deleted file mode 100644 index 3b7db6110..000000000 --- a/asm/non_matchings/code_80057C60/func_800590D4.s +++ /dev/null @@ -1,63 +0,0 @@ -glabel func_800590D4 -/* 059CD4 800590D4 3C0E8019 */ lui $t6, %hi(D_8018D2A4) # $t6, 0x8019 -/* 059CD8 800590D8 8DCED2A4 */ lw $t6, %lo(D_8018D2A4)($t6) -/* 059CDC 800590DC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 059CE0 800590E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 059CE4 800590E4 11C0002F */ beqz $t6, .L800591A4 -/* 059CE8 800590E8 3C03800E */ lui $v1, %hi(gModeSelection) # $v1, 0x800e -/* 059CEC 800590EC 8C63C53C */ lw $v1, %lo(gModeSelection)($v1) -/* 059CF0 800590F0 24040003 */ li $a0, 3 -/* 059CF4 800590F4 3C02800E */ lui $v0, %hi(gPlayerCountSelection1) # $v0, 0x800e -/* 059CF8 800590F8 5083002B */ beql $a0, $v1, .L800591A8 -/* 059CFC 800590FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 059D00 80059100 8C42C538 */ lw $v0, %lo(gPlayerCountSelection1)($v0) -/* 059D04 80059104 24050001 */ li $a1, 1 -/* 059D08 80059108 24010002 */ li $at, 2 -/* 059D0C 8005910C 10450009 */ beq $v0, $a1, .L80059134 -/* 059D10 80059110 00000000 */ nop -/* 059D14 80059114 1041000D */ beq $v0, $at, .L8005914C -/* 059D18 80059118 00000000 */ nop -/* 059D1C 8005911C 10440011 */ beq $v0, $a0, .L80059164 -/* 059D20 80059120 24010004 */ li $at, 4 -/* 059D24 80059124 10410017 */ beq $v0, $at, .L80059184 -/* 059D28 80059128 00000000 */ nop -/* 059D2C 8005912C 1000001E */ b .L800591A8 -/* 059D30 80059130 8FBF0014 */ lw $ra, 0x14($sp) -.L80059134: -/* 059D34 80059134 50A3001C */ beql $a1, $v1, .L800591A8 -/* 059D38 80059138 8FBF0014 */ lw $ra, 0x14($sp) -/* 059D3C 8005913C 0C013A00 */ jal func_8004E800 -/* 059D40 80059140 00002025 */ move $a0, $zero -/* 059D44 80059144 10000018 */ b .L800591A8 -/* 059D48 80059148 8FBF0014 */ lw $ra, 0x14($sp) -.L8005914C: -/* 059D4C 8005914C 0C013A00 */ jal func_8004E800 -/* 059D50 80059150 00002025 */ move $a0, $zero -/* 059D54 80059154 0C013A00 */ jal func_8004E800 -/* 059D58 80059158 24040001 */ li $a0, 1 -/* 059D5C 8005915C 10000012 */ b .L800591A8 -/* 059D60 80059160 8FBF0014 */ lw $ra, 0x14($sp) -.L80059164: -/* 059D64 80059164 0C013A66 */ jal func_8004E998 -/* 059D68 80059168 00002025 */ move $a0, $zero -/* 059D6C 8005916C 0C013A66 */ jal func_8004E998 -/* 059D70 80059170 24040001 */ li $a0, 1 -/* 059D74 80059174 0C013A66 */ jal func_8004E998 -/* 059D78 80059178 24040002 */ li $a0, 2 -/* 059D7C 8005917C 1000000A */ b .L800591A8 -/* 059D80 80059180 8FBF0014 */ lw $ra, 0x14($sp) -.L80059184: -/* 059D84 80059184 0C013A66 */ jal func_8004E998 -/* 059D88 80059188 00002025 */ move $a0, $zero -/* 059D8C 8005918C 0C013A66 */ jal func_8004E998 -/* 059D90 80059190 24040001 */ li $a0, 1 -/* 059D94 80059194 0C013A66 */ jal func_8004E998 -/* 059D98 80059198 24040002 */ li $a0, 2 -/* 059D9C 8005919C 0C013A66 */ jal func_8004E998 -/* 059DA0 800591A0 24040003 */ li $a0, 3 -.L800591A4: -/* 059DA4 800591A4 8FBF0014 */ lw $ra, 0x14($sp) -.L800591A8: -/* 059DA8 800591A8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 059DAC 800591AC 03E00008 */ jr $ra -/* 059DB0 800591B0 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_800591B4.s b/asm/non_matchings/code_80057C60/func_800591B4.s deleted file mode 100644 index c980483d3..000000000 --- a/asm/non_matchings/code_80057C60/func_800591B4.s +++ /dev/null @@ -1,115 +0,0 @@ -glabel func_800591B4 -/* 059DB4 800591B4 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016 -/* 059DB8 800591B8 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6) -/* 059DBC 800591BC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 059DC0 800591C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 059DC4 800591C4 15C00060 */ bnez $t6, .L80059348 -/* 059DC8 800591C8 3C0F800E */ lui $t7, %hi(D_800DC5B8) # $t7, 0x800e -/* 059DCC 800591CC 95EFC5B8 */ lhu $t7, %lo(D_800DC5B8)($t7) -/* 059DD0 800591D0 51E0005E */ beql $t7, $zero, .L8005934C -/* 059DD4 800591D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 059DD8 800591D8 0C015F18 */ jal func_80057C60 -/* 059DDC 800591DC 00000000 */ nop -/* 059DE0 800591E0 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 059DE4 800591E4 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 059DE8 800591E8 8C830000 */ lw $v1, ($a0) -/* 059DEC 800591EC 3C080D00 */ lui $t0, %hi(D_0D0076F8) # $t0, 0xd00 -/* 059DF0 800591F0 250876F8 */ addiu $t0, %lo(D_0D0076F8) # addiu $t0, $t0, 0x76f8 -/* 059DF4 800591F4 24780008 */ addiu $t8, $v1, 8 -/* 059DF8 800591F8 AC980000 */ sw $t8, ($a0) -/* 059DFC 800591FC 3C190600 */ lui $t9, 0x600 -/* 059E00 80059200 3C098019 */ lui $t1, %hi(D_8018D188) # $t1, 0x8019 -/* 059E04 80059204 AC790000 */ sw $t9, ($v1) -/* 059E08 80059208 AC680004 */ sw $t0, 4($v1) -/* 059E0C 8005920C 8D29D188 */ lw $t1, %lo(D_8018D188)($t1) -/* 059E10 80059210 3C0A8016 */ lui $t2, %hi(D_801657D8) # $t2, 0x8016 -/* 059E14 80059214 11200046 */ beqz $t1, .L80059330 -/* 059E18 80059218 00000000 */ nop -/* 059E1C 8005921C 814A57D8 */ lb $t2, %lo(D_801657D8)($t2) -/* 059E20 80059220 3C0B8016 */ lui $t3, %hi(D_801657F0) # $t3, 0x8016 -/* 059E24 80059224 15400031 */ bnez $t2, .L800592EC -/* 059E28 80059228 00000000 */ nop -/* 059E2C 8005922C 816B57F0 */ lb $t3, %lo(D_801657F0)($t3) -/* 059E30 80059230 11600003 */ beqz $t3, .L80059240 -/* 059E34 80059234 00000000 */ nop -/* 059E38 80059238 0C01452F */ jal func_800514BC -/* 059E3C 8005923C 00000000 */ nop -.L80059240: -/* 059E40 80059240 3C0C800E */ lui $t4, %hi(D_800DC51C) # $t4, 0x800e -/* 059E44 80059244 958CC51C */ lhu $t4, %lo(D_800DC51C)($t4) -/* 059E48 80059248 3C0D8016 */ lui $t5, %hi(D_801657E8) # $t5, 0x8016 -/* 059E4C 8005924C 15800027 */ bnez $t4, .L800592EC -/* 059E50 80059250 00000000 */ nop -/* 059E54 80059254 81AD57E8 */ lb $t5, %lo(D_801657E8)($t5) -/* 059E58 80059258 3C0E8016 */ lui $t6, %hi(D_80165800) # $t6, 0x8016 -/* 059E5C 8005925C 11A00023 */ beqz $t5, .L800592EC -/* 059E60 80059260 00000000 */ nop -/* 059E64 80059264 81CE5800 */ lb $t6, %lo(D_80165800)($t6) -/* 059E68 80059268 11C0000C */ beqz $t6, .L8005929C -/* 059E6C 8005926C 00000000 */ nop -/* 059E70 80059270 0C013B95 */ jal func_8004EE54 -/* 059E74 80059274 00002025 */ move $a0, $zero -/* 059E78 80059278 3C0F800E */ lui $t7, %hi(gModeSelection) # $t7, 0x800e -/* 059E7C 8005927C 8DEFC53C */ lw $t7, %lo(gModeSelection)($t7) -/* 059E80 80059280 24010003 */ li $at, 3 -/* 059E84 80059284 11E10003 */ beq $t7, $at, .L80059294 -/* 059E88 80059288 00000000 */ nop -/* 059E8C 8005928C 0C013C08 */ jal func_8004F020 -/* 059E90 80059290 00002025 */ move $a0, $zero -.L80059294: -/* 059E94 80059294 0C013CF9 */ jal func_8004F3E4 -/* 059E98 80059298 00002025 */ move $a0, $zero -.L8005929C: -/* 059E9C 8005929C 3C18800E */ lui $t8, %hi(D_800DC530) # $t8, 0x800e -/* 059EA0 800592A0 8F18C530 */ lw $t8, %lo(D_800DC530)($t8) -/* 059EA4 800592A4 24010001 */ li $at, 1 -/* 059EA8 800592A8 3C198016 */ lui $t9, %hi(D_80165801) # $t9, 0x8016 -/* 059EAC 800592AC 1701000F */ bne $t8, $at, .L800592EC -/* 059EB0 800592B0 00000000 */ nop -/* 059EB4 800592B4 83395801 */ lb $t9, %lo(D_80165801)($t9) -/* 059EB8 800592B8 1320000C */ beqz $t9, .L800592EC -/* 059EBC 800592BC 00000000 */ nop -/* 059EC0 800592C0 0C013B95 */ jal func_8004EE54 -/* 059EC4 800592C4 24040001 */ li $a0, 1 -/* 059EC8 800592C8 3C08800E */ lui $t0, %hi(gModeSelection) # $t0, 0x800e -/* 059ECC 800592CC 8D08C53C */ lw $t0, %lo(gModeSelection)($t0) -/* 059ED0 800592D0 24010003 */ li $at, 3 -/* 059ED4 800592D4 11010003 */ beq $t0, $at, .L800592E4 -/* 059ED8 800592D8 00000000 */ nop -/* 059EDC 800592DC 0C013C08 */ jal func_8004F020 -/* 059EE0 800592E0 24040001 */ li $a0, 1 -.L800592E4: -/* 059EE4 800592E4 0C013CF9 */ jal func_8004F3E4 -/* 059EE8 800592E8 24040001 */ li $a0, 1 -.L800592EC: -/* 059EEC 800592EC 3C098016 */ lui $t1, %hi(D_801657E4) # $t1, 0x8016 -/* 059EF0 800592F0 812957E4 */ lb $t1, %lo(D_801657E4)($t1) -/* 059EF4 800592F4 24010002 */ li $at, 2 -/* 059EF8 800592F8 3C0A800E */ lui $t2, %hi(gModeSelection) # $t2, 0x800e -/* 059EFC 800592FC 1121000A */ beq $t1, $at, .L80059328 -/* 059F00 80059300 00000000 */ nop -/* 059F04 80059304 8D4AC53C */ lw $t2, %lo(gModeSelection)($t2) -/* 059F08 80059308 3C0B8019 */ lui $t3, %hi(D_8018D2BC) # $t3, 0x8019 -/* 059F0C 8005930C 15400006 */ bnez $t2, .L80059328 -/* 059F10 80059310 00000000 */ nop -/* 059F14 80059314 8D6BD2BC */ lw $t3, %lo(D_8018D2BC)($t3) -/* 059F18 80059318 11600003 */ beqz $t3, .L80059328 -/* 059F1C 8005931C 00000000 */ nop -/* 059F20 80059320 0C0140C8 */ jal func_80050320 -/* 059F24 80059324 00000000 */ nop -.L80059328: -/* 059F28 80059328 0C016435 */ jal func_800590D4 -/* 059F2C 8005932C 00000000 */ nop -.L80059330: -/* 059F30 80059330 0C01640B */ jal func_8005902C -/* 059F34 80059334 00000000 */ nop -/* 059F38 80059338 0C015F74 */ jal func_80057DD0 -/* 059F3C 8005933C 00000000 */ nop -/* 059F40 80059340 0C015F39 */ jal func_80057CE4 -/* 059F44 80059344 00000000 */ nop -.L80059348: -/* 059F48 80059348 8FBF0014 */ lw $ra, 0x14($sp) -.L8005934C: -/* 059F4C 8005934C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 059F50 80059350 03E00008 */ jr $ra -/* 059F54 80059354 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_800593F0.s b/asm/non_matchings/code_80057C60/func_800593F0.s deleted file mode 100644 index dfd4db58e..000000000 --- a/asm/non_matchings/code_80057C60/func_800593F0.s +++ /dev/null @@ -1,3 +0,0 @@ -glabel func_800593F0 -/* 059FF0 800593F0 03E00008 */ jr $ra -/* 059FF4 800593F4 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_80059488.s b/asm/non_matchings/code_80057C60/func_80059488.s deleted file mode 100644 index 8abf7db18..000000000 --- a/asm/non_matchings/code_80057C60/func_80059488.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_80059488 -/* 05A088 80059488 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e -/* 05A08C 8005948C 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) -/* 05A090 80059490 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05A094 80059494 24010003 */ li $at, 3 -/* 05A098 80059498 AFBF0014 */ sw $ra, 0x14($sp) -/* 05A09C 8005949C 11C1000E */ beq $t6, $at, .L800594D8 -/* 05A0A0 800594A0 AFA40018 */ sw $a0, 0x18($sp) -/* 05A0A4 800594A4 3C188016 */ lui $t8, %hi(D_80165800) -/* 05A0A8 800594A8 0304C021 */ addu $t8, $t8, $a0 -/* 05A0AC 800594AC 83185800 */ lb $t8, %lo(D_80165800)($t8) -/* 05A0B0 800594B0 3C198019 */ lui $t9, %hi(D_8018D188) # $t9, 0x8019 -/* 05A0B4 800594B4 17000008 */ bnez $t8, .L800594D8 -/* 05A0B8 800594B8 00000000 */ nop -/* 05A0BC 800594BC 8F39D188 */ lw $t9, %lo(D_8018D188)($t9) -/* 05A0C0 800594C0 13200005 */ beqz $t9, .L800594D8 -/* 05A0C4 800594C4 00000000 */ nop -/* 05A0C8 800594C8 0C013E9E */ jal func_8004FA78 -/* 05A0CC 800594CC 00000000 */ nop -/* 05A0D0 800594D0 0C0139E3 */ jal func_8004E78C -/* 05A0D4 800594D4 8FA40018 */ lw $a0, 0x18($sp) -.L800594D8: -/* 05A0D8 800594D8 0C01398E */ jal func_8004E638 -/* 05A0DC 800594DC 8FA40018 */ lw $a0, 0x18($sp) -/* 05A0E0 800594E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 05A0E4 800594E4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05A0E8 800594E8 03E00008 */ jr $ra -/* 05A0EC 800594EC 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_800594F8.s b/asm/non_matchings/code_80057C60/func_800594F8.s deleted file mode 100644 index 68f5f73ac..000000000 --- a/asm/non_matchings/code_80057C60/func_800594F8.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_800594F8 -/* 05A0F8 800594F8 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016 -/* 05A0FC 800594FC 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6) -/* 05A100 80059500 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05A104 80059504 AFBF0014 */ sw $ra, 0x14($sp) -/* 05A108 80059508 55C00004 */ bnel $t6, $zero, .L8005951C -/* 05A10C 8005950C 8FBF0014 */ lw $ra, 0x14($sp) -/* 05A110 80059510 0C016522 */ jal func_80059488 -/* 05A114 80059514 00002025 */ move $a0, $zero -/* 05A118 80059518 8FBF0014 */ lw $ra, 0x14($sp) -.L8005951C: -/* 05A11C 8005951C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05A120 80059520 03E00008 */ jr $ra -/* 05A124 80059524 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_80059528.s b/asm/non_matchings/code_80057C60/func_80059528.s deleted file mode 100644 index d427d701b..000000000 --- a/asm/non_matchings/code_80057C60/func_80059528.s +++ /dev/null @@ -1,3 +0,0 @@ -glabel func_80059528 -/* 05A128 80059528 03E00008 */ jr $ra -/* 05A12C 8005952C 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_80059530.s b/asm/non_matchings/code_80057C60/func_80059530.s deleted file mode 100644 index d87856e39..000000000 --- a/asm/non_matchings/code_80057C60/func_80059530.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_80059530 -/* 05A130 80059530 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016 -/* 05A134 80059534 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6) -/* 05A138 80059538 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05A13C 8005953C AFBF0014 */ sw $ra, 0x14($sp) -/* 05A140 80059540 55C00004 */ bnel $t6, $zero, .L80059554 -/* 05A144 80059544 8FBF0014 */ lw $ra, 0x14($sp) -/* 05A148 80059548 0C016522 */ jal func_80059488 -/* 05A14C 8005954C 24040001 */ li $a0, 1 -/* 05A150 80059550 8FBF0014 */ lw $ra, 0x14($sp) -.L80059554: -/* 05A154 80059554 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05A158 80059558 03E00008 */ jr $ra -/* 05A15C 8005955C 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_800596A8.s b/asm/non_matchings/code_80057C60/func_800596A8.s deleted file mode 100644 index 03a0387a1..000000000 --- a/asm/non_matchings/code_80057C60/func_800596A8.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_800596A8 -/* 05A2A8 800596A8 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016 -/* 05A2AC 800596AC 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6) -/* 05A2B0 800596B0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05A2B4 800596B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 05A2B8 800596B8 55C00004 */ bnel $t6, $zero, .L800596CC -/* 05A2BC 800596BC 8FBF0014 */ lw $ra, 0x14($sp) -/* 05A2C0 800596C0 0C0107BD */ jal func_80041EF4 -/* 05A2C4 800596C4 00000000 */ nop -/* 05A2C8 800596C8 8FBF0014 */ lw $ra, 0x14($sp) -.L800596CC: -/* 05A2CC 800596CC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05A2D0 800596D0 03E00008 */ jr $ra -/* 05A2D4 800596D4 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_800596D8.s b/asm/non_matchings/code_80057C60/func_800596D8.s deleted file mode 100644 index 17ab1f809..000000000 --- a/asm/non_matchings/code_80057C60/func_800596D8.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel func_800596D8 -/* 05A2D8 800596D8 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016 -/* 05A2DC 800596DC 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6) -/* 05A2E0 800596E0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05A2E4 800596E4 AFBF0014 */ sw $ra, 0x14($sp) -/* 05A2E8 800596E8 55C00006 */ bnel $t6, $zero, .L80059704 -/* 05A2EC 800596EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 05A2F0 800596F0 0C0107BD */ jal func_80041EF4 -/* 05A2F4 800596F4 00000000 */ nop -/* 05A2F8 800596F8 0C016558 */ jal func_80059560 -/* 05A2FC 800596FC 00002025 */ move $a0, $zero -/* 05A300 80059700 8FBF0014 */ lw $ra, 0x14($sp) -.L80059704: -/* 05A304 80059704 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05A308 80059708 03E00008 */ jr $ra -/* 05A30C 8005970C 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_80059710.s b/asm/non_matchings/code_80057C60/func_80059710.s deleted file mode 100644 index 19fc3bab4..000000000 --- a/asm/non_matchings/code_80057C60/func_80059710.s +++ /dev/null @@ -1,3 +0,0 @@ -glabel func_80059710 -/* 05A310 80059710 03E00008 */ jr $ra -/* 05A314 80059714 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_80059718.s b/asm/non_matchings/code_80057C60/func_80059718.s deleted file mode 100644 index 421336d6b..000000000 --- a/asm/non_matchings/code_80057C60/func_80059718.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel func_80059718 -/* 05A318 80059718 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016 -/* 05A31C 8005971C 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6) -/* 05A320 80059720 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05A324 80059724 AFBF0014 */ sw $ra, 0x14($sp) -/* 05A328 80059728 55C00006 */ bnel $t6, $zero, .L80059744 -/* 05A32C 8005972C 8FBF0014 */ lw $ra, 0x14($sp) -/* 05A330 80059730 0C0107BD */ jal func_80041EF4 -/* 05A334 80059734 00000000 */ nop -/* 05A338 80059738 0C016558 */ jal func_80059560 -/* 05A33C 8005973C 24040001 */ li $a0, 1 -/* 05A340 80059740 8FBF0014 */ lw $ra, 0x14($sp) -.L80059744: -/* 05A344 80059744 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05A348 80059748 03E00008 */ jr $ra -/* 05A34C 8005974C 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_80059750.s b/asm/non_matchings/code_80057C60/func_80059750.s deleted file mode 100644 index 2bd656d96..000000000 --- a/asm/non_matchings/code_80057C60/func_80059750.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_80059750 -/* 05A350 80059750 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016 -/* 05A354 80059754 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6) -/* 05A358 80059758 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05A35C 8005975C AFBF0014 */ sw $ra, 0x14($sp) -/* 05A360 80059760 55C00004 */ bnel $t6, $zero, .L80059774 -/* 05A364 80059764 8FBF0014 */ lw $ra, 0x14($sp) -/* 05A368 80059768 0C0107BD */ jal func_80041EF4 -/* 05A36C 8005976C 00000000 */ nop -/* 05A370 80059770 8FBF0014 */ lw $ra, 0x14($sp) -.L80059774: -/* 05A374 80059774 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05A378 80059778 03E00008 */ jr $ra -/* 05A37C 8005977C 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_80059780.s b/asm/non_matchings/code_80057C60/func_80059780.s deleted file mode 100644 index 62d32121c..000000000 --- a/asm/non_matchings/code_80057C60/func_80059780.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel func_80059780 -/* 05A380 80059780 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016 -/* 05A384 80059784 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6) -/* 05A388 80059788 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05A38C 8005978C AFBF0014 */ sw $ra, 0x14($sp) -/* 05A390 80059790 55C00006 */ bnel $t6, $zero, .L800597AC -/* 05A394 80059794 8FBF0014 */ lw $ra, 0x14($sp) -/* 05A398 80059798 0C0107BD */ jal func_80041EF4 -/* 05A39C 8005979C 00000000 */ nop -/* 05A3A0 800597A0 0C016558 */ jal func_80059560 -/* 05A3A4 800597A4 24040002 */ li $a0, 2 -/* 05A3A8 800597A8 8FBF0014 */ lw $ra, 0x14($sp) -.L800597AC: -/* 05A3AC 800597AC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05A3B0 800597B0 03E00008 */ jr $ra -/* 05A3B4 800597B4 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_800597B8.s b/asm/non_matchings/code_80057C60/func_800597B8.s deleted file mode 100644 index 0ce85c6ac..000000000 --- a/asm/non_matchings/code_80057C60/func_800597B8.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_800597B8 -/* 05A3B8 800597B8 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016 -/* 05A3BC 800597BC 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6) -/* 05A3C0 800597C0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05A3C4 800597C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 05A3C8 800597C8 55C00004 */ bnel $t6, $zero, .L800597DC -/* 05A3CC 800597CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 05A3D0 800597D0 0C0107BD */ jal func_80041EF4 -/* 05A3D4 800597D4 00000000 */ nop -/* 05A3D8 800597D8 8FBF0014 */ lw $ra, 0x14($sp) -.L800597DC: -/* 05A3DC 800597DC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05A3E0 800597E0 03E00008 */ jr $ra -/* 05A3E4 800597E4 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_800597E8.s b/asm/non_matchings/code_80057C60/func_800597E8.s deleted file mode 100644 index 539789a08..000000000 --- a/asm/non_matchings/code_80057C60/func_800597E8.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel func_800597E8 -/* 05A3E8 800597E8 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016 -/* 05A3EC 800597EC 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6) -/* 05A3F0 800597F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05A3F4 800597F4 AFBF0014 */ sw $ra, 0x14($sp) -/* 05A3F8 800597F8 55C00006 */ bnel $t6, $zero, .L80059814 -/* 05A3FC 800597FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 05A400 80059800 0C0107BD */ jal func_80041EF4 -/* 05A404 80059804 00000000 */ nop -/* 05A408 80059808 0C016558 */ jal func_80059560 -/* 05A40C 8005980C 24040003 */ li $a0, 3 -/* 05A410 80059810 8FBF0014 */ lw $ra, 0x14($sp) -.L80059814: -/* 05A414 80059814 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05A418 80059818 03E00008 */ jr $ra -/* 05A41C 8005981C 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_800598D4.s b/asm/non_matchings/code_80057C60/func_800598D4.s deleted file mode 100644 index 3e5c5e3bf..000000000 --- a/asm/non_matchings/code_80057C60/func_800598D4.s +++ /dev/null @@ -1,34 +0,0 @@ -glabel func_800598D4 -/* 05A4D4 800598D4 3C0F800E */ lui $t7, %hi(D_800DC4BC) # $t7, 0x800e -/* 05A4D8 800598D8 8DEFC4BC */ lw $t7, %lo(D_800DC4BC)($t7) -/* 05A4DC 800598DC 00047100 */ sll $t6, $a0, 4 -/* 05A4E0 800598E0 3C048016 */ lui $a0, %hi(D_801658FF) # $a0, 0x8016 -/* 05A4E4 800598E4 01CF1021 */ addu $v0, $t6, $t7 -/* 05A4E8 800598E8 94430004 */ lhu $v1, 4($v0) -/* 05A4EC 800598EC 248458FF */ addiu $a0, %lo(D_801658FF) # addiu $a0, $a0, 0x58ff -/* 05A4F0 800598F0 30788000 */ andi $t8, $v1, 0x8000 -/* 05A4F4 800598F4 13000005 */ beqz $t8, .L8005990C -/* 05A4F8 800598F8 00000000 */ nop -/* 05A4FC 800598FC 90990000 */ lbu $t9, ($a0) -/* 05A500 80059900 27280001 */ addiu $t0, $t9, 1 -/* 05A504 80059904 A0880000 */ sb $t0, ($a0) -/* 05A508 80059908 94430004 */ lhu $v1, 4($v0) -.L8005990C: -/* 05A50C 8005990C 3C048016 */ lui $a0, %hi(D_801658FF) # $a0, 0x8016 -/* 05A510 80059910 30694000 */ andi $t1, $v1, 0x4000 -/* 05A514 80059914 11200005 */ beqz $t1, .L8005992C -/* 05A518 80059918 248458FF */ addiu $a0, %lo(D_801658FF) # addiu $a0, $a0, 0x58ff -/* 05A51C 8005991C 908A0000 */ lbu $t2, ($a0) -/* 05A520 80059920 254B0001 */ addiu $t3, $t2, 1 -/* 05A524 80059924 A08B0000 */ sb $t3, ($a0) -/* 05A528 80059928 94430004 */ lhu $v1, 4($v0) -.L8005992C: -/* 05A52C 8005992C 306C0010 */ andi $t4, $v1, 0x10 -/* 05A530 80059930 11800004 */ beqz $t4, .L80059944 -/* 05A534 80059934 00000000 */ nop -/* 05A538 80059938 908D0000 */ lbu $t5, ($a0) -/* 05A53C 8005993C 25AE0001 */ addiu $t6, $t5, 1 -/* 05A540 80059940 A08E0000 */ sb $t6, ($a0) -.L80059944: -/* 05A544 80059944 03E00008 */ jr $ra -/* 05A548 80059948 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_8005994C.s b/asm/non_matchings/code_80057C60/func_8005994C.s deleted file mode 100644 index 35f223bb5..000000000 --- a/asm/non_matchings/code_80057C60/func_8005994C.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_8005994C -/* 05A54C 8005994C 240E0001 */ li $t6, 1 -/* 05A550 80059950 3C018019 */ lui $at, %hi(D_8018D214) -/* 05A554 80059954 03E00008 */ jr $ra -/* 05A558 80059958 AC2ED214 */ sw $t6, %lo(D_8018D214)($at) diff --git a/asm/non_matchings/code_80057C60/func_80059A88.s b/asm/non_matchings/code_80057C60/func_80059A88.s deleted file mode 100644 index 024fd10d3..000000000 --- a/asm/non_matchings/code_80057C60/func_80059A88.s +++ /dev/null @@ -1,18 +0,0 @@ -glabel func_80059A88 -/* 05A688 80059A88 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05A68C 80059A8C AFBF0014 */ sw $ra, 0x14($sp) -/* 05A690 80059A90 0C016608 */ jal func_80059820 -/* 05A694 80059A94 AFA40018 */ sw $a0, 0x18($sp) -/* 05A698 80059A98 3C0E800E */ lui $t6, %hi(D_800DC51C) # $t6, 0x800e -/* 05A69C 80059A9C 95CEC51C */ lhu $t6, %lo(D_800DC51C)($t6) -/* 05A6A0 80059AA0 55C00006 */ bnel $t6, $zero, .L80059ABC -/* 05A6A4 80059AA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 05A6A8 80059AA8 0C01EA52 */ jal func_8007A948 -/* 05A6AC 80059AAC 8FA40018 */ lw $a0, 0x18($sp) -/* 05A6B0 80059AB0 0C01EEE7 */ jal func_8007BB9C -/* 05A6B4 80059AB4 8FA40018 */ lw $a0, 0x18($sp) -/* 05A6B8 80059AB8 8FBF0014 */ lw $ra, 0x14($sp) -.L80059ABC: -/* 05A6BC 80059ABC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05A6C0 80059AC0 03E00008 */ jr $ra -/* 05A6C4 80059AC4 00000000 */ nop diff --git a/asm/non_matchings/code_80086E70/func_8008A890.s b/asm/non_matchings/code_80086E70/func_8008A890.s deleted file mode 100644 index 566c5eb59..000000000 --- a/asm/non_matchings/code_80086E70/func_8008A890.s +++ /dev/null @@ -1,9 +0,0 @@ -glabel func_8008A890 -/* 08B490 8008A890 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08B494 8008A894 AFBF0014 */ sw $ra, 0x14($sp) -/* 08B498 8008A898 0C0AAF50 */ jal func_802ABD40 -/* 08B49C 8008A89C 9484005E */ lhu $a0, 0x5e($a0) -/* 08B4A0 8008A8A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 08B4A4 8008A8A4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08B4A8 8008A8A8 03E00008 */ jr $ra -/* 08B4AC 8008A8AC 00000000 */ nop diff --git a/data/data_0DD0A0_3_0.s b/data/data_0DD0A0_3_0.s index 24bf32cac..cbe346440 100644 --- a/data/data_0DD0A0_3_0.s +++ b/data/data_0DD0A0_3_0.s @@ -23,15 +23,15 @@ #.word L80058A8C, L80058AB8, L80058B00, L80058B00 #.word L80058B00, L80058B00, L80058AE4 -glabel jpt_800EE180 -.word L80058C88, L80058C98, L80058CB8, L80058CD8 -.word L80058CF8, L80058DA4, L80058DA4, L80058DA4 -.word L80058D18, L80058D38, L80058D58, L80058D78 +#glabel jpt_800EE180 +#.word L80058C88, L80058C98, L80058CB8, L80058CD8 +#.word L80058CF8, L80058DA4, L80058DA4, L80058DA4 +#.word L80058D18, L80058D38, L80058D58, L80058D78 -glabel jpt_800EE1B0 -.word L80058E1C, L80058E2C, L80058E4C, L80058E6C -.word L80058E8C, L80058F38, L80058F38, L80058F38 -.word L80058EAC, L80058ECC, L80058EEC, L80058F0C +#glabel jpt_800EE1B0 +#.word L80058E1C, L80058E2C, L80058E4C, L80058E6C +#.word L80058E8C, L80058F38, L80058F38, L80058F38 +#.word L80058EAC, L80058ECC, L80058EEC, L80058F0C glabel D_800EE1E0 .float 0.6 diff --git a/include/types.h b/include/types.h index 1793f7d8e..a483f9226 100644 --- a/include/types.h +++ b/include/types.h @@ -187,6 +187,63 @@ struct UnkStruct_802B53C8 { }; // end math util structs +struct UnkStruct8008A890 { + // B4 long + Vec3f pos; + //f32 posY; + //f32 posZ; + f32 unk; // lookat? faceangle? + f32 unk1; + f32 unk2; + f32 angleX; + f32 angleY; + f32 angleZ; + s16 rotX; + s16 rotX2; + s16 rotY; // unused? + s16 rotZ; + s32 unk3; // zero + s32 unk4; // 0x4119999A + s32 unk5; // 0xC20C bit flag? + s32 unk6; // 0 + s32 unk7; // 0 + s32 unk8; // 0x41F + s32 unk9; // 0 + s32 unk10; // 0 + s32 unk11; // 0 + s32 unk12; // 0 + u16 unk13; // 0x103F7 + u16 unk13_and_a_half; + u16 unk14; // 0x05BC00## Surface camera is over? + u16 unk14_half; + u16 collisionX; + u16 value; + u16 collisionY; + f32 collisionZ; + f32 unk15; + f32 unk16; + f32 unk17; + f32 unk18; + f32 unk19; + f32 unk20; + f32 unkAngleX; + f32 unkAngleY; + f32 unkAngleZ; + s32 unk21; // zero + f32 collision; + f32 unk22; // zero + s16 unk23; // confirmed s16 + s16 unk24; // zero + s16 unk24_and_a_half; + s32 unk25; // zero + s32 unk26; // zero + // need another s16 here? + s32 unk27; // 8 + s16 unk28; // zero + f32 unk29; // 422 + f32 unk30; +}; + struct UnkStruct_800DDB68 { s32 *D_800ED600; s32 *D_800ED608; s32 *D_800ED610; s32 *D_800ED618; s32 *D_800ED620; s32 *D_800ED628; s32 *D_800ED630; s32 *D_800ED638; diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 186d408f4..f0472b0d2 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -285,7 +285,7 @@ void func_80058538(u32 arg0) { } } -void func_80058B58(s32 arg0); +void func_80058B58(); void func_80058640(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); @@ -443,38 +443,24 @@ void func_800588F4(s32 arg0) { } } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 - extern u16 D_8015F894; -void func_80058B58(s32 arg0) { - //s16 temp_v0; - - //temp_v0 = gCurrentCourseId; - if (gCurrentCourseId != COURSE_FRAPPE_SNOWLAND) { - if (gCurrentCourseId != COURSE_SHERBET_LAND) { - if (D_800DC50C != CREDITS_SEQUENCE) { - if (D_8015F894 == 0) { - if (gPlayerCountSelection1 == COURSE_CHOCO_MOUNTAIN) { - func_800517C8(); - } - - return; +void func_80058B58() { + switch(gCurrentCourseId) { + case 5: + if (D_800DC50C != 9) { + if ((D_8015F894 == 0) && (gPlayerCountSelection1 == COURSE_CHOCO_MOUNTAIN)) { + func_800517C8(); } - func_800517C8(); - return; + break; } - } - func_80052C60(); - - return; - + func_800517C8(); + break; + case 12: + func_80052C60(); + break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80058B58.s") -#endif extern u8 D_0D0076F8; @@ -482,185 +468,159 @@ void func_80058BF4(void) { gSPDisplayList(gDisplayListHead++, &D_0D0076F8); } -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_80058F48(Gfx **); /* extern */ -? func_80059358(Gfx **); /* extern */ -? func_800593F0(Gfx **); /* extern */ -? func_800594F0(Gfx **); /* extern */ -? func_80059528(Gfx **); /* extern */ -? func_800596A8(Gfx **); /* extern */ -? func_80059710(Gfx **); /* extern */ -? func_80059750(Gfx **); /* extern */ -? func_800597B8(Gfx **); /* extern */ -extern ? D_0D0076F8; +void func_80058F48(void); +void func_80059358(void); +void func_800593F0(void); +void func_800594F0(void); +void func_80059528(void); +void func_800596A8(void); +void func_80059710(void); +void func_80059750(void); +void func_800597B8(void); void func_80058C20(u32 arg0) { - Gfx *temp_v1; D_8018D21C = arg0; - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->words.w0 = 0x6000000; - temp_v1->words.w1 = &D_0D0076F8; + gSPDisplayList(gDisplayListHead++, &D_0D0076F8); + if (D_8018D22C == 0) { switch (arg0) { - case 0: - func_80058F48(&gDisplayListHead); - return; - case 1: - if (D_800DC51C == 0) { - func_80059358(&gDisplayListHead); - return; - } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; - case 2: - if (D_800DC51C == 0) { - func_800593F0(&gDisplayListHead); - return; - } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; - case 3: - if (D_800DC51C == 0) { - func_800594F0(&gDisplayListHead); - return; - } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; - case 4: - if (D_800DC51C == 0) { - func_80059528(&gDisplayListHead); - return; - } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; - case 8: - if (D_800DC51C == 0) { - func_800596A8(&gDisplayListHead); - return; - } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; - case 9: - if (D_800DC51C == 0) { - func_80059710(&gDisplayListHead); - return; - } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; - case 10: - if (D_800DC51C == 0) { - func_80059750(&gDisplayListHead); - return; - } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; - case 11: - if ((D_800DC51C == 0) && (gPlayerCountSelection1 == 4)) { - func_800597B8(&gDisplayListHead); - } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; + case 0: + func_80058F48(); + break; + case 1: + if (D_800DC51C == 0) { + func_80059358(); + break; + } + + break; + case 2: + if (D_800DC51C == 0) { + func_800593F0(); + break; + } + + break; + case 3: + if (D_800DC51C == 0) { + func_800594F0(); + break; + } + + break; + case 4: + if (D_800DC51C == 0) { + func_80059528(); + break; + } + + break; + case 8: + if (D_800DC51C == 0) { + func_800596A8(); + break; + } + + break; + case 9: + if (D_800DC51C == 0) { + func_80059710(); + break; + } + + break; + case 10: + if (D_800DC51C == 0) { + func_80059750(); + break; + } + + break; + case 11: + if ((D_800DC51C == 0) && (gPlayerCountSelection1 == 4)) { + func_800597B8(); + } + break; } - } else { - default: } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80058C20.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_80058F78(Gfx **); /* extern */ -? func_80059360(Gfx **); /* extern */ -? func_800593F8(Gfx **); /* extern */ -? func_800594F8(Gfx **); /* extern */ -? func_80059530(Gfx **); /* extern */ -? func_800596D8(Gfx **); /* extern */ -? func_80059718(Gfx **); /* extern */ -? func_80059780(Gfx **); /* extern */ -? func_800597E8(Gfx **); /* extern */ -extern ? D_0D0076F8; +void func_800593F8(void); +void func_80058F78(void); +void func_800594F8(void); +void func_80059530(void); +void func_800596D8(void); +void func_80059718(void); +void func_80059780(void); +void func_800597E8(void); void func_80058DB4(u32 arg0) { - Gfx *temp_v1; D_8018D21C = arg0; - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->words.w0 = 0x6000000; - temp_v1->words.w1 = &D_0D0076F8; + gSPDisplayList(gDisplayListHead++, &D_0D0076F8); if (D_8018D22C == 0) { switch (arg0) { case 0: - func_80058F78(&gDisplayListHead); - return; + func_80058F78(); + break; case 1: if (D_800DC51C == 0) { - func_80059360(&gDisplayListHead); - return; + func_80059360(); + break; } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; + + break; case 2: if (D_800DC51C == 0) { - func_800593F8(&gDisplayListHead); - return; + func_800593F8(); + break; } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; + + break; case 3: if (D_800DC51C == 0) { - func_800594F8(&gDisplayListHead); - return; + func_800594F8(); + break; } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; + + break; case 4: if (D_800DC51C == 0) { - func_80059530(&gDisplayListHead); - return; + func_80059530(); + break; } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; + + break; case 8: if (D_800DC51C == 0) { - func_800596D8(&gDisplayListHead); - return; + func_800596D8(); + break; } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; + + break; case 9: if (D_800DC51C == 0) { - func_80059718(&gDisplayListHead); - return; + func_80059718(); + break; } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; + + break; case 10: if (D_800DC51C == 0) { - func_80059780(&gDisplayListHead); - return; + func_80059780(); + break; } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; + + break; case 11: if ((D_800DC51C == 0) && (gPlayerCountSelection1 == 4)) { - func_800597E8(&gDisplayListHead); + func_800597E8(); } - /* Duplicate return node #21. Try simplifying control flow for better match */ - return; + break; } - } else { - default: } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80058DB4.s") -#endif extern s8 D_801657B0; @@ -696,147 +656,83 @@ void func_80059024(void) { } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 - extern s32 D_8018D2AC; -// needs rodata -void func_8005902C(void) { - s32 temp_v0; - switch(gPlayerCountSelection1) { - case 0: - break; - case 1: - break; - case 2: - func_8004EB30(0); - func_8004EB30(1); - break; - case 3: - func_8004EB30(0); - func_8004EB30(1); - func_8004EB30(2); - break; - case 4: - func_8004EB30(0); - func_8004EB30(1); - func_8004EB30(2); - func_8004EB30(3); - break; - } -/* +void func_8005902C(void) { + if (D_8018D2AC != 0) { - temp_v0 = gPlayerCountSelection1; - if (temp_v0 != 2) { - if (temp_v0 != 3) { - if (temp_v0 != 4) { - return; - } + switch(gPlayerCountSelection1) { + case 2: + func_8004EB30(0); + func_8004EB30(1); + break; + case 3: + func_8004EB30(0); + func_8004EB30(1); + func_8004EB30(2); + break; + case 4: func_8004EB30(0); func_8004EB30(1); func_8004EB30(2); func_8004EB30(3); - // Duplicate return node #8. Try simplifying control flow for better match - return; - } - func_8004EB30(0); - func_8004EB30(1); - func_8004EB30(2); - return; + break; } - func_8004EB30(0); - func_8004EB30(1); } - */ } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005902C.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_8004E800(?, s32); // extern -? func_8004E998(?, s32); // extern extern s32 D_8018D2A4; void func_800590D4(void) { - s32 temp_v0; - s32 temp_v1; - - if ((D_8018D2A4 != 0) && (temp_v1 = gModeSelection, (temp_v1 != BATTLE))) { - temp_v0 = gPlayerCountSelection1; - if (temp_v0 != 1) { - if (temp_v0 != 2) { - if (temp_v0 != 3) { - if (temp_v0 != 4) { - return; + if (D_8018D2A4 != 0) { + if (gModeSelection != 3) { + switch (gPlayerCountSelection1) { + case 1: + if (gModeSelection != 1) { + func_8004E800(0); + break; } - func_8004E998(0, 1); + break; + case 2: + func_8004E800(0); + func_8004E800(1); + break; + case 3: + func_8004E998(0); + func_8004E998(1); + func_8004E998(2); + break; + case 4: + func_8004E998(0); func_8004E998(1); func_8004E998(2); func_8004E998(3); - // Duplicate return node #12. Try simplifying control flow for better match - return; - } - func_8004E998(0, 1); - func_8004E998(1); - func_8004E998(2); - return; + break; } - func_8004E800(0, 1); - func_8004E800(1); - return; } - if (temp_v1 != 1) { - func_8004E800(0, 1); - return; - } - // Duplicate return node #12. Try simplifying control flow for better match } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800590D4.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_8004EE54(?); // extern -? func_8004F020(?); // extern -? func_8004F3E4(?); // extern -? func_80050320(); // extern -? func_800514BC(void **); // extern -? func_80057C60(); // extern -? func_80057CE4(); // extern -? func_80057DD0(); // extern -? func_8005902C(); // extern -? func_800590D4(); // extern -extern ? D_0D0076F8; extern u16 D_800DC5B8; -extern s8 D_801657B0; -extern s8 D_801657D8; -extern s8 D_801657E4; extern s8 D_801657E8; extern s8 D_801657F0; extern s8 D_80165800; extern s8 D_80165801; extern s32 D_8018D188; extern s32 D_8018D2BC; -extern void *gDisplayListHead; + +extern s32 D_800DC530; void func_800591B4(void) { - void *temp_v1; if ((D_801657B0 == 0) && (D_800DC5B8 != 0)) { func_80057C60(); - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D0076F8; + gSPDisplayList(gDisplayListHead++, &D_0D0076F8); + if (D_8018D188 != 0) { if (D_801657D8 == 0) { if (D_801657F0 != 0) { - func_800514BC(&gDisplayListHead); + func_800514BC(); } if ((D_800DC51C == 0) && (D_801657E8 != 0)) { if (D_80165800 != 0) { @@ -865,9 +761,6 @@ void func_800591B4(void) { func_80057CE4(); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800591B4.s") -#endif void func_80059358(void) { @@ -875,13 +768,12 @@ void func_80059358(void) { #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_8004CB60(s16, s16, ? *); // extern -? func_8004E638(?); // extern -? func_8004FA78(?); // extern -? func_8004FC78(s16, s16, s8); // extern -extern ? D_0D00A958; -extern s8 D_801657B0; -extern ? D_8018CA70; +//? func_8004CB60(s16, s16, ? *); // extern +//? func_8004E638(?); // extern +//? func_8004FA78(?); // extern +//? func_8004FC78(s16, s16, s8); // extern +extern s8 D_0D00A958; +extern s32 D_8018CA70; void func_80059360(void) { if (D_801657B0 == 0) { @@ -897,14 +789,9 @@ void func_80059360(void) { GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059360.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 void func_800593F0(void) { } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800593F0.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -930,12 +817,7 @@ void func_800593F8(void) { GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800593F8.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_8004E638(s32); // extern -? func_8004E78C(s32); // extern -? func_8004FA78(); // extern -extern ? D_80165800; +extern s8 D_80165800; extern s32 D_8018D188; void func_80059488(s32 arg0) { @@ -945,22 +827,11 @@ void func_80059488(s32 arg0) { } func_8004E638(arg0); } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059488.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 void func_800594F0(void) { } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800594F0.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80059488(?); // extern extern s8 D_801657B0; void func_800594F8(void) { @@ -968,32 +839,16 @@ void func_800594F8(void) { func_80059488(0); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800594F8.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 void func_80059528(void) { } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059528.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80059488(?); // extern -extern s8 D_801657B0; void func_80059530(void) { if (D_801657B0 == 0) { func_80059488(1); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059530.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -1036,9 +891,6 @@ void func_80059560(s32 arg0) { GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059560.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80041EF4(); // extern extern s8 D_801657B0; void func_800596A8(void) { @@ -1046,15 +898,6 @@ void func_800596A8(void) { func_80041EF4(); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800596A8.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80041EF4(); // extern -? func_80059560(?); // extern -extern s8 D_801657B0; void func_800596D8(void) { if (D_801657B0 == 0) { @@ -1062,23 +905,11 @@ void func_800596D8(void) { func_80059560(0); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800596D8.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 void func_80059710(void) { } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059710.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80041EF4(); // extern -? func_80059560(?); // extern extern s8 D_801657B0; void func_80059718(void) { @@ -1087,13 +918,7 @@ void func_80059718(void) { func_80059560(1); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059718.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80041EF4(); // extern extern s8 D_801657B0; void func_80059750(void) { @@ -1101,14 +926,7 @@ void func_80059750(void) { func_80041EF4(); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059750.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80041EF4(); // extern -? func_80059560(?); // extern extern s8 D_801657B0; void func_80059780(void) { @@ -1117,13 +935,7 @@ void func_80059780(void) { func_80059560(2); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059780.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80041EF4(); // extern extern s8 D_801657B0; void func_800597B8(void) { @@ -1131,14 +943,7 @@ void func_800597B8(void) { func_80041EF4(); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800597B8.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80041EF4(); // extern -? func_80059560(?); // extern extern s8 D_801657B0; void func_800597E8(void) { @@ -1147,22 +952,22 @@ void func_800597E8(void) { func_80059560(3); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800597E8.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern ? D_8018CA70; +//extern ? D_8018CA70; extern s32 D_8018CF14; +extern Player *D_800DC4DC; extern Player *D_8018CF1C; +extern Camera *camera1; +extern s8 D_8018CA70; void func_80059820(s32 arg0) { Player *temp_v1; - void *temp_v0; + Camera *temp_v0; - D_8018CF1C = &D_800DC4DC[arg0]; - D_8018CF14 = (arg0 * 0xB8) + camera1; + D_8018CF1C = D_800DC4DC; //&D_800DC4DC[arg0]; + D_8018CF14 = camera1->unk27 * arg0; //(arg0 * 0xB8) + camera1; temp_v1 = D_8018CF1C; temp_v0 = (arg0 * 0x84) + &D_8018CA70; temp_v0->unk2C = temp_v1->posX; @@ -1173,41 +978,27 @@ void func_80059820(s32 arg0) { GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059820.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern u8 D_801658FF; - +extern struct Controller *D_800DC4BC; void func_800598D4(s32 arg0) { - struct Controller *temp_v0; - u16 phi_v1; + struct Controller *controller = &D_800DC4BC[arg0]; - temp_v0 = &D_800DC4BC[arg0]; - if ((temp_v0->button & 0x8000) != 0) { - D_801658FF = D_801658FF + 1; + if ((controller->button & 0x8000) != 0) { + D_801658FF++; } - phi_v1 = temp_v0->button; - if ((temp_v0->button & 0x4000) != 0) { - D_801658FF = D_801658FF + 1; - phi_v1 = temp_v0->button; + if ((controller->button & 0x4000) != 0) { + D_801658FF++; } - if ((phi_v1 & 0x10) != 0) { - D_801658FF = D_801658FF + 1; + if ((controller->button & 0x10) != 0) { + D_801658FF++; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800598D4.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern s32 D_8018D214; void func_8005994C(void) { D_8018D214 = 1; } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005994C.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -1258,12 +1049,6 @@ void func_8005995C(void) { GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005995C.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80059820(); // extern -? func_8007A948(s32); // extern -? func_8007BB9C(s32); // extern - void func_80059A88(s32 arg0) { func_80059820(); if (D_800DC51C == 0) { @@ -1271,72 +1056,69 @@ void func_80059A88(s32 arg0) { func_8007BB9C(arg0); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059A88.s") -#endif -#ifdef MIPS_TO_C +#ifdef NON_MATCHING //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80059820(?); // extern -? func_8005995C(); // extern -? func_80059A88(?); // extern -? func_8005A71C(); // extern -? func_800892E0(s32); // extern -s16 func_8008A890(s32); // extern -? func_8008C1D8(? *); // extern +//? func_80059820(?); // extern +//? func_8005995C(); // extern +//? func_80059A88(?); // extern +//? func_8005A71C(); // extern +//? func_800892E0(s32); // extern +s32 func_8008A890(struct UnkStruct8008A890*); // extern +//? func_8008C1D8(? *); // extern extern u16 D_800DC5FC; -extern ? D_80165678; -extern s16 D_8018CF68; +extern s32 D_80165678; +extern s32 D_8018CF68; extern s32 gRaceFrameCounter; +extern Camera *camera1; +// unused? void func_80059AC8(void) { - s32 temp_s0; + //s32 temp_s0; s32 temp_v0; - s32 phi_s1; s16 *phi_s2; s32 phi_s0; if (D_800DC5FC == 0) { func_8008C1D8(&D_80165678); - gRaceFrameCounter = gRaceFrameCounter + 1; - phi_s1 = 0; + gRaceFrameCounter++; phi_s2 = &D_8018CF68; phi_s0 = 0; - do { - *phi_s2 = func_8008A890(phi_s1 + camera1); + //phi_s1 = 0; + for (phi_s0 = 0; phi_s0 != 8; phi_s0++) { + *phi_s2 = func_8008A890(phi_s0 + camera1); func_800892E0(phi_s0); - temp_s0 = phi_s0 + 1; - phi_s1 += 0xB8; + //temp_s0 = phi_s0 + 1; + //phi_s1 += 0xB8; phi_s2 += 2; - phi_s0 = temp_s0; - } while (temp_s0 != 8); - temp_v0 = D_800DC530; - if (temp_v0 != 0) { - if (temp_v0 != 1) { - if (temp_v0 != 2) { - if (temp_v0 != 3) { - - } else { - func_80059A88(0); - func_80059A88(1); - func_80059A88(2); - func_80059A88(3); + phi_s0++; + } //while (phi_s0 != 8); + + switch (D_800DC530) { + case 0: + if (D_800DC50C != 9) { + func_80059A88(0); + if (gModeSelection == 1) { + func_8005995C(); } } else { - func_80059A88(0); - func_80059A88(1); + func_80059820(0); } - } else { + break; + case 2: func_80059A88(0); func_80059A88(1); - } - } else if (D_800DC50C != CREDITS_SEQUENCE) { - func_80059A88(0); - if (gModeSelection == TIME_TRIALS) { - func_8005995C(); - } - } else { - func_80059820(0); + break; + case 1: + func_80059A88(0); + func_80059A88(1); + break; + case 3: + func_80059A88(0); + func_80059A88(1); + func_80059A88(2); + func_80059A88(3); + break; } func_8005A71C(); } diff --git a/src/code_80086E70.c b/src/code_80086E70.c index 0f5fc6bbf..5a2c588b5 100644 --- a/src/code_80086E70.c +++ b/src/code_80086E70.c @@ -1,5 +1,7 @@ #include #include +#include +#include #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -1893,16 +1895,9 @@ void func_8008A6DC(s32 arg0, f32 arg1) { GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A6DC.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_802ABD40(u16); // extern - -void func_8008A890(void *arg0) { - func_802ABD40(arg0->unk5E); +s32 func_8008A890(struct UnkStruct8008A890 *arg0) { + return func_802ABD40(arg0->value); } -#else -GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A890.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307