From 754e31da04602ec6c3c1d447e9bd15d03229b514 Mon Sep 17 00:00:00 2001 From: Tyler McGavran Date: Sun, 25 Sep 2022 13:26:58 -0400 Subject: [PATCH] Even more matches for code_800431B0.c (#261) * More matches for code_800431B0 * Also added a header for the common_textures file since some other files use the Gfx/Vtx variables defined there Signed-off-by: Taggerung --- ...mber_sign_check.s => debug_print_number.s} | 0 .../code_800431B0/func_80045D0C.s | 70 - .../code_800431B0/func_80045E10.s | 71 - .../code_800431B0/func_80045F18.s | 75 - .../code_800431B0/func_800461A4.s | 70 - .../code_800431B0/func_800462A8.s | 71 - .../code_800431B0/func_80047068.s | 135 - .../code_800431B0/func_80047270.s | 136 - .../code_800431B0/func_8004747C.s | 137 - .../code_800431B0/func_8004768C.s | 133 - .../code_800431B0/func_80048F8C.s | 113 - .../code_800431B0/func_80049130.s | 113 - .../code_800431B0/func_800492D4.s | 113 - .../code_800431B0/func_80049478.s | 113 - .../code_800431B0/func_800497CC.s | 113 - .../code_800431B0/func_8004BD14.s | 197 - .../code_800431B0/func_8004E638.s | 37 - .../code_800431B0/func_8004F674.s | 28 - .../code_800431B0/func_80055458.s | 54 - .../code_800431B0/func_80055528.s | 40 - .../code_800431B0/func_800555BC.s | 54 - .../code_800431B0/func_8005568C.s | 78 - .../code_800431B0/func_80055F48.s | 24 - .../code_800431B0/func_800569F4.s | 20 - .../code_800431B0/func_80056A40.s | 22 - include/objects.h | 5 +- src/code_800431B0.c | 6420 +++++++---------- src/code_800431B0.h | 263 +- src/code_80071F00.c | 126 +- src/code_80086E70.c | 6 +- src/common_textures.h | 335 + src/common_textures.inc.c | 2 +- src/math_util_2.c | 16 +- src/math_util_2.h | 4 +- 34 files changed, 3027 insertions(+), 6167 deletions(-) rename asm/non_matchings/code_800431B0/{debug_number_sign_check.s => debug_print_number.s} (100%) delete mode 100644 asm/non_matchings/code_800431B0/func_80045D0C.s delete mode 100644 asm/non_matchings/code_800431B0/func_80045E10.s delete mode 100644 asm/non_matchings/code_800431B0/func_80045F18.s delete mode 100644 asm/non_matchings/code_800431B0/func_800461A4.s delete mode 100644 asm/non_matchings/code_800431B0/func_800462A8.s delete mode 100644 asm/non_matchings/code_800431B0/func_80047068.s delete mode 100644 asm/non_matchings/code_800431B0/func_80047270.s delete mode 100644 asm/non_matchings/code_800431B0/func_8004747C.s delete mode 100644 asm/non_matchings/code_800431B0/func_8004768C.s delete mode 100644 asm/non_matchings/code_800431B0/func_80048F8C.s delete mode 100644 asm/non_matchings/code_800431B0/func_80049130.s delete mode 100644 asm/non_matchings/code_800431B0/func_800492D4.s delete mode 100644 asm/non_matchings/code_800431B0/func_80049478.s delete mode 100644 asm/non_matchings/code_800431B0/func_800497CC.s delete mode 100644 asm/non_matchings/code_800431B0/func_8004BD14.s delete mode 100644 asm/non_matchings/code_800431B0/func_8004E638.s delete mode 100644 asm/non_matchings/code_800431B0/func_8004F674.s delete mode 100644 asm/non_matchings/code_800431B0/func_80055458.s delete mode 100644 asm/non_matchings/code_800431B0/func_80055528.s delete mode 100644 asm/non_matchings/code_800431B0/func_800555BC.s delete mode 100644 asm/non_matchings/code_800431B0/func_8005568C.s delete mode 100644 asm/non_matchings/code_800431B0/func_80055F48.s delete mode 100644 asm/non_matchings/code_800431B0/func_800569F4.s delete mode 100644 asm/non_matchings/code_800431B0/func_80056A40.s create mode 100644 src/common_textures.h diff --git a/asm/non_matchings/code_800431B0/debug_number_sign_check.s b/asm/non_matchings/code_800431B0/debug_print_number.s similarity index 100% rename from asm/non_matchings/code_800431B0/debug_number_sign_check.s rename to asm/non_matchings/code_800431B0/debug_print_number.s diff --git a/asm/non_matchings/code_800431B0/func_80045D0C.s b/asm/non_matchings/code_800431B0/func_80045D0C.s deleted file mode 100644 index 79918e1c3..000000000 --- a/asm/non_matchings/code_800431B0/func_80045D0C.s +++ /dev/null @@ -1,70 +0,0 @@ -glabel func_80045D0C -/* 04690C 80045D0C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 046910 80045D10 AFB40024 */ sw $s4, 0x24($sp) -/* 046914 80045D14 8FB40048 */ lw $s4, 0x48($sp) -/* 046918 80045D18 AFB30020 */ sw $s3, 0x20($sp) -/* 04691C 80045D1C AFB70030 */ sw $s7, 0x30($sp) -/* 046920 80045D20 00F4001A */ div $zero, $a3, $s4 -/* 046924 80045D24 AFB50028 */ sw $s5, 0x28($sp) -/* 046928 80045D28 AFB2001C */ sw $s2, 0x1c($sp) -/* 04692C 80045D2C AFB10018 */ sw $s1, 0x18($sp) -/* 046930 80045D30 AFB00014 */ sw $s0, 0x14($sp) -/* 046934 80045D34 00009812 */ mflo $s3 -/* 046938 80045D38 00C0A825 */ move $s5, $a2 -/* 04693C 80045D3C 00A0B825 */ move $s7, $a1 -/* 046940 80045D40 AFBF0034 */ sw $ra, 0x34($sp) -/* 046944 80045D44 AFB6002C */ sw $s6, 0x2c($sp) -/* 046948 80045D48 00008025 */ move $s0, $zero -/* 04694C 80045D4C 00808825 */ move $s1, $a0 -/* 046950 80045D50 00009025 */ move $s2, $zero -/* 046954 80045D54 16800002 */ bnez $s4, .L80045D60 -/* 046958 80045D58 00000000 */ nop -/* 04695C 80045D5C 0007000D */ break 7 -.L80045D60: -/* 046960 80045D60 2401FFFF */ li $at, -1 -/* 046964 80045D64 16810004 */ bne $s4, $at, .L80045D78 -/* 046968 80045D68 3C018000 */ lui $at, 0x8000 -/* 04696C 80045D6C 14E10002 */ bne $a3, $at, .L80045D78 -/* 046970 80045D70 00000000 */ nop -/* 046974 80045D74 0006000D */ break 6 -.L80045D78: -/* 046978 80045D78 1A600010 */ blez $s3, .L80045DBC -/* 04697C 80045D7C 00000000 */ nop -/* 046980 80045D80 02B40019 */ multu $s5, $s4 -/* 046984 80045D84 0000B012 */ mflo $s6 -/* 046988 80045D88 00167040 */ sll $t6, $s6, 1 -/* 04698C 80045D8C 01C0B025 */ move $s6, $t6 -.L80045D90: -/* 046990 80045D90 02202025 */ move $a0, $s1 -/* 046994 80045D94 02A02825 */ move $a1, $s5 -/* 046998 80045D98 0C010F54 */ jal func_80043D50 -/* 04699C 80045D9C 02803025 */ move $a2, $s4 -/* 0469A0 80045DA0 00107900 */ sll $t7, $s0, 4 -/* 0469A4 80045DA4 0C0116CB */ jal func_80045B2C -/* 0469A8 80045DA8 01F72021 */ addu $a0, $t7, $s7 -/* 0469AC 80045DAC 26520001 */ addiu $s2, $s2, 1 -/* 0469B0 80045DB0 02368821 */ addu $s1, $s1, $s6 -/* 0469B4 80045DB4 1653FFF6 */ bne $s2, $s3, .L80045D90 -/* 0469B8 80045DB8 26100004 */ addiu $s0, $s0, 4 -.L80045DBC: -/* 0469BC 80045DBC 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 0469C0 80045DC0 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 0469C4 80045DC4 8C830000 */ lw $v1, ($a0) -/* 0469C8 80045DC8 3C080001 */ lui $t0, (0x00010001 >> 16) # lui $t0, 1 -/* 0469CC 80045DCC 35080001 */ ori $t0, (0x00010001 & 0xFFFF) # ori $t0, $t0, 1 -/* 0469D0 80045DD0 24780008 */ addiu $t8, $v1, 8 -/* 0469D4 80045DD4 AC980000 */ sw $t8, ($a0) -/* 0469D8 80045DD8 3C19BB00 */ lui $t9, 0xbb00 -/* 0469DC 80045DDC AC790000 */ sw $t9, ($v1) -/* 0469E0 80045DE0 AC680004 */ sw $t0, 4($v1) -/* 0469E4 80045DE4 8FBF0034 */ lw $ra, 0x34($sp) -/* 0469E8 80045DE8 8FB70030 */ lw $s7, 0x30($sp) -/* 0469EC 80045DEC 8FB6002C */ lw $s6, 0x2c($sp) -/* 0469F0 80045DF0 8FB50028 */ lw $s5, 0x28($sp) -/* 0469F4 80045DF4 8FB40024 */ lw $s4, 0x24($sp) -/* 0469F8 80045DF8 8FB30020 */ lw $s3, 0x20($sp) -/* 0469FC 80045DFC 8FB2001C */ lw $s2, 0x1c($sp) -/* 046A00 80045E00 8FB10018 */ lw $s1, 0x18($sp) -/* 046A04 80045E04 8FB00014 */ lw $s0, 0x14($sp) -/* 046A08 80045E08 03E00008 */ jr $ra -/* 046A0C 80045E0C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/non_matchings/code_800431B0/func_80045E10.s b/asm/non_matchings/code_800431B0/func_80045E10.s deleted file mode 100644 index cfc6dae06..000000000 --- a/asm/non_matchings/code_800431B0/func_80045E10.s +++ /dev/null @@ -1,71 +0,0 @@ -glabel func_80045E10 -/* 046A10 80045E10 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 046A14 80045E14 AFB40024 */ sw $s4, 0x24($sp) -/* 046A18 80045E18 8FB40048 */ lw $s4, 0x48($sp) -/* 046A1C 80045E1C AFB30020 */ sw $s3, 0x20($sp) -/* 046A20 80045E20 AFB70030 */ sw $s7, 0x30($sp) -/* 046A24 80045E24 00F4001A */ div $zero, $a3, $s4 -/* 046A28 80045E28 AFB50028 */ sw $s5, 0x28($sp) -/* 046A2C 80045E2C AFB2001C */ sw $s2, 0x1c($sp) -/* 046A30 80045E30 AFB10018 */ sw $s1, 0x18($sp) -/* 046A34 80045E34 AFB00014 */ sw $s0, 0x14($sp) -/* 046A38 80045E38 00009812 */ mflo $s3 -/* 046A3C 80045E3C 00C0A825 */ move $s5, $a2 -/* 046A40 80045E40 00A0B825 */ move $s7, $a1 -/* 046A44 80045E44 AFBF0034 */ sw $ra, 0x34($sp) -/* 046A48 80045E48 AFB6002C */ sw $s6, 0x2c($sp) -/* 046A4C 80045E4C 00008025 */ move $s0, $zero -/* 046A50 80045E50 00808825 */ move $s1, $a0 -/* 046A54 80045E54 00009025 */ move $s2, $zero -/* 046A58 80045E58 16800002 */ bnez $s4, .L80045E64 -/* 046A5C 80045E5C 00000000 */ nop -/* 046A60 80045E60 0007000D */ break 7 -.L80045E64: -/* 046A64 80045E64 2401FFFF */ li $at, -1 -/* 046A68 80045E68 16810004 */ bne $s4, $at, .L80045E7C -/* 046A6C 80045E6C 3C018000 */ lui $at, 0x8000 -/* 046A70 80045E70 14E10002 */ bne $a3, $at, .L80045E7C -/* 046A74 80045E74 00000000 */ nop -/* 046A78 80045E78 0006000D */ break 6 -.L80045E7C: -/* 046A7C 80045E7C 268EFFFF */ addiu $t6, $s4, -1 -/* 046A80 80045E80 1A600010 */ blez $s3, .L80045EC4 -/* 046A84 80045E84 00000000 */ nop -/* 046A88 80045E88 02AE0019 */ multu $s5, $t6 -/* 046A8C 80045E8C 0000B012 */ mflo $s6 -/* 046A90 80045E90 00167840 */ sll $t7, $s6, 1 -/* 046A94 80045E94 01E0B025 */ move $s6, $t7 -.L80045E98: -/* 046A98 80045E98 02202025 */ move $a0, $s1 -/* 046A9C 80045E9C 02A02825 */ move $a1, $s5 -/* 046AA0 80045EA0 0C010F54 */ jal func_80043D50 -/* 046AA4 80045EA4 02803025 */ move $a2, $s4 -/* 046AA8 80045EA8 0010C100 */ sll $t8, $s0, 4 -/* 046AAC 80045EAC 0C0116CB */ jal func_80045B2C -/* 046AB0 80045EB0 03172021 */ addu $a0, $t8, $s7 -/* 046AB4 80045EB4 26520001 */ addiu $s2, $s2, 1 -/* 046AB8 80045EB8 02368821 */ addu $s1, $s1, $s6 -/* 046ABC 80045EBC 1653FFF6 */ bne $s2, $s3, .L80045E98 -/* 046AC0 80045EC0 26100004 */ addiu $s0, $s0, 4 -.L80045EC4: -/* 046AC4 80045EC4 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 046AC8 80045EC8 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 046ACC 80045ECC 8C830000 */ lw $v1, ($a0) -/* 046AD0 80045ED0 3C090001 */ lui $t1, (0x00010001 >> 16) # lui $t1, 1 -/* 046AD4 80045ED4 35290001 */ ori $t1, (0x00010001 & 0xFFFF) # ori $t1, $t1, 1 -/* 046AD8 80045ED8 24790008 */ addiu $t9, $v1, 8 -/* 046ADC 80045EDC AC990000 */ sw $t9, ($a0) -/* 046AE0 80045EE0 3C08BB00 */ lui $t0, 0xbb00 -/* 046AE4 80045EE4 AC680000 */ sw $t0, ($v1) -/* 046AE8 80045EE8 AC690004 */ sw $t1, 4($v1) -/* 046AEC 80045EEC 8FBF0034 */ lw $ra, 0x34($sp) -/* 046AF0 80045EF0 8FB70030 */ lw $s7, 0x30($sp) -/* 046AF4 80045EF4 8FB6002C */ lw $s6, 0x2c($sp) -/* 046AF8 80045EF8 8FB50028 */ lw $s5, 0x28($sp) -/* 046AFC 80045EFC 8FB40024 */ lw $s4, 0x24($sp) -/* 046B00 80045F00 8FB30020 */ lw $s3, 0x20($sp) -/* 046B04 80045F04 8FB2001C */ lw $s2, 0x1c($sp) -/* 046B08 80045F08 8FB10018 */ lw $s1, 0x18($sp) -/* 046B0C 80045F0C 8FB00014 */ lw $s0, 0x14($sp) -/* 046B10 80045F10 03E00008 */ jr $ra -/* 046B14 80045F14 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/non_matchings/code_800431B0/func_80045F18.s b/asm/non_matchings/code_800431B0/func_80045F18.s deleted file mode 100644 index d21abd82e..000000000 --- a/asm/non_matchings/code_800431B0/func_80045F18.s +++ /dev/null @@ -1,75 +0,0 @@ -glabel func_80045F18 -/* 046B18 80045F18 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 046B1C 80045F1C AFB40028 */ sw $s4, 0x28($sp) -/* 046B20 80045F20 8FB40050 */ lw $s4, 0x50($sp) -/* 046B24 80045F24 AFB30024 */ sw $s3, 0x24($sp) -/* 046B28 80045F28 AFBE0038 */ sw $fp, 0x38($sp) -/* 046B2C 80045F2C 00F4001A */ div $zero, $a3, $s4 -/* 046B30 80045F30 AFB5002C */ sw $s5, 0x2c($sp) -/* 046B34 80045F34 AFB20020 */ sw $s2, 0x20($sp) -/* 046B38 80045F38 AFB1001C */ sw $s1, 0x1c($sp) -/* 046B3C 80045F3C AFB00018 */ sw $s0, 0x18($sp) -/* 046B40 80045F40 00009812 */ mflo $s3 -/* 046B44 80045F44 00C0A825 */ move $s5, $a2 -/* 046B48 80045F48 00A0F025 */ move $fp, $a1 -/* 046B4C 80045F4C AFBF003C */ sw $ra, 0x3c($sp) -/* 046B50 80045F50 AFB70034 */ sw $s7, 0x34($sp) -/* 046B54 80045F54 AFB60030 */ sw $s6, 0x30($sp) -/* 046B58 80045F58 00008025 */ move $s0, $zero -/* 046B5C 80045F5C 00808825 */ move $s1, $a0 -/* 046B60 80045F60 00009025 */ move $s2, $zero -/* 046B64 80045F64 16800002 */ bnez $s4, .L80045F70 -/* 046B68 80045F68 00000000 */ nop -/* 046B6C 80045F6C 0007000D */ break 7 -.L80045F70: -/* 046B70 80045F70 2401FFFF */ li $at, -1 -/* 046B74 80045F74 16810004 */ bne $s4, $at, .L80045F88 -/* 046B78 80045F78 3C018000 */ lui $at, 0x8000 -/* 046B7C 80045F7C 14E10002 */ bne $a3, $at, .L80045F88 -/* 046B80 80045F80 00000000 */ nop -/* 046B84 80045F84 0006000D */ break 6 -.L80045F88: -/* 046B88 80045F88 268EFFFF */ addiu $t6, $s4, -1 -/* 046B8C 80045F8C 1A600012 */ blez $s3, .L80045FD8 -/* 046B90 80045F90 00000000 */ nop -/* 046B94 80045F94 02AE0019 */ multu $s5, $t6 -/* 046B98 80045F98 8FB70054 */ lw $s7, 0x54($sp) -/* 046B9C 80045F9C 0000B012 */ mflo $s6 -/* 046BA0 80045FA0 00167840 */ sll $t7, $s6, 1 -/* 046BA4 80045FA4 01E0B025 */ move $s6, $t7 -.L80045FA8: -/* 046BA8 80045FA8 02202025 */ move $a0, $s1 -/* 046BAC 80045FAC 02A02825 */ move $a1, $s5 -/* 046BB0 80045FB0 02803025 */ move $a2, $s4 -/* 046BB4 80045FB4 0C010FBE */ jal func_80043EF8 -/* 046BB8 80045FB8 02E03825 */ move $a3, $s7 -/* 046BBC 80045FBC 0010C100 */ sll $t8, $s0, 4 -/* 046BC0 80045FC0 0C0116CB */ jal func_80045B2C -/* 046BC4 80045FC4 031E2021 */ addu $a0, $t8, $fp -/* 046BC8 80045FC8 26520001 */ addiu $s2, $s2, 1 -/* 046BCC 80045FCC 02368821 */ addu $s1, $s1, $s6 -/* 046BD0 80045FD0 1653FFF5 */ bne $s2, $s3, .L80045FA8 -/* 046BD4 80045FD4 26100004 */ addiu $s0, $s0, 4 -.L80045FD8: -/* 046BD8 80045FD8 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 046BDC 80045FDC 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 046BE0 80045FE0 8C830000 */ lw $v1, ($a0) -/* 046BE4 80045FE4 3C090001 */ lui $t1, (0x00010001 >> 16) # lui $t1, 1 -/* 046BE8 80045FE8 35290001 */ ori $t1, (0x00010001 & 0xFFFF) # ori $t1, $t1, 1 -/* 046BEC 80045FEC 24790008 */ addiu $t9, $v1, 8 -/* 046BF0 80045FF0 AC990000 */ sw $t9, ($a0) -/* 046BF4 80045FF4 3C08BB00 */ lui $t0, 0xbb00 -/* 046BF8 80045FF8 AC680000 */ sw $t0, ($v1) -/* 046BFC 80045FFC AC690004 */ sw $t1, 4($v1) -/* 046C00 80046000 8FBF003C */ lw $ra, 0x3c($sp) -/* 046C04 80046004 8FBE0038 */ lw $fp, 0x38($sp) -/* 046C08 80046008 8FB70034 */ lw $s7, 0x34($sp) -/* 046C0C 8004600C 8FB60030 */ lw $s6, 0x30($sp) -/* 046C10 80046010 8FB5002C */ lw $s5, 0x2c($sp) -/* 046C14 80046014 8FB40028 */ lw $s4, 0x28($sp) -/* 046C18 80046018 8FB30024 */ lw $s3, 0x24($sp) -/* 046C1C 8004601C 8FB20020 */ lw $s2, 0x20($sp) -/* 046C20 80046020 8FB1001C */ lw $s1, 0x1c($sp) -/* 046C24 80046024 8FB00018 */ lw $s0, 0x18($sp) -/* 046C28 80046028 03E00008 */ jr $ra -/* 046C2C 8004602C 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/code_800431B0/func_800461A4.s b/asm/non_matchings/code_800431B0/func_800461A4.s deleted file mode 100644 index 827687b09..000000000 --- a/asm/non_matchings/code_800431B0/func_800461A4.s +++ /dev/null @@ -1,70 +0,0 @@ -glabel func_800461A4 -/* 046DA4 800461A4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 046DA8 800461A8 AFB40024 */ sw $s4, 0x24($sp) -/* 046DAC 800461AC 8FB40048 */ lw $s4, 0x48($sp) -/* 046DB0 800461B0 AFB30020 */ sw $s3, 0x20($sp) -/* 046DB4 800461B4 AFB70030 */ sw $s7, 0x30($sp) -/* 046DB8 800461B8 00F4001A */ div $zero, $a3, $s4 -/* 046DBC 800461BC AFB50028 */ sw $s5, 0x28($sp) -/* 046DC0 800461C0 AFB2001C */ sw $s2, 0x1c($sp) -/* 046DC4 800461C4 AFB10018 */ sw $s1, 0x18($sp) -/* 046DC8 800461C8 AFB00014 */ sw $s0, 0x14($sp) -/* 046DCC 800461CC 00009812 */ mflo $s3 -/* 046DD0 800461D0 00C0A825 */ move $s5, $a2 -/* 046DD4 800461D4 00A0B825 */ move $s7, $a1 -/* 046DD8 800461D8 AFBF0034 */ sw $ra, 0x34($sp) -/* 046DDC 800461DC AFB6002C */ sw $s6, 0x2c($sp) -/* 046DE0 800461E0 00008025 */ move $s0, $zero -/* 046DE4 800461E4 00808825 */ move $s1, $a0 -/* 046DE8 800461E8 00009025 */ move $s2, $zero -/* 046DEC 800461EC 16800002 */ bnez $s4, .L800461F8 -/* 046DF0 800461F0 00000000 */ nop -/* 046DF4 800461F4 0007000D */ break 7 -.L800461F8: -/* 046DF8 800461F8 2401FFFF */ li $at, -1 -/* 046DFC 800461FC 16810004 */ bne $s4, $at, .L80046210 -/* 046E00 80046200 3C018000 */ lui $at, 0x8000 -/* 046E04 80046204 14E10002 */ bne $a3, $at, .L80046210 -/* 046E08 80046208 00000000 */ nop -/* 046E0C 8004620C 0006000D */ break 6 -.L80046210: -/* 046E10 80046210 1A600010 */ blez $s3, .L80046254 -/* 046E14 80046214 00000000 */ nop -/* 046E18 80046218 02B40019 */ multu $s5, $s4 -/* 046E1C 8004621C 0000B012 */ mflo $s6 -/* 046E20 80046220 00167080 */ sll $t6, $s6, 2 -/* 046E24 80046224 01C0B025 */ move $s6, $t6 -.L80046228: -/* 046E28 80046228 02202025 */ move $a0, $s1 -/* 046E2C 8004622C 02A02825 */ move $a1, $s5 -/* 046E30 80046230 0C010EA1 */ jal func_80043A84 -/* 046E34 80046234 02803025 */ move $a2, $s4 -/* 046E38 80046238 00107900 */ sll $t7, $s0, 4 -/* 046E3C 8004623C 0C0116CB */ jal func_80045B2C -/* 046E40 80046240 01F72021 */ addu $a0, $t7, $s7 -/* 046E44 80046244 26520001 */ addiu $s2, $s2, 1 -/* 046E48 80046248 02368821 */ addu $s1, $s1, $s6 -/* 046E4C 8004624C 1653FFF6 */ bne $s2, $s3, .L80046228 -/* 046E50 80046250 26100004 */ addiu $s0, $s0, 4 -.L80046254: -/* 046E54 80046254 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 046E58 80046258 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 046E5C 8004625C 8C830000 */ lw $v1, ($a0) -/* 046E60 80046260 3C080001 */ lui $t0, (0x00010001 >> 16) # lui $t0, 1 -/* 046E64 80046264 35080001 */ ori $t0, (0x00010001 & 0xFFFF) # ori $t0, $t0, 1 -/* 046E68 80046268 24780008 */ addiu $t8, $v1, 8 -/* 046E6C 8004626C AC980000 */ sw $t8, ($a0) -/* 046E70 80046270 3C19BB00 */ lui $t9, 0xbb00 -/* 046E74 80046274 AC790000 */ sw $t9, ($v1) -/* 046E78 80046278 AC680004 */ sw $t0, 4($v1) -/* 046E7C 8004627C 8FBF0034 */ lw $ra, 0x34($sp) -/* 046E80 80046280 8FB70030 */ lw $s7, 0x30($sp) -/* 046E84 80046284 8FB6002C */ lw $s6, 0x2c($sp) -/* 046E88 80046288 8FB50028 */ lw $s5, 0x28($sp) -/* 046E8C 8004628C 8FB40024 */ lw $s4, 0x24($sp) -/* 046E90 80046290 8FB30020 */ lw $s3, 0x20($sp) -/* 046E94 80046294 8FB2001C */ lw $s2, 0x1c($sp) -/* 046E98 80046298 8FB10018 */ lw $s1, 0x18($sp) -/* 046E9C 8004629C 8FB00014 */ lw $s0, 0x14($sp) -/* 046EA0 800462A0 03E00008 */ jr $ra -/* 046EA4 800462A4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/non_matchings/code_800431B0/func_800462A8.s b/asm/non_matchings/code_800431B0/func_800462A8.s deleted file mode 100644 index 9c1763043..000000000 --- a/asm/non_matchings/code_800431B0/func_800462A8.s +++ /dev/null @@ -1,71 +0,0 @@ -glabel func_800462A8 -/* 046EA8 800462A8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 046EAC 800462AC AFB40024 */ sw $s4, 0x24($sp) -/* 046EB0 800462B0 8FB40048 */ lw $s4, 0x48($sp) -/* 046EB4 800462B4 AFB30020 */ sw $s3, 0x20($sp) -/* 046EB8 800462B8 AFB70030 */ sw $s7, 0x30($sp) -/* 046EBC 800462BC 00F4001A */ div $zero, $a3, $s4 -/* 046EC0 800462C0 AFB50028 */ sw $s5, 0x28($sp) -/* 046EC4 800462C4 AFB2001C */ sw $s2, 0x1c($sp) -/* 046EC8 800462C8 AFB10018 */ sw $s1, 0x18($sp) -/* 046ECC 800462CC AFB00014 */ sw $s0, 0x14($sp) -/* 046ED0 800462D0 00009812 */ mflo $s3 -/* 046ED4 800462D4 00C0A825 */ move $s5, $a2 -/* 046ED8 800462D8 00A0B825 */ move $s7, $a1 -/* 046EDC 800462DC AFBF0034 */ sw $ra, 0x34($sp) -/* 046EE0 800462E0 AFB6002C */ sw $s6, 0x2c($sp) -/* 046EE4 800462E4 00008025 */ move $s0, $zero -/* 046EE8 800462E8 00808825 */ move $s1, $a0 -/* 046EEC 800462EC 00009025 */ move $s2, $zero -/* 046EF0 800462F0 16800002 */ bnez $s4, .L800462FC -/* 046EF4 800462F4 00000000 */ nop -/* 046EF8 800462F8 0007000D */ break 7 -.L800462FC: -/* 046EFC 800462FC 2401FFFF */ li $at, -1 -/* 046F00 80046300 16810004 */ bne $s4, $at, .L80046314 -/* 046F04 80046304 3C018000 */ lui $at, 0x8000 -/* 046F08 80046308 14E10002 */ bne $a3, $at, .L80046314 -/* 046F0C 8004630C 00000000 */ nop -/* 046F10 80046310 0006000D */ break 6 -.L80046314: -/* 046F14 80046314 268EFFFF */ addiu $t6, $s4, -1 -/* 046F18 80046318 1A600010 */ blez $s3, .L8004635C -/* 046F1C 8004631C 00000000 */ nop -/* 046F20 80046320 02AE0019 */ multu $s5, $t6 -/* 046F24 80046324 0000B012 */ mflo $s6 -/* 046F28 80046328 00167880 */ sll $t7, $s6, 2 -/* 046F2C 8004632C 01E0B025 */ move $s6, $t7 -.L80046330: -/* 046F30 80046330 02202025 */ move $a0, $s1 -/* 046F34 80046334 02A02825 */ move $a1, $s5 -/* 046F38 80046338 0C010EA1 */ jal func_80043A84 -/* 046F3C 8004633C 02803025 */ move $a2, $s4 -/* 046F40 80046340 0010C100 */ sll $t8, $s0, 4 -/* 046F44 80046344 0C0116CB */ jal func_80045B2C -/* 046F48 80046348 03172021 */ addu $a0, $t8, $s7 -/* 046F4C 8004634C 26520001 */ addiu $s2, $s2, 1 -/* 046F50 80046350 02368821 */ addu $s1, $s1, $s6 -/* 046F54 80046354 1653FFF6 */ bne $s2, $s3, .L80046330 -/* 046F58 80046358 26100004 */ addiu $s0, $s0, 4 -.L8004635C: -/* 046F5C 8004635C 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 046F60 80046360 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 046F64 80046364 8C830000 */ lw $v1, ($a0) -/* 046F68 80046368 3C090001 */ lui $t1, (0x00010001 >> 16) # lui $t1, 1 -/* 046F6C 8004636C 35290001 */ ori $t1, (0x00010001 & 0xFFFF) # ori $t1, $t1, 1 -/* 046F70 80046370 24790008 */ addiu $t9, $v1, 8 -/* 046F74 80046374 AC990000 */ sw $t9, ($a0) -/* 046F78 80046378 3C08BB00 */ lui $t0, 0xbb00 -/* 046F7C 8004637C AC680000 */ sw $t0, ($v1) -/* 046F80 80046380 AC690004 */ sw $t1, 4($v1) -/* 046F84 80046384 8FBF0034 */ lw $ra, 0x34($sp) -/* 046F88 80046388 8FB70030 */ lw $s7, 0x30($sp) -/* 046F8C 8004638C 8FB6002C */ lw $s6, 0x2c($sp) -/* 046F90 80046390 8FB50028 */ lw $s5, 0x28($sp) -/* 046F94 80046394 8FB40024 */ lw $s4, 0x24($sp) -/* 046F98 80046398 8FB30020 */ lw $s3, 0x20($sp) -/* 046F9C 8004639C 8FB2001C */ lw $s2, 0x1c($sp) -/* 046FA0 800463A0 8FB10018 */ lw $s1, 0x18($sp) -/* 046FA4 800463A4 8FB00014 */ lw $s0, 0x14($sp) -/* 046FA8 800463A8 03E00008 */ jr $ra -/* 046FAC 800463AC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/non_matchings/code_800431B0/func_80047068.s b/asm/non_matchings/code_800431B0/func_80047068.s deleted file mode 100644 index 6d064a1ed..000000000 --- a/asm/non_matchings/code_800431B0/func_80047068.s +++ /dev/null @@ -1,135 +0,0 @@ -glabel func_80047068 -/* 047C68 80047068 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 047C6C 8004706C AFB00018 */ sw $s0, 0x18($sp) -/* 047C70 80047070 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 047C74 80047074 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 047C78 80047078 8E020000 */ lw $v0, ($s0) -/* 047C7C 8004707C AFB5002C */ sw $s5, 0x2c($sp) -/* 047C80 80047080 8FB50058 */ lw $s5, 0x58($sp) -/* 047C84 80047084 244E0008 */ addiu $t6, $v0, 8 -/* 047C88 80047088 AFBF003C */ sw $ra, 0x3c($sp) -/* 047C8C 8004708C AFBE0038 */ sw $fp, 0x38($sp) -/* 047C90 80047090 AFB70034 */ sw $s7, 0x34($sp) -/* 047C94 80047094 AFB60030 */ sw $s6, 0x30($sp) -/* 047C98 80047098 AFB40028 */ sw $s4, 0x28($sp) -/* 047C9C 8004709C AFB30024 */ sw $s3, 0x24($sp) -/* 047CA0 800470A0 AFB20020 */ sw $s2, 0x20($sp) -/* 047CA4 800470A4 AFB1001C */ sw $s1, 0x1c($sp) -/* 047CA8 800470A8 AFA60048 */ sw $a2, 0x48($sp) -/* 047CAC 800470AC AFA7004C */ sw $a3, 0x4c($sp) -/* 047CB0 800470B0 AE0E0000 */ sw $t6, ($s0) -/* 047CB4 800470B4 3C0FFD10 */ lui $t7, 0xfd10 -/* 047CB8 800470B8 AC4F0000 */ sw $t7, ($v0) -/* 047CBC 800470BC AC440004 */ sw $a0, 4($v0) -/* 047CC0 800470C0 00401825 */ move $v1, $v0 -/* 047CC4 800470C4 8E020000 */ lw $v0, ($s0) -/* 047CC8 800470C8 3C19E800 */ lui $t9, 0xe800 -/* 047CCC 800470CC 3C0DF500 */ lui $t5, (0xF5000100 >> 16) # lui $t5, 0xf500 -/* 047CD0 800470D0 24580008 */ addiu $t8, $v0, 8 -/* 047CD4 800470D4 AE180000 */ sw $t8, ($s0) -/* 047CD8 800470D8 AC400004 */ sw $zero, 4($v0) -/* 047CDC 800470DC AC590000 */ sw $t9, ($v0) -/* 047CE0 800470E0 00403825 */ move $a3, $v0 -/* 047CE4 800470E4 8E020000 */ lw $v0, ($s0) -/* 047CE8 800470E8 35AD0100 */ ori $t5, (0xF5000100 & 0xFFFF) # ori $t5, $t5, 0x100 -/* 047CEC 800470EC 3C0E0700 */ lui $t6, 0x700 -/* 047CF0 800470F0 244C0008 */ addiu $t4, $v0, 8 -/* 047CF4 800470F4 AE0C0000 */ sw $t4, ($s0) -/* 047CF8 800470F8 AC4E0004 */ sw $t6, 4($v0) -/* 047CFC 800470FC AC4D0000 */ sw $t5, ($v0) -/* 047D00 80047100 00404025 */ move $t0, $v0 -/* 047D04 80047104 8E020000 */ lw $v0, ($s0) -/* 047D08 80047108 3C18E600 */ lui $t8, 0xe600 -/* 047D0C 8004710C 3C0D073F */ lui $t5, (0x073FC000 >> 16) # lui $t5, 0x73f -/* 047D10 80047110 244F0008 */ addiu $t7, $v0, 8 -/* 047D14 80047114 AE0F0000 */ sw $t7, ($s0) -/* 047D18 80047118 AC400004 */ sw $zero, 4($v0) -/* 047D1C 8004711C AC580000 */ sw $t8, ($v0) -/* 047D20 80047120 00404825 */ move $t1, $v0 -/* 047D24 80047124 8E020000 */ lw $v0, ($s0) -/* 047D28 80047128 35ADC000 */ ori $t5, (0x073FC000 & 0xFFFF) # ori $t5, $t5, 0xc000 -/* 047D2C 8004712C 3C0CF000 */ lui $t4, 0xf000 -/* 047D30 80047130 24590008 */ addiu $t9, $v0, 8 -/* 047D34 80047134 AE190000 */ sw $t9, ($s0) -/* 047D38 80047138 AC4D0004 */ sw $t5, 4($v0) -/* 047D3C 8004713C AC4C0000 */ sw $t4, ($v0) -/* 047D40 80047140 00405025 */ move $t2, $v0 -/* 047D44 80047144 8E020000 */ lw $v0, ($s0) -/* 047D48 80047148 3C0FE700 */ lui $t7, 0xe700 -/* 047D4C 8004714C 00008825 */ move $s1, $zero -/* 047D50 80047150 244E0008 */ addiu $t6, $v0, 8 -/* 047D54 80047154 AE0E0000 */ sw $t6, ($s0) -/* 047D58 80047158 AC400004 */ sw $zero, 4($v0) -/* 047D5C 8004715C AC4F0000 */ sw $t7, ($v0) -/* 047D60 80047160 8FB80050 */ lw $t8, 0x50($sp) -/* 047D64 80047164 00A09025 */ move $s2, $a1 -/* 047D68 80047168 00009825 */ move $s3, $zero -/* 047D6C 8004716C 0315001A */ div $zero, $t8, $s5 -/* 047D70 80047170 0000A012 */ mflo $s4 -/* 047D74 80047174 00405825 */ move $t3, $v0 -/* 047D78 80047178 16A00002 */ bnez $s5, .L80047184 -/* 047D7C 8004717C 00000000 */ nop -/* 047D80 80047180 0007000D */ break 7 -.L80047184: -/* 047D84 80047184 2401FFFF */ li $at, -1 -/* 047D88 80047188 16A10004 */ bne $s5, $at, .L8004719C -/* 047D8C 8004718C 3C018000 */ lui $at, 0x8000 -/* 047D90 80047190 17010002 */ bne $t8, $at, .L8004719C -/* 047D94 80047194 00000000 */ nop -/* 047D98 80047198 0006000D */ break 6 -.L8004719C: -/* 047D9C 8004719C 5A800021 */ blezl $s4, .L80047224 -/* 047DA0 800471A0 8E020000 */ lw $v0, ($s0) -/* 047DA4 800471A4 8FBE0054 */ lw $fp, 0x54($sp) -/* 047DA8 800471A8 3C160D00 */ lui $s6, %hi(D_0D006940) # $s6, 0xd00 -/* 047DAC 800471AC 26D66940 */ addiu $s6, %lo(D_0D006940) # addiu $s6, $s6, 0x6940 -/* 047DB0 800471B0 03D50019 */ multu $fp, $s5 -/* 047DB4 800471B4 0000B812 */ mflo $s7 -/* 047DB8 800471B8 00000000 */ nop -/* 047DBC 800471BC 00000000 */ nop -.L800471C0: -/* 047DC0 800471C0 02402025 */ move $a0, $s2 -/* 047DC4 800471C4 03C02825 */ move $a1, $fp -/* 047DC8 800471C8 0C0114A9 */ jal func_800452A4 -/* 047DCC 800471CC 02A03025 */ move $a2, $s5 -/* 047DD0 800471D0 8E020000 */ lw $v0, ($s0) -/* 047DD4 800471D4 3C0C0400 */ lui $t4, (0x0400103F >> 16) # lui $t4, 0x400 -/* 047DD8 800471D8 358C103F */ ori $t4, (0x0400103F & 0xFFFF) # ori $t4, $t4, 0x103f -/* 047DDC 800471DC 24590008 */ addiu $t9, $v0, 8 -/* 047DE0 800471E0 AE190000 */ sw $t9, ($s0) -/* 047DE4 800471E4 AC4C0000 */ sw $t4, ($v0) -/* 047DE8 800471E8 8FAE0048 */ lw $t6, 0x48($sp) -/* 047DEC 800471EC 00116900 */ sll $t5, $s1, 4 -/* 047DF0 800471F0 26730001 */ addiu $s3, $s3, 1 -/* 047DF4 800471F4 01AE7821 */ addu $t7, $t5, $t6 -/* 047DF8 800471F8 AC4F0004 */ sw $t7, 4($v0) -/* 047DFC 800471FC 8E020000 */ lw $v0, ($s0) -/* 047E00 80047200 3C190600 */ lui $t9, 0x600 -/* 047E04 80047204 02579021 */ addu $s2, $s2, $s7 -/* 047E08 80047208 24580008 */ addiu $t8, $v0, 8 -/* 047E0C 8004720C AE180000 */ sw $t8, ($s0) -/* 047E10 80047210 26310004 */ addiu $s1, $s1, 4 -/* 047E14 80047214 AC560004 */ sw $s6, 4($v0) -/* 047E18 80047218 1674FFE9 */ bne $s3, $s4, .L800471C0 -/* 047E1C 8004721C AC590000 */ sw $t9, ($v0) -/* 047E20 80047220 8E020000 */ lw $v0, ($s0) -.L80047224: -/* 047E24 80047224 3C0E0001 */ lui $t6, (0x00010001 >> 16) # lui $t6, 1 -/* 047E28 80047228 35CE0001 */ ori $t6, (0x00010001 & 0xFFFF) # ori $t6, $t6, 1 -/* 047E2C 8004722C 244C0008 */ addiu $t4, $v0, 8 -/* 047E30 80047230 AE0C0000 */ sw $t4, ($s0) -/* 047E34 80047234 3C0DBB00 */ lui $t5, 0xbb00 -/* 047E38 80047238 AC4D0000 */ sw $t5, ($v0) -/* 047E3C 8004723C AC4E0004 */ sw $t6, 4($v0) -/* 047E40 80047240 8FBF003C */ lw $ra, 0x3c($sp) -/* 047E44 80047244 8FBE0038 */ lw $fp, 0x38($sp) -/* 047E48 80047248 8FB70034 */ lw $s7, 0x34($sp) -/* 047E4C 8004724C 8FB60030 */ lw $s6, 0x30($sp) -/* 047E50 80047250 8FB5002C */ lw $s5, 0x2c($sp) -/* 047E54 80047254 8FB40028 */ lw $s4, 0x28($sp) -/* 047E58 80047258 8FB30024 */ lw $s3, 0x24($sp) -/* 047E5C 8004725C 8FB20020 */ lw $s2, 0x20($sp) -/* 047E60 80047260 8FB1001C */ lw $s1, 0x1c($sp) -/* 047E64 80047264 8FB00018 */ lw $s0, 0x18($sp) -/* 047E68 80047268 03E00008 */ jr $ra -/* 047E6C 8004726C 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/code_800431B0/func_80047270.s b/asm/non_matchings/code_800431B0/func_80047270.s deleted file mode 100644 index 36776616d..000000000 --- a/asm/non_matchings/code_800431B0/func_80047270.s +++ /dev/null @@ -1,136 +0,0 @@ -glabel func_80047270 -/* 047E70 80047270 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 047E74 80047274 AFB00018 */ sw $s0, 0x18($sp) -/* 047E78 80047278 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 047E7C 8004727C 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 047E80 80047280 8E020000 */ lw $v0, ($s0) -/* 047E84 80047284 AFB5002C */ sw $s5, 0x2c($sp) -/* 047E88 80047288 8FB50058 */ lw $s5, 0x58($sp) -/* 047E8C 8004728C 244E0008 */ addiu $t6, $v0, 8 -/* 047E90 80047290 AFBF003C */ sw $ra, 0x3c($sp) -/* 047E94 80047294 AFBE0038 */ sw $fp, 0x38($sp) -/* 047E98 80047298 AFB70034 */ sw $s7, 0x34($sp) -/* 047E9C 8004729C AFB60030 */ sw $s6, 0x30($sp) -/* 047EA0 800472A0 AFB40028 */ sw $s4, 0x28($sp) -/* 047EA4 800472A4 AFB30024 */ sw $s3, 0x24($sp) -/* 047EA8 800472A8 AFB20020 */ sw $s2, 0x20($sp) -/* 047EAC 800472AC AFB1001C */ sw $s1, 0x1c($sp) -/* 047EB0 800472B0 AFA60048 */ sw $a2, 0x48($sp) -/* 047EB4 800472B4 AFA7004C */ sw $a3, 0x4c($sp) -/* 047EB8 800472B8 AE0E0000 */ sw $t6, ($s0) -/* 047EBC 800472BC 3C0FFD10 */ lui $t7, 0xfd10 -/* 047EC0 800472C0 AC4F0000 */ sw $t7, ($v0) -/* 047EC4 800472C4 AC440004 */ sw $a0, 4($v0) -/* 047EC8 800472C8 00401825 */ move $v1, $v0 -/* 047ECC 800472CC 8E020000 */ lw $v0, ($s0) -/* 047ED0 800472D0 3C19E800 */ lui $t9, 0xe800 -/* 047ED4 800472D4 3C0DF500 */ lui $t5, (0xF5000100 >> 16) # lui $t5, 0xf500 -/* 047ED8 800472D8 24580008 */ addiu $t8, $v0, 8 -/* 047EDC 800472DC AE180000 */ sw $t8, ($s0) -/* 047EE0 800472E0 AC400004 */ sw $zero, 4($v0) -/* 047EE4 800472E4 AC590000 */ sw $t9, ($v0) -/* 047EE8 800472E8 00403825 */ move $a3, $v0 -/* 047EEC 800472EC 8E020000 */ lw $v0, ($s0) -/* 047EF0 800472F0 35AD0100 */ ori $t5, (0xF5000100 & 0xFFFF) # ori $t5, $t5, 0x100 -/* 047EF4 800472F4 3C0E0700 */ lui $t6, 0x700 -/* 047EF8 800472F8 244C0008 */ addiu $t4, $v0, 8 -/* 047EFC 800472FC AE0C0000 */ sw $t4, ($s0) -/* 047F00 80047300 AC4E0004 */ sw $t6, 4($v0) -/* 047F04 80047304 AC4D0000 */ sw $t5, ($v0) -/* 047F08 80047308 00404025 */ move $t0, $v0 -/* 047F0C 8004730C 8E020000 */ lw $v0, ($s0) -/* 047F10 80047310 3C18E600 */ lui $t8, 0xe600 -/* 047F14 80047314 3C0D073F */ lui $t5, (0x073FC000 >> 16) # lui $t5, 0x73f -/* 047F18 80047318 244F0008 */ addiu $t7, $v0, 8 -/* 047F1C 8004731C AE0F0000 */ sw $t7, ($s0) -/* 047F20 80047320 AC400004 */ sw $zero, 4($v0) -/* 047F24 80047324 AC580000 */ sw $t8, ($v0) -/* 047F28 80047328 00404825 */ move $t1, $v0 -/* 047F2C 8004732C 8E020000 */ lw $v0, ($s0) -/* 047F30 80047330 35ADC000 */ ori $t5, (0x073FC000 & 0xFFFF) # ori $t5, $t5, 0xc000 -/* 047F34 80047334 3C0CF000 */ lui $t4, 0xf000 -/* 047F38 80047338 24590008 */ addiu $t9, $v0, 8 -/* 047F3C 8004733C AE190000 */ sw $t9, ($s0) -/* 047F40 80047340 AC4D0004 */ sw $t5, 4($v0) -/* 047F44 80047344 AC4C0000 */ sw $t4, ($v0) -/* 047F48 80047348 00405025 */ move $t2, $v0 -/* 047F4C 8004734C 8E020000 */ lw $v0, ($s0) -/* 047F50 80047350 3C0FE700 */ lui $t7, 0xe700 -/* 047F54 80047354 00008825 */ move $s1, $zero -/* 047F58 80047358 244E0008 */ addiu $t6, $v0, 8 -/* 047F5C 8004735C AE0E0000 */ sw $t6, ($s0) -/* 047F60 80047360 AC400004 */ sw $zero, 4($v0) -/* 047F64 80047364 AC4F0000 */ sw $t7, ($v0) -/* 047F68 80047368 8FB80050 */ lw $t8, 0x50($sp) -/* 047F6C 8004736C 00A09025 */ move $s2, $a1 -/* 047F70 80047370 00009825 */ move $s3, $zero -/* 047F74 80047374 0315001A */ div $zero, $t8, $s5 -/* 047F78 80047378 0000A012 */ mflo $s4 -/* 047F7C 8004737C 00405825 */ move $t3, $v0 -/* 047F80 80047380 16A00002 */ bnez $s5, .L8004738C -/* 047F84 80047384 00000000 */ nop -/* 047F88 80047388 0007000D */ break 7 -.L8004738C: -/* 047F8C 8004738C 2401FFFF */ li $at, -1 -/* 047F90 80047390 16A10004 */ bne $s5, $at, .L800473A4 -/* 047F94 80047394 3C018000 */ lui $at, 0x8000 -/* 047F98 80047398 17010002 */ bne $t8, $at, .L800473A4 -/* 047F9C 8004739C 00000000 */ nop -/* 047FA0 800473A0 0006000D */ break 6 -.L800473A4: -/* 047FA4 800473A4 5A800022 */ blezl $s4, .L80047430 -/* 047FA8 800473A8 8E020000 */ lw $v0, ($s0) -/* 047FAC 800473AC 8FBE0054 */ lw $fp, 0x54($sp) -/* 047FB0 800473B0 26B9FFFF */ addiu $t9, $s5, -1 -/* 047FB4 800473B4 3C160D00 */ lui $s6, %hi(D_0D006940) # $s6, 0xd00 -/* 047FB8 800473B8 03D90019 */ multu $fp, $t9 -/* 047FBC 800473BC 26D66940 */ addiu $s6, %lo(D_0D006940) # addiu $s6, $s6, 0x6940 -/* 047FC0 800473C0 0000B812 */ mflo $s7 -/* 047FC4 800473C4 00000000 */ nop -/* 047FC8 800473C8 00000000 */ nop -.L800473CC: -/* 047FCC 800473CC 02402025 */ move $a0, $s2 -/* 047FD0 800473D0 03C02825 */ move $a1, $fp -/* 047FD4 800473D4 0C0114A9 */ jal func_800452A4 -/* 047FD8 800473D8 02A03025 */ move $a2, $s5 -/* 047FDC 800473DC 8E020000 */ lw $v0, ($s0) -/* 047FE0 800473E0 3C0D0400 */ lui $t5, (0x0400103F >> 16) # lui $t5, 0x400 -/* 047FE4 800473E4 35AD103F */ ori $t5, (0x0400103F & 0xFFFF) # ori $t5, $t5, 0x103f -/* 047FE8 800473E8 244C0008 */ addiu $t4, $v0, 8 -/* 047FEC 800473EC AE0C0000 */ sw $t4, ($s0) -/* 047FF0 800473F0 AC4D0000 */ sw $t5, ($v0) -/* 047FF4 800473F4 8FAF0048 */ lw $t7, 0x48($sp) -/* 047FF8 800473F8 00117100 */ sll $t6, $s1, 4 -/* 047FFC 800473FC 26730001 */ addiu $s3, $s3, 1 -/* 048000 80047400 01CFC021 */ addu $t8, $t6, $t7 -/* 048004 80047404 AC580004 */ sw $t8, 4($v0) -/* 048008 80047408 8E020000 */ lw $v0, ($s0) -/* 04800C 8004740C 3C0C0600 */ lui $t4, 0x600 -/* 048010 80047410 02579021 */ addu $s2, $s2, $s7 -/* 048014 80047414 24590008 */ addiu $t9, $v0, 8 -/* 048018 80047418 AE190000 */ sw $t9, ($s0) -/* 04801C 8004741C 26310004 */ addiu $s1, $s1, 4 -/* 048020 80047420 AC560004 */ sw $s6, 4($v0) -/* 048024 80047424 1674FFE9 */ bne $s3, $s4, .L800473CC -/* 048028 80047428 AC4C0000 */ sw $t4, ($v0) -/* 04802C 8004742C 8E020000 */ lw $v0, ($s0) -.L80047430: -/* 048030 80047430 3C0F0001 */ lui $t7, (0x00010001 >> 16) # lui $t7, 1 -/* 048034 80047434 35EF0001 */ ori $t7, (0x00010001 & 0xFFFF) # ori $t7, $t7, 1 -/* 048038 80047438 244D0008 */ addiu $t5, $v0, 8 -/* 04803C 8004743C AE0D0000 */ sw $t5, ($s0) -/* 048040 80047440 3C0EBB00 */ lui $t6, 0xbb00 -/* 048044 80047444 AC4E0000 */ sw $t6, ($v0) -/* 048048 80047448 AC4F0004 */ sw $t7, 4($v0) -/* 04804C 8004744C 8FBF003C */ lw $ra, 0x3c($sp) -/* 048050 80047450 8FBE0038 */ lw $fp, 0x38($sp) -/* 048054 80047454 8FB70034 */ lw $s7, 0x34($sp) -/* 048058 80047458 8FB60030 */ lw $s6, 0x30($sp) -/* 04805C 8004745C 8FB5002C */ lw $s5, 0x2c($sp) -/* 048060 80047460 8FB40028 */ lw $s4, 0x28($sp) -/* 048064 80047464 8FB30024 */ lw $s3, 0x24($sp) -/* 048068 80047468 8FB20020 */ lw $s2, 0x20($sp) -/* 04806C 8004746C 8FB1001C */ lw $s1, 0x1c($sp) -/* 048070 80047470 8FB00018 */ lw $s0, 0x18($sp) -/* 048074 80047474 03E00008 */ jr $ra -/* 048078 80047478 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/code_800431B0/func_8004747C.s b/asm/non_matchings/code_800431B0/func_8004747C.s deleted file mode 100644 index 17fd6b768..000000000 --- a/asm/non_matchings/code_800431B0/func_8004747C.s +++ /dev/null @@ -1,137 +0,0 @@ -glabel func_8004747C -/* 04807C 8004747C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 048080 80047480 AFB00018 */ sw $s0, 0x18($sp) -/* 048084 80047484 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 048088 80047488 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 04808C 8004748C 8E020000 */ lw $v0, ($s0) -/* 048090 80047490 AFB5002C */ sw $s5, 0x2c($sp) -/* 048094 80047494 8FB50058 */ lw $s5, 0x58($sp) -/* 048098 80047498 244E0008 */ addiu $t6, $v0, 8 -/* 04809C 8004749C AFBF003C */ sw $ra, 0x3c($sp) -/* 0480A0 800474A0 AFBE0038 */ sw $fp, 0x38($sp) -/* 0480A4 800474A4 AFB70034 */ sw $s7, 0x34($sp) -/* 0480A8 800474A8 AFB60030 */ sw $s6, 0x30($sp) -/* 0480AC 800474AC AFB40028 */ sw $s4, 0x28($sp) -/* 0480B0 800474B0 AFB30024 */ sw $s3, 0x24($sp) -/* 0480B4 800474B4 AFB20020 */ sw $s2, 0x20($sp) -/* 0480B8 800474B8 AFB1001C */ sw $s1, 0x1c($sp) -/* 0480BC 800474BC AFA60048 */ sw $a2, 0x48($sp) -/* 0480C0 800474C0 AFA7004C */ sw $a3, 0x4c($sp) -/* 0480C4 800474C4 AE0E0000 */ sw $t6, ($s0) -/* 0480C8 800474C8 3C0FFD10 */ lui $t7, 0xfd10 -/* 0480CC 800474CC AC4F0000 */ sw $t7, ($v0) -/* 0480D0 800474D0 AC440004 */ sw $a0, 4($v0) -/* 0480D4 800474D4 00401825 */ move $v1, $v0 -/* 0480D8 800474D8 8E020000 */ lw $v0, ($s0) -/* 0480DC 800474DC 3C19E800 */ lui $t9, 0xe800 -/* 0480E0 800474E0 3C0DF500 */ lui $t5, (0xF5000100 >> 16) # lui $t5, 0xf500 -/* 0480E4 800474E4 24580008 */ addiu $t8, $v0, 8 -/* 0480E8 800474E8 AE180000 */ sw $t8, ($s0) -/* 0480EC 800474EC AC400004 */ sw $zero, 4($v0) -/* 0480F0 800474F0 AC590000 */ sw $t9, ($v0) -/* 0480F4 800474F4 00403825 */ move $a3, $v0 -/* 0480F8 800474F8 8E020000 */ lw $v0, ($s0) -/* 0480FC 800474FC 35AD0100 */ ori $t5, (0xF5000100 & 0xFFFF) # ori $t5, $t5, 0x100 -/* 048100 80047500 3C0E0700 */ lui $t6, 0x700 -/* 048104 80047504 244C0008 */ addiu $t4, $v0, 8 -/* 048108 80047508 AE0C0000 */ sw $t4, ($s0) -/* 04810C 8004750C AC4E0004 */ sw $t6, 4($v0) -/* 048110 80047510 AC4D0000 */ sw $t5, ($v0) -/* 048114 80047514 00404025 */ move $t0, $v0 -/* 048118 80047518 8E020000 */ lw $v0, ($s0) -/* 04811C 8004751C 3C18E600 */ lui $t8, 0xe600 -/* 048120 80047520 3C0D073F */ lui $t5, (0x073FC000 >> 16) # lui $t5, 0x73f -/* 048124 80047524 244F0008 */ addiu $t7, $v0, 8 -/* 048128 80047528 AE0F0000 */ sw $t7, ($s0) -/* 04812C 8004752C AC400004 */ sw $zero, 4($v0) -/* 048130 80047530 AC580000 */ sw $t8, ($v0) -/* 048134 80047534 00404825 */ move $t1, $v0 -/* 048138 80047538 8E020000 */ lw $v0, ($s0) -/* 04813C 8004753C 35ADC000 */ ori $t5, (0x073FC000 & 0xFFFF) # ori $t5, $t5, 0xc000 -/* 048140 80047540 3C0CF000 */ lui $t4, 0xf000 -/* 048144 80047544 24590008 */ addiu $t9, $v0, 8 -/* 048148 80047548 AE190000 */ sw $t9, ($s0) -/* 04814C 8004754C AC4D0004 */ sw $t5, 4($v0) -/* 048150 80047550 AC4C0000 */ sw $t4, ($v0) -/* 048154 80047554 00405025 */ move $t2, $v0 -/* 048158 80047558 8E020000 */ lw $v0, ($s0) -/* 04815C 8004755C 3C0FE700 */ lui $t7, 0xe700 -/* 048160 80047560 00008825 */ move $s1, $zero -/* 048164 80047564 244E0008 */ addiu $t6, $v0, 8 -/* 048168 80047568 AE0E0000 */ sw $t6, ($s0) -/* 04816C 8004756C AC400004 */ sw $zero, 4($v0) -/* 048170 80047570 AC4F0000 */ sw $t7, ($v0) -/* 048174 80047574 8FB80050 */ lw $t8, 0x50($sp) -/* 048178 80047578 00A09025 */ move $s2, $a1 -/* 04817C 8004757C 00009825 */ move $s3, $zero -/* 048180 80047580 0315001A */ div $zero, $t8, $s5 -/* 048184 80047584 0000A012 */ mflo $s4 -/* 048188 80047588 00405825 */ move $t3, $v0 -/* 04818C 8004758C 16A00002 */ bnez $s5, .L80047598 -/* 048190 80047590 00000000 */ nop -/* 048194 80047594 0007000D */ break 7 -.L80047598: -/* 048198 80047598 2401FFFF */ li $at, -1 -/* 04819C 8004759C 16A10004 */ bne $s5, $at, .L800475B0 -/* 0481A0 800475A0 3C018000 */ lui $at, 0x8000 -/* 0481A4 800475A4 17010002 */ bne $t8, $at, .L800475B0 -/* 0481A8 800475A8 00000000 */ nop -/* 0481AC 800475AC 0006000D */ break 6 -.L800475B0: -/* 0481B0 800475B0 5A800023 */ blezl $s4, .L80047640 -/* 0481B4 800475B4 8E020000 */ lw $v0, ($s0) -/* 0481B8 800475B8 8FBE0054 */ lw $fp, 0x54($sp) -/* 0481BC 800475BC 26B9FFFF */ addiu $t9, $s5, -1 -/* 0481C0 800475C0 3C160D00 */ lui $s6, %hi(D_0D006940) # $s6, 0xd00 -/* 0481C4 800475C4 03D90019 */ multu $fp, $t9 -/* 0481C8 800475C8 26D66940 */ addiu $s6, %lo(D_0D006940) # addiu $s6, $s6, 0x6940 -/* 0481CC 800475CC 0000B812 */ mflo $s7 -/* 0481D0 800475D0 00000000 */ nop -/* 0481D4 800475D4 00000000 */ nop -.L800475D8: -/* 0481D8 800475D8 02402025 */ move $a0, $s2 -/* 0481DC 800475DC 03C02825 */ move $a1, $fp -/* 0481E0 800475E0 02A03025 */ move $a2, $s5 -/* 0481E4 800475E4 0C011513 */ jal func_8004544C -/* 0481E8 800475E8 8FA7005C */ lw $a3, 0x5c($sp) -/* 0481EC 800475EC 8E020000 */ lw $v0, ($s0) -/* 0481F0 800475F0 3C0D0400 */ lui $t5, (0x0400103F >> 16) # lui $t5, 0x400 -/* 0481F4 800475F4 35AD103F */ ori $t5, (0x0400103F & 0xFFFF) # ori $t5, $t5, 0x103f -/* 0481F8 800475F8 244C0008 */ addiu $t4, $v0, 8 -/* 0481FC 800475FC AE0C0000 */ sw $t4, ($s0) -/* 048200 80047600 AC4D0000 */ sw $t5, ($v0) -/* 048204 80047604 8FAF0048 */ lw $t7, 0x48($sp) -/* 048208 80047608 00117100 */ sll $t6, $s1, 4 -/* 04820C 8004760C 26730001 */ addiu $s3, $s3, 1 -/* 048210 80047610 01CFC021 */ addu $t8, $t6, $t7 -/* 048214 80047614 AC580004 */ sw $t8, 4($v0) -/* 048218 80047618 8E020000 */ lw $v0, ($s0) -/* 04821C 8004761C 3C0C0600 */ lui $t4, 0x600 -/* 048220 80047620 02579021 */ addu $s2, $s2, $s7 -/* 048224 80047624 24590008 */ addiu $t9, $v0, 8 -/* 048228 80047628 AE190000 */ sw $t9, ($s0) -/* 04822C 8004762C 26310004 */ addiu $s1, $s1, 4 -/* 048230 80047630 AC560004 */ sw $s6, 4($v0) -/* 048234 80047634 1674FFE8 */ bne $s3, $s4, .L800475D8 -/* 048238 80047638 AC4C0000 */ sw $t4, ($v0) -/* 04823C 8004763C 8E020000 */ lw $v0, ($s0) -.L80047640: -/* 048240 80047640 3C0F0001 */ lui $t7, (0x00010001 >> 16) # lui $t7, 1 -/* 048244 80047644 35EF0001 */ ori $t7, (0x00010001 & 0xFFFF) # ori $t7, $t7, 1 -/* 048248 80047648 244D0008 */ addiu $t5, $v0, 8 -/* 04824C 8004764C AE0D0000 */ sw $t5, ($s0) -/* 048250 80047650 3C0EBB00 */ lui $t6, 0xbb00 -/* 048254 80047654 AC4E0000 */ sw $t6, ($v0) -/* 048258 80047658 AC4F0004 */ sw $t7, 4($v0) -/* 04825C 8004765C 8FBF003C */ lw $ra, 0x3c($sp) -/* 048260 80047660 8FBE0038 */ lw $fp, 0x38($sp) -/* 048264 80047664 8FB70034 */ lw $s7, 0x34($sp) -/* 048268 80047668 8FB60030 */ lw $s6, 0x30($sp) -/* 04826C 8004766C 8FB5002C */ lw $s5, 0x2c($sp) -/* 048270 80047670 8FB40028 */ lw $s4, 0x28($sp) -/* 048274 80047674 8FB30024 */ lw $s3, 0x24($sp) -/* 048278 80047678 8FB20020 */ lw $s2, 0x20($sp) -/* 04827C 8004767C 8FB1001C */ lw $s1, 0x1c($sp) -/* 048280 80047680 8FB00018 */ lw $s0, 0x18($sp) -/* 048284 80047684 03E00008 */ jr $ra -/* 048288 80047688 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/code_800431B0/func_8004768C.s b/asm/non_matchings/code_800431B0/func_8004768C.s deleted file mode 100644 index bd7f48ed1..000000000 --- a/asm/non_matchings/code_800431B0/func_8004768C.s +++ /dev/null @@ -1,133 +0,0 @@ -glabel func_8004768C -/* 04828C 8004768C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 048290 80047690 AFB5002C */ sw $s5, 0x2c($sp) -/* 048294 80047694 8FB50054 */ lw $s5, 0x54($sp) -/* 048298 80047698 AFB00018 */ sw $s0, 0x18($sp) -/* 04829C 8004769C 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 0482A0 800476A0 00F5001A */ div $zero, $a3, $s5 -/* 0482A4 800476A4 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 0482A8 800476A8 8E020000 */ lw $v0, ($s0) -/* 0482AC 800476AC AFBF003C */ sw $ra, 0x3c($sp) -/* 0482B0 800476B0 AFBE0038 */ sw $fp, 0x38($sp) -/* 0482B4 800476B4 244E0008 */ addiu $t6, $v0, 8 -/* 0482B8 800476B8 AFB70034 */ sw $s7, 0x34($sp) -/* 0482BC 800476BC AFB60030 */ sw $s6, 0x30($sp) -/* 0482C0 800476C0 AFB40028 */ sw $s4, 0x28($sp) -/* 0482C4 800476C4 AFB30024 */ sw $s3, 0x24($sp) -/* 0482C8 800476C8 AFB20020 */ sw $s2, 0x20($sp) -/* 0482CC 800476CC AFB1001C */ sw $s1, 0x1c($sp) -/* 0482D0 800476D0 AFA60048 */ sw $a2, 0x48($sp) -/* 0482D4 800476D4 AE0E0000 */ sw $t6, ($s0) -/* 0482D8 800476D8 3C0FFD10 */ lui $t7, 0xfd10 -/* 0482DC 800476DC AC4F0000 */ sw $t7, ($v0) -/* 0482E0 800476E0 AC440004 */ sw $a0, 4($v0) -/* 0482E4 800476E4 00401825 */ move $v1, $v0 -/* 0482E8 800476E8 8E020000 */ lw $v0, ($s0) -/* 0482EC 800476EC 3C19E800 */ lui $t9, 0xe800 -/* 0482F0 800476F0 3C0EF500 */ lui $t6, (0xF5000100 >> 16) # lui $t6, 0xf500 -/* 0482F4 800476F4 24580008 */ addiu $t8, $v0, 8 -/* 0482F8 800476F8 AE180000 */ sw $t8, ($s0) -/* 0482FC 800476FC AC400004 */ sw $zero, 4($v0) -/* 048300 80047700 AC590000 */ sw $t9, ($v0) -/* 048304 80047704 00404025 */ move $t0, $v0 -/* 048308 80047708 8E020000 */ lw $v0, ($s0) -/* 04830C 8004770C 35CE0100 */ ori $t6, (0xF5000100 & 0xFFFF) # ori $t6, $t6, 0x100 -/* 048310 80047710 3C0F0700 */ lui $t7, 0x700 -/* 048314 80047714 244D0008 */ addiu $t5, $v0, 8 -/* 048318 80047718 AE0D0000 */ sw $t5, ($s0) -/* 04831C 8004771C AC4F0004 */ sw $t7, 4($v0) -/* 048320 80047720 AC4E0000 */ sw $t6, ($v0) -/* 048324 80047724 00404825 */ move $t1, $v0 -/* 048328 80047728 8E020000 */ lw $v0, ($s0) -/* 04832C 8004772C 3C19E600 */ lui $t9, 0xe600 -/* 048330 80047730 3C0F073F */ lui $t7, (0x073FC000 >> 16) # lui $t7, 0x73f -/* 048334 80047734 24580008 */ addiu $t8, $v0, 8 -/* 048338 80047738 AE180000 */ sw $t8, ($s0) -/* 04833C 8004773C AC400004 */ sw $zero, 4($v0) -/* 048340 80047740 AC590000 */ sw $t9, ($v0) -/* 048344 80047744 00405025 */ move $t2, $v0 -/* 048348 80047748 8E020000 */ lw $v0, ($s0) -/* 04834C 8004774C 35EFC000 */ ori $t7, (0x073FC000 & 0xFFFF) # ori $t7, $t7, 0xc000 -/* 048350 80047750 3C0EF000 */ lui $t6, 0xf000 -/* 048354 80047754 244D0008 */ addiu $t5, $v0, 8 -/* 048358 80047758 AE0D0000 */ sw $t5, ($s0) -/* 04835C 8004775C AC4F0004 */ sw $t7, 4($v0) -/* 048360 80047760 AC4E0000 */ sw $t6, ($v0) -/* 048364 80047764 00405825 */ move $t3, $v0 -/* 048368 80047768 8E020000 */ lw $v0, ($s0) -/* 04836C 8004776C 3C19E700 */ lui $t9, 0xe700 -/* 048370 80047770 0000A012 */ mflo $s4 -/* 048374 80047774 24580008 */ addiu $t8, $v0, 8 -/* 048378 80047778 AE180000 */ sw $t8, ($s0) -/* 04837C 8004777C 00008825 */ move $s1, $zero -/* 048380 80047780 00A09025 */ move $s2, $a1 -/* 048384 80047784 00009825 */ move $s3, $zero -/* 048388 80047788 AC400004 */ sw $zero, 4($v0) -/* 04838C 8004778C AC590000 */ sw $t9, ($v0) -/* 048390 80047790 00406025 */ move $t4, $v0 -/* 048394 80047794 16A00002 */ bnez $s5, .L800477A0 -/* 048398 80047798 00000000 */ nop -/* 04839C 8004779C 0007000D */ break 7 -.L800477A0: -/* 0483A0 800477A0 2401FFFF */ li $at, -1 -/* 0483A4 800477A4 16A10004 */ bne $s5, $at, .L800477B8 -/* 0483A8 800477A8 3C018000 */ lui $at, 0x8000 -/* 0483AC 800477AC 14E10002 */ bne $a3, $at, .L800477B8 -/* 0483B0 800477B0 00000000 */ nop -/* 0483B4 800477B4 0006000D */ break 6 -.L800477B8: -/* 0483B8 800477B8 5A800021 */ blezl $s4, .L80047840 -/* 0483BC 800477BC 8E020000 */ lw $v0, ($s0) -/* 0483C0 800477C0 8FBE0050 */ lw $fp, 0x50($sp) -/* 0483C4 800477C4 3C160D00 */ lui $s6, %hi(D_0D006940) # $s6, 0xd00 -/* 0483C8 800477C8 26D66940 */ addiu $s6, %lo(D_0D006940) # addiu $s6, $s6, 0x6940 -/* 0483CC 800477CC 02BE0019 */ multu $s5, $fp -/* 0483D0 800477D0 0000B812 */ mflo $s7 -/* 0483D4 800477D4 00000000 */ nop -/* 0483D8 800477D8 00000000 */ nop -.L800477DC: -/* 0483DC 800477DC 02402025 */ move $a0, $s2 -/* 0483E0 800477E0 02A02825 */ move $a1, $s5 -/* 0483E4 800477E4 0C0114A9 */ jal func_800452A4 -/* 0483E8 800477E8 03C03025 */ move $a2, $fp -/* 0483EC 800477EC 8E020000 */ lw $v0, ($s0) -/* 0483F0 800477F0 3C0E0400 */ lui $t6, (0x0400103F >> 16) # lui $t6, 0x400 -/* 0483F4 800477F4 35CE103F */ ori $t6, (0x0400103F & 0xFFFF) # ori $t6, $t6, 0x103f -/* 0483F8 800477F8 244D0008 */ addiu $t5, $v0, 8 -/* 0483FC 800477FC AE0D0000 */ sw $t5, ($s0) -/* 048400 80047800 AC4E0000 */ sw $t6, ($v0) -/* 048404 80047804 8FB80048 */ lw $t8, 0x48($sp) -/* 048408 80047808 00117900 */ sll $t7, $s1, 4 -/* 04840C 8004780C 26730001 */ addiu $s3, $s3, 1 -/* 048410 80047810 01F8C821 */ addu $t9, $t7, $t8 -/* 048414 80047814 AC590004 */ sw $t9, 4($v0) -/* 048418 80047818 8E020000 */ lw $v0, ($s0) -/* 04841C 8004781C 3C0E0600 */ lui $t6, 0x600 -/* 048420 80047820 02579021 */ addu $s2, $s2, $s7 -/* 048424 80047824 244D0008 */ addiu $t5, $v0, 8 -/* 048428 80047828 AE0D0000 */ sw $t5, ($s0) -/* 04842C 8004782C 26310004 */ addiu $s1, $s1, 4 -/* 048430 80047830 AC560004 */ sw $s6, 4($v0) -/* 048434 80047834 1674FFE9 */ bne $s3, $s4, .L800477DC -/* 048438 80047838 AC4E0000 */ sw $t6, ($v0) -/* 04843C 8004783C 8E020000 */ lw $v0, ($s0) -.L80047840: -/* 048440 80047840 3C190001 */ lui $t9, (0x00010001 >> 16) # lui $t9, 1 -/* 048444 80047844 37390001 */ ori $t9, (0x00010001 & 0xFFFF) # ori $t9, $t9, 1 -/* 048448 80047848 244F0008 */ addiu $t7, $v0, 8 -/* 04844C 8004784C AE0F0000 */ sw $t7, ($s0) -/* 048450 80047850 3C18BB00 */ lui $t8, 0xbb00 -/* 048454 80047854 AC580000 */ sw $t8, ($v0) -/* 048458 80047858 AC590004 */ sw $t9, 4($v0) -/* 04845C 8004785C 8FBF003C */ lw $ra, 0x3c($sp) -/* 048460 80047860 8FBE0038 */ lw $fp, 0x38($sp) -/* 048464 80047864 8FB70034 */ lw $s7, 0x34($sp) -/* 048468 80047868 8FB60030 */ lw $s6, 0x30($sp) -/* 04846C 8004786C 8FB5002C */ lw $s5, 0x2c($sp) -/* 048470 80047870 8FB40028 */ lw $s4, 0x28($sp) -/* 048474 80047874 8FB30024 */ lw $s3, 0x24($sp) -/* 048478 80047878 8FB20020 */ lw $s2, 0x20($sp) -/* 04847C 8004787C 8FB1001C */ lw $s1, 0x1c($sp) -/* 048480 80047880 8FB00018 */ lw $s0, 0x18($sp) -/* 048484 80047884 03E00008 */ jr $ra -/* 048488 80047888 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/code_800431B0/func_80048F8C.s b/asm/non_matchings/code_800431B0/func_80048F8C.s deleted file mode 100644 index 111d20c3f..000000000 --- a/asm/non_matchings/code_800431B0/func_80048F8C.s +++ /dev/null @@ -1,113 +0,0 @@ -glabel func_80048F8C -/* 049B8C 80048F8C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 049B90 80048F90 AFB70034 */ sw $s7, 0x34($sp) -/* 049B94 80048F94 8FB70074 */ lw $s7, 0x74($sp) -/* 049B98 80048F98 AFB30024 */ sw $s3, 0x24($sp) -/* 049B9C 80048F9C AFB20020 */ sw $s2, 0x20($sp) -/* 049BA0 80048FA0 00F7001A */ div $zero, $a3, $s7 -/* 049BA4 80048FA4 00007012 */ mflo $t6 -/* 049BA8 80048FA8 AFBF003C */ sw $ra, 0x3c($sp) -/* 049BAC 80048FAC AFBE0038 */ sw $fp, 0x38($sp) -/* 049BB0 80048FB0 AFB60030 */ sw $s6, 0x30($sp) -/* 049BB4 80048FB4 AFB5002C */ sw $s5, 0x2c($sp) -/* 049BB8 80048FB8 AFB40028 */ sw $s4, 0x28($sp) -/* 049BBC 80048FBC AFB1001C */ sw $s1, 0x1c($sp) -/* 049BC0 80048FC0 AFB00018 */ sw $s0, 0x18($sp) -/* 049BC4 80048FC4 AFA50064 */ sw $a1, 0x64($sp) -/* 049BC8 80048FC8 00009025 */ move $s2, $zero -/* 049BCC 80048FCC 00809825 */ move $s3, $a0 -/* 049BD0 80048FD0 AFAE0040 */ sw $t6, 0x40($sp) -/* 049BD4 80048FD4 01C07825 */ move $t7, $t6 -/* 049BD8 80048FD8 00001025 */ move $v0, $zero -/* 049BDC 80048FDC 16E00002 */ bnez $s7, .L80048FE8 -/* 049BE0 80048FE0 00000000 */ nop -/* 049BE4 80048FE4 0007000D */ break 7 -.L80048FE8: -/* 049BE8 80048FE8 2401FFFF */ li $at, -1 -/* 049BEC 80048FEC 16E10004 */ bne $s7, $at, .L80049000 -/* 049BF0 80048FF0 3C018000 */ lui $at, 0x8000 -/* 049BF4 80048FF4 14E10002 */ bne $a3, $at, .L80049000 -/* 049BF8 80048FF8 00000000 */ nop -/* 049BFC 80048FFC 0006000D */ break 6 -.L80049000: -/* 049C00 80049000 19C00035 */ blez $t6, .L800490D8 -/* 049C04 80049004 00000000 */ nop -/* 049C08 80049008 8FBE0070 */ lw $fp, 0x70($sp) -/* 049C0C 8004900C 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 049C10 80049010 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 049C14 80049014 00DE001A */ div $zero, $a2, $fp -/* 049C18 80049018 0000B012 */ mflo $s6 -/* 049C1C 8004901C 17C00002 */ bnez $fp, .L80049028 -/* 049C20 80049020 00000000 */ nop -/* 049C24 80049024 0007000D */ break 7 -.L80049028: -/* 049C28 80049028 2401FFFF */ li $at, -1 -/* 049C2C 8004902C 17C10004 */ bne $fp, $at, .L80049040 -/* 049C30 80049030 3C018000 */ lui $at, 0x8000 -/* 049C34 80049034 14C10002 */ bne $a2, $at, .L80049040 -/* 049C38 80049038 00000000 */ nop -/* 049C3C 8004903C 0006000D */ break 6 -.L80049040: -/* 049C40 80049040 1AC00021 */ blez $s6, .L800490C8 -/* 049C44 80049044 00008025 */ move $s0, $zero -/* 049C48 80049048 03D70019 */ multu $fp, $s7 -/* 049C4C 8004904C 3C140D00 */ lui $s4, %hi(D_0D006940) # $s4, 0xd00 -/* 049C50 80049050 26946940 */ addiu $s4, %lo(D_0D006940) # addiu $s4, $s4, 0x6940 -/* 049C54 80049054 AFA2005C */ sw $v0, 0x5c($sp) -/* 049C58 80049058 0000A812 */ mflo $s5 -/* 049C5C 8004905C 0015C040 */ sll $t8, $s5, 1 -/* 049C60 80049060 0300A825 */ move $s5, $t8 -.L80049064: -/* 049C64 80049064 02602025 */ move $a0, $s3 -/* 049C68 80049068 03C02825 */ move $a1, $fp -/* 049C6C 8004906C 0C011078 */ jal func_800441E0 -/* 049C70 80049070 02E03025 */ move $a2, $s7 -/* 049C74 80049074 8E220000 */ lw $v0, ($s1) -/* 049C78 80049078 3C080400 */ lui $t0, (0x0400103F >> 16) # lui $t0, 0x400 -/* 049C7C 8004907C 3508103F */ ori $t0, (0x0400103F & 0xFFFF) # ori $t0, $t0, 0x103f -/* 049C80 80049080 24590008 */ addiu $t9, $v0, 8 -/* 049C84 80049084 AE390000 */ sw $t9, ($s1) -/* 049C88 80049088 AC480000 */ sw $t0, ($v0) -/* 049C8C 8004908C 8FAA0064 */ lw $t2, 0x64($sp) -/* 049C90 80049090 00124900 */ sll $t1, $s2, 4 -/* 049C94 80049094 26100001 */ addiu $s0, $s0, 1 -/* 049C98 80049098 012A5821 */ addu $t3, $t1, $t2 -/* 049C9C 8004909C AC4B0004 */ sw $t3, 4($v0) -/* 049CA0 800490A0 8E220000 */ lw $v0, ($s1) -/* 049CA4 800490A4 3C0D0600 */ lui $t5, 0x600 -/* 049CA8 800490A8 02759821 */ addu $s3, $s3, $s5 -/* 049CAC 800490AC 244C0008 */ addiu $t4, $v0, 8 -/* 049CB0 800490B0 AE2C0000 */ sw $t4, ($s1) -/* 049CB4 800490B4 26520004 */ addiu $s2, $s2, 4 -/* 049CB8 800490B8 AC540004 */ sw $s4, 4($v0) -/* 049CBC 800490BC 1616FFE9 */ bne $s0, $s6, .L80049064 -/* 049CC0 800490C0 AC4D0000 */ sw $t5, ($v0) -/* 049CC4 800490C4 8FA2005C */ lw $v0, 0x5c($sp) -.L800490C8: -/* 049CC8 800490C8 8FAE0040 */ lw $t6, 0x40($sp) -/* 049CCC 800490CC 24420001 */ addiu $v0, $v0, 1 -/* 049CD0 800490D0 144EFFDB */ bne $v0, $t6, .L80049040 -/* 049CD4 800490D4 00000000 */ nop -.L800490D8: -/* 049CD8 800490D8 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 049CDC 800490DC 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 049CE0 800490E0 8E220000 */ lw $v0, ($s1) -/* 049CE4 800490E4 3C190001 */ lui $t9, (0x00010001 >> 16) # lui $t9, 1 -/* 049CE8 800490E8 37390001 */ ori $t9, (0x00010001 & 0xFFFF) # ori $t9, $t9, 1 -/* 049CEC 800490EC 244F0008 */ addiu $t7, $v0, 8 -/* 049CF0 800490F0 AE2F0000 */ sw $t7, ($s1) -/* 049CF4 800490F4 3C18BB00 */ lui $t8, 0xbb00 -/* 049CF8 800490F8 AC580000 */ sw $t8, ($v0) -/* 049CFC 800490FC AC590004 */ sw $t9, 4($v0) -/* 049D00 80049100 8FBF003C */ lw $ra, 0x3c($sp) -/* 049D04 80049104 8FBE0038 */ lw $fp, 0x38($sp) -/* 049D08 80049108 8FB70034 */ lw $s7, 0x34($sp) -/* 049D0C 8004910C 8FB60030 */ lw $s6, 0x30($sp) -/* 049D10 80049110 8FB5002C */ lw $s5, 0x2c($sp) -/* 049D14 80049114 8FB40028 */ lw $s4, 0x28($sp) -/* 049D18 80049118 8FB30024 */ lw $s3, 0x24($sp) -/* 049D1C 8004911C 8FB20020 */ lw $s2, 0x20($sp) -/* 049D20 80049120 8FB1001C */ lw $s1, 0x1c($sp) -/* 049D24 80049124 8FB00018 */ lw $s0, 0x18($sp) -/* 049D28 80049128 03E00008 */ jr $ra -/* 049D2C 8004912C 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/non_matchings/code_800431B0/func_80049130.s b/asm/non_matchings/code_800431B0/func_80049130.s deleted file mode 100644 index 0943a2f5b..000000000 --- a/asm/non_matchings/code_800431B0/func_80049130.s +++ /dev/null @@ -1,113 +0,0 @@ -glabel func_80049130 -/* 049D30 80049130 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 049D34 80049134 AFB70034 */ sw $s7, 0x34($sp) -/* 049D38 80049138 8FB70074 */ lw $s7, 0x74($sp) -/* 049D3C 8004913C AFB30024 */ sw $s3, 0x24($sp) -/* 049D40 80049140 AFB20020 */ sw $s2, 0x20($sp) -/* 049D44 80049144 00F7001A */ div $zero, $a3, $s7 -/* 049D48 80049148 00007012 */ mflo $t6 -/* 049D4C 8004914C AFBF003C */ sw $ra, 0x3c($sp) -/* 049D50 80049150 AFBE0038 */ sw $fp, 0x38($sp) -/* 049D54 80049154 AFB60030 */ sw $s6, 0x30($sp) -/* 049D58 80049158 AFB5002C */ sw $s5, 0x2c($sp) -/* 049D5C 8004915C AFB40028 */ sw $s4, 0x28($sp) -/* 049D60 80049160 AFB1001C */ sw $s1, 0x1c($sp) -/* 049D64 80049164 AFB00018 */ sw $s0, 0x18($sp) -/* 049D68 80049168 AFA50064 */ sw $a1, 0x64($sp) -/* 049D6C 8004916C 00009025 */ move $s2, $zero -/* 049D70 80049170 00809825 */ move $s3, $a0 -/* 049D74 80049174 AFAE0040 */ sw $t6, 0x40($sp) -/* 049D78 80049178 01C07825 */ move $t7, $t6 -/* 049D7C 8004917C 00001025 */ move $v0, $zero -/* 049D80 80049180 16E00002 */ bnez $s7, .L8004918C -/* 049D84 80049184 00000000 */ nop -/* 049D88 80049188 0007000D */ break 7 -.L8004918C: -/* 049D8C 8004918C 2401FFFF */ li $at, -1 -/* 049D90 80049190 16E10004 */ bne $s7, $at, .L800491A4 -/* 049D94 80049194 3C018000 */ lui $at, 0x8000 -/* 049D98 80049198 14E10002 */ bne $a3, $at, .L800491A4 -/* 049D9C 8004919C 00000000 */ nop -/* 049DA0 800491A0 0006000D */ break 6 -.L800491A4: -/* 049DA4 800491A4 19C00035 */ blez $t6, .L8004927C -/* 049DA8 800491A8 00000000 */ nop -/* 049DAC 800491AC 8FBE0070 */ lw $fp, 0x70($sp) -/* 049DB0 800491B0 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 049DB4 800491B4 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 049DB8 800491B8 00DE001A */ div $zero, $a2, $fp -/* 049DBC 800491BC 0000B012 */ mflo $s6 -/* 049DC0 800491C0 17C00002 */ bnez $fp, .L800491CC -/* 049DC4 800491C4 00000000 */ nop -/* 049DC8 800491C8 0007000D */ break 7 -.L800491CC: -/* 049DCC 800491CC 2401FFFF */ li $at, -1 -/* 049DD0 800491D0 17C10004 */ bne $fp, $at, .L800491E4 -/* 049DD4 800491D4 3C018000 */ lui $at, 0x8000 -/* 049DD8 800491D8 14C10002 */ bne $a2, $at, .L800491E4 -/* 049DDC 800491DC 00000000 */ nop -/* 049DE0 800491E0 0006000D */ break 6 -.L800491E4: -/* 049DE4 800491E4 1AC00021 */ blez $s6, .L8004926C -/* 049DE8 800491E8 00008025 */ move $s0, $zero -/* 049DEC 800491EC 03D70019 */ multu $fp, $s7 -/* 049DF0 800491F0 3C140D00 */ lui $s4, %hi(D_0D006940) # $s4, 0xd00 -/* 049DF4 800491F4 26946940 */ addiu $s4, %lo(D_0D006940) # addiu $s4, $s4, 0x6940 -/* 049DF8 800491F8 AFA2005C */ sw $v0, 0x5c($sp) -/* 049DFC 800491FC 0000A812 */ mflo $s5 -/* 049E00 80049200 0015C040 */ sll $t8, $s5, 1 -/* 049E04 80049204 0300A825 */ move $s5, $t8 -.L80049208: -/* 049E08 80049208 02602025 */ move $a0, $s3 -/* 049E0C 8004920C 03C02825 */ move $a1, $fp -/* 049E10 80049210 0C0110E2 */ jal func_80044388 -/* 049E14 80049214 02E03025 */ move $a2, $s7 -/* 049E18 80049218 8E220000 */ lw $v0, ($s1) -/* 049E1C 8004921C 3C080400 */ lui $t0, (0x0400103F >> 16) # lui $t0, 0x400 -/* 049E20 80049220 3508103F */ ori $t0, (0x0400103F & 0xFFFF) # ori $t0, $t0, 0x103f -/* 049E24 80049224 24590008 */ addiu $t9, $v0, 8 -/* 049E28 80049228 AE390000 */ sw $t9, ($s1) -/* 049E2C 8004922C AC480000 */ sw $t0, ($v0) -/* 049E30 80049230 8FAA0064 */ lw $t2, 0x64($sp) -/* 049E34 80049234 00124900 */ sll $t1, $s2, 4 -/* 049E38 80049238 26100001 */ addiu $s0, $s0, 1 -/* 049E3C 8004923C 012A5821 */ addu $t3, $t1, $t2 -/* 049E40 80049240 AC4B0004 */ sw $t3, 4($v0) -/* 049E44 80049244 8E220000 */ lw $v0, ($s1) -/* 049E48 80049248 3C0D0600 */ lui $t5, 0x600 -/* 049E4C 8004924C 02759821 */ addu $s3, $s3, $s5 -/* 049E50 80049250 244C0008 */ addiu $t4, $v0, 8 -/* 049E54 80049254 AE2C0000 */ sw $t4, ($s1) -/* 049E58 80049258 26520004 */ addiu $s2, $s2, 4 -/* 049E5C 8004925C AC540004 */ sw $s4, 4($v0) -/* 049E60 80049260 1616FFE9 */ bne $s0, $s6, .L80049208 -/* 049E64 80049264 AC4D0000 */ sw $t5, ($v0) -/* 049E68 80049268 8FA2005C */ lw $v0, 0x5c($sp) -.L8004926C: -/* 049E6C 8004926C 8FAE0040 */ lw $t6, 0x40($sp) -/* 049E70 80049270 24420001 */ addiu $v0, $v0, 1 -/* 049E74 80049274 144EFFDB */ bne $v0, $t6, .L800491E4 -/* 049E78 80049278 00000000 */ nop -.L8004927C: -/* 049E7C 8004927C 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 049E80 80049280 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 049E84 80049284 8E220000 */ lw $v0, ($s1) -/* 049E88 80049288 3C190001 */ lui $t9, (0x00010001 >> 16) # lui $t9, 1 -/* 049E8C 8004928C 37390001 */ ori $t9, (0x00010001 & 0xFFFF) # ori $t9, $t9, 1 -/* 049E90 80049290 244F0008 */ addiu $t7, $v0, 8 -/* 049E94 80049294 AE2F0000 */ sw $t7, ($s1) -/* 049E98 80049298 3C18BB00 */ lui $t8, 0xbb00 -/* 049E9C 8004929C AC580000 */ sw $t8, ($v0) -/* 049EA0 800492A0 AC590004 */ sw $t9, 4($v0) -/* 049EA4 800492A4 8FBF003C */ lw $ra, 0x3c($sp) -/* 049EA8 800492A8 8FBE0038 */ lw $fp, 0x38($sp) -/* 049EAC 800492AC 8FB70034 */ lw $s7, 0x34($sp) -/* 049EB0 800492B0 8FB60030 */ lw $s6, 0x30($sp) -/* 049EB4 800492B4 8FB5002C */ lw $s5, 0x2c($sp) -/* 049EB8 800492B8 8FB40028 */ lw $s4, 0x28($sp) -/* 049EBC 800492BC 8FB30024 */ lw $s3, 0x24($sp) -/* 049EC0 800492C0 8FB20020 */ lw $s2, 0x20($sp) -/* 049EC4 800492C4 8FB1001C */ lw $s1, 0x1c($sp) -/* 049EC8 800492C8 8FB00018 */ lw $s0, 0x18($sp) -/* 049ECC 800492CC 03E00008 */ jr $ra -/* 049ED0 800492D0 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/non_matchings/code_800431B0/func_800492D4.s b/asm/non_matchings/code_800431B0/func_800492D4.s deleted file mode 100644 index 9483db8ef..000000000 --- a/asm/non_matchings/code_800431B0/func_800492D4.s +++ /dev/null @@ -1,113 +0,0 @@ -glabel func_800492D4 -/* 049ED4 800492D4 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 049ED8 800492D8 AFB70034 */ sw $s7, 0x34($sp) -/* 049EDC 800492DC 8FB70074 */ lw $s7, 0x74($sp) -/* 049EE0 800492E0 AFB30024 */ sw $s3, 0x24($sp) -/* 049EE4 800492E4 AFB20020 */ sw $s2, 0x20($sp) -/* 049EE8 800492E8 00F7001A */ div $zero, $a3, $s7 -/* 049EEC 800492EC 00007012 */ mflo $t6 -/* 049EF0 800492F0 AFBF003C */ sw $ra, 0x3c($sp) -/* 049EF4 800492F4 AFBE0038 */ sw $fp, 0x38($sp) -/* 049EF8 800492F8 AFB60030 */ sw $s6, 0x30($sp) -/* 049EFC 800492FC AFB5002C */ sw $s5, 0x2c($sp) -/* 049F00 80049300 AFB40028 */ sw $s4, 0x28($sp) -/* 049F04 80049304 AFB1001C */ sw $s1, 0x1c($sp) -/* 049F08 80049308 AFB00018 */ sw $s0, 0x18($sp) -/* 049F0C 8004930C AFA50064 */ sw $a1, 0x64($sp) -/* 049F10 80049310 00009025 */ move $s2, $zero -/* 049F14 80049314 00809825 */ move $s3, $a0 -/* 049F18 80049318 AFAE0040 */ sw $t6, 0x40($sp) -/* 049F1C 8004931C 01C07825 */ move $t7, $t6 -/* 049F20 80049320 00001025 */ move $v0, $zero -/* 049F24 80049324 16E00002 */ bnez $s7, .L80049330 -/* 049F28 80049328 00000000 */ nop -/* 049F2C 8004932C 0007000D */ break 7 -.L80049330: -/* 049F30 80049330 2401FFFF */ li $at, -1 -/* 049F34 80049334 16E10004 */ bne $s7, $at, .L80049348 -/* 049F38 80049338 3C018000 */ lui $at, 0x8000 -/* 049F3C 8004933C 14E10002 */ bne $a3, $at, .L80049348 -/* 049F40 80049340 00000000 */ nop -/* 049F44 80049344 0006000D */ break 6 -.L80049348: -/* 049F48 80049348 19C00035 */ blez $t6, .L80049420 -/* 049F4C 8004934C 00000000 */ nop -/* 049F50 80049350 8FBE0070 */ lw $fp, 0x70($sp) -/* 049F54 80049354 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 049F58 80049358 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 049F5C 8004935C 00DE001A */ div $zero, $a2, $fp -/* 049F60 80049360 0000B012 */ mflo $s6 -/* 049F64 80049364 17C00002 */ bnez $fp, .L80049370 -/* 049F68 80049368 00000000 */ nop -/* 049F6C 8004936C 0007000D */ break 7 -.L80049370: -/* 049F70 80049370 2401FFFF */ li $at, -1 -/* 049F74 80049374 17C10004 */ bne $fp, $at, .L80049388 -/* 049F78 80049378 3C018000 */ lui $at, 0x8000 -/* 049F7C 8004937C 14C10002 */ bne $a2, $at, .L80049388 -/* 049F80 80049380 00000000 */ nop -/* 049F84 80049384 0006000D */ break 6 -.L80049388: -/* 049F88 80049388 1AC00021 */ blez $s6, .L80049410 -/* 049F8C 8004938C 00008025 */ move $s0, $zero -/* 049F90 80049390 03D70019 */ multu $fp, $s7 -/* 049F94 80049394 3C140D00 */ lui $s4, %hi(D_0D006940) # $s4, 0xd00 -/* 049F98 80049398 26946940 */ addiu $s4, %lo(D_0D006940) # addiu $s4, $s4, 0x6940 -/* 049F9C 8004939C AFA2005C */ sw $v0, 0x5c($sp) -/* 049FA0 800493A0 0000A812 */ mflo $s5 -/* 049FA4 800493A4 00000000 */ nop -/* 049FA8 800493A8 00000000 */ nop -.L800493AC: -/* 049FAC 800493AC 02602025 */ move $a0, $s3 -/* 049FB0 800493B0 03C02825 */ move $a1, $fp -/* 049FB4 800493B4 0C01112C */ jal func_800444B0 -/* 049FB8 800493B8 02E03025 */ move $a2, $s7 -/* 049FBC 800493BC 8E220000 */ lw $v0, ($s1) -/* 049FC0 800493C0 3C190400 */ lui $t9, (0x0400103F >> 16) # lui $t9, 0x400 -/* 049FC4 800493C4 3739103F */ ori $t9, (0x0400103F & 0xFFFF) # ori $t9, $t9, 0x103f -/* 049FC8 800493C8 24580008 */ addiu $t8, $v0, 8 -/* 049FCC 800493CC AE380000 */ sw $t8, ($s1) -/* 049FD0 800493D0 AC590000 */ sw $t9, ($v0) -/* 049FD4 800493D4 8FA90064 */ lw $t1, 0x64($sp) -/* 049FD8 800493D8 00124100 */ sll $t0, $s2, 4 -/* 049FDC 800493DC 26100001 */ addiu $s0, $s0, 1 -/* 049FE0 800493E0 01095021 */ addu $t2, $t0, $t1 -/* 049FE4 800493E4 AC4A0004 */ sw $t2, 4($v0) -/* 049FE8 800493E8 8E220000 */ lw $v0, ($s1) -/* 049FEC 800493EC 3C0C0600 */ lui $t4, 0x600 -/* 049FF0 800493F0 02759821 */ addu $s3, $s3, $s5 -/* 049FF4 800493F4 244B0008 */ addiu $t3, $v0, 8 -/* 049FF8 800493F8 AE2B0000 */ sw $t3, ($s1) -/* 049FFC 800493FC 26520004 */ addiu $s2, $s2, 4 -/* 04A000 80049400 AC540004 */ sw $s4, 4($v0) -/* 04A004 80049404 1616FFE9 */ bne $s0, $s6, .L800493AC -/* 04A008 80049408 AC4C0000 */ sw $t4, ($v0) -/* 04A00C 8004940C 8FA2005C */ lw $v0, 0x5c($sp) -.L80049410: -/* 04A010 80049410 8FAD0040 */ lw $t5, 0x40($sp) -/* 04A014 80049414 24420001 */ addiu $v0, $v0, 1 -/* 04A018 80049418 144DFFDB */ bne $v0, $t5, .L80049388 -/* 04A01C 8004941C 00000000 */ nop -.L80049420: -/* 04A020 80049420 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 04A024 80049424 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 04A028 80049428 8E220000 */ lw $v0, ($s1) -/* 04A02C 8004942C 3C180001 */ lui $t8, (0x00010001 >> 16) # lui $t8, 1 -/* 04A030 80049430 37180001 */ ori $t8, (0x00010001 & 0xFFFF) # ori $t8, $t8, 1 -/* 04A034 80049434 244E0008 */ addiu $t6, $v0, 8 -/* 04A038 80049438 AE2E0000 */ sw $t6, ($s1) -/* 04A03C 8004943C 3C0FBB00 */ lui $t7, 0xbb00 -/* 04A040 80049440 AC4F0000 */ sw $t7, ($v0) -/* 04A044 80049444 AC580004 */ sw $t8, 4($v0) -/* 04A048 80049448 8FBF003C */ lw $ra, 0x3c($sp) -/* 04A04C 8004944C 8FBE0038 */ lw $fp, 0x38($sp) -/* 04A050 80049450 8FB70034 */ lw $s7, 0x34($sp) -/* 04A054 80049454 8FB60030 */ lw $s6, 0x30($sp) -/* 04A058 80049458 8FB5002C */ lw $s5, 0x2c($sp) -/* 04A05C 8004945C 8FB40028 */ lw $s4, 0x28($sp) -/* 04A060 80049460 8FB30024 */ lw $s3, 0x24($sp) -/* 04A064 80049464 8FB20020 */ lw $s2, 0x20($sp) -/* 04A068 80049468 8FB1001C */ lw $s1, 0x1c($sp) -/* 04A06C 8004946C 8FB00018 */ lw $s0, 0x18($sp) -/* 04A070 80049470 03E00008 */ jr $ra -/* 04A074 80049474 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/non_matchings/code_800431B0/func_80049478.s b/asm/non_matchings/code_800431B0/func_80049478.s deleted file mode 100644 index 8ca253404..000000000 --- a/asm/non_matchings/code_800431B0/func_80049478.s +++ /dev/null @@ -1,113 +0,0 @@ -glabel func_80049478 -/* 04A078 80049478 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 04A07C 8004947C AFB70034 */ sw $s7, 0x34($sp) -/* 04A080 80049480 8FB70074 */ lw $s7, 0x74($sp) -/* 04A084 80049484 AFB30024 */ sw $s3, 0x24($sp) -/* 04A088 80049488 AFB20020 */ sw $s2, 0x20($sp) -/* 04A08C 8004948C 00F7001A */ div $zero, $a3, $s7 -/* 04A090 80049490 00007012 */ mflo $t6 -/* 04A094 80049494 AFBF003C */ sw $ra, 0x3c($sp) -/* 04A098 80049498 AFBE0038 */ sw $fp, 0x38($sp) -/* 04A09C 8004949C AFB60030 */ sw $s6, 0x30($sp) -/* 04A0A0 800494A0 AFB5002C */ sw $s5, 0x2c($sp) -/* 04A0A4 800494A4 AFB40028 */ sw $s4, 0x28($sp) -/* 04A0A8 800494A8 AFB1001C */ sw $s1, 0x1c($sp) -/* 04A0AC 800494AC AFB00018 */ sw $s0, 0x18($sp) -/* 04A0B0 800494B0 AFA50064 */ sw $a1, 0x64($sp) -/* 04A0B4 800494B4 00009025 */ move $s2, $zero -/* 04A0B8 800494B8 00809825 */ move $s3, $a0 -/* 04A0BC 800494BC AFAE0040 */ sw $t6, 0x40($sp) -/* 04A0C0 800494C0 01C07825 */ move $t7, $t6 -/* 04A0C4 800494C4 00001025 */ move $v0, $zero -/* 04A0C8 800494C8 16E00002 */ bnez $s7, .L800494D4 -/* 04A0CC 800494CC 00000000 */ nop -/* 04A0D0 800494D0 0007000D */ break 7 -.L800494D4: -/* 04A0D4 800494D4 2401FFFF */ li $at, -1 -/* 04A0D8 800494D8 16E10004 */ bne $s7, $at, .L800494EC -/* 04A0DC 800494DC 3C018000 */ lui $at, 0x8000 -/* 04A0E0 800494E0 14E10002 */ bne $a3, $at, .L800494EC -/* 04A0E4 800494E4 00000000 */ nop -/* 04A0E8 800494E8 0006000D */ break 6 -.L800494EC: -/* 04A0EC 800494EC 19C00035 */ blez $t6, .L800495C4 -/* 04A0F0 800494F0 00000000 */ nop -/* 04A0F4 800494F4 8FBE0070 */ lw $fp, 0x70($sp) -/* 04A0F8 800494F8 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 04A0FC 800494FC 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 04A100 80049500 00DE001A */ div $zero, $a2, $fp -/* 04A104 80049504 0000B012 */ mflo $s6 -/* 04A108 80049508 17C00002 */ bnez $fp, .L80049514 -/* 04A10C 8004950C 00000000 */ nop -/* 04A110 80049510 0007000D */ break 7 -.L80049514: -/* 04A114 80049514 2401FFFF */ li $at, -1 -/* 04A118 80049518 17C10004 */ bne $fp, $at, .L8004952C -/* 04A11C 8004951C 3C018000 */ lui $at, 0x8000 -/* 04A120 80049520 14C10002 */ bne $a2, $at, .L8004952C -/* 04A124 80049524 00000000 */ nop -/* 04A128 80049528 0006000D */ break 6 -.L8004952C: -/* 04A12C 8004952C 1AC00021 */ blez $s6, .L800495B4 -/* 04A130 80049530 00008025 */ move $s0, $zero -/* 04A134 80049534 03D70019 */ multu $fp, $s7 -/* 04A138 80049538 3C140D00 */ lui $s4, %hi(D_0D006940) # $s4, 0xd00 -/* 04A13C 8004953C 26946940 */ addiu $s4, %lo(D_0D006940) # addiu $s4, $s4, 0x6940 -/* 04A140 80049540 AFA2005C */ sw $v0, 0x5c($sp) -/* 04A144 80049544 0000A812 */ mflo $s5 -/* 04A148 80049548 00000000 */ nop -/* 04A14C 8004954C 00000000 */ nop -.L80049550: -/* 04A150 80049550 02602025 */ move $a0, $s3 -/* 04A154 80049554 03C02825 */ move $a1, $fp -/* 04A158 80049558 0C011196 */ jal func_80044658 -/* 04A15C 8004955C 02E03025 */ move $a2, $s7 -/* 04A160 80049560 8E220000 */ lw $v0, ($s1) -/* 04A164 80049564 3C190400 */ lui $t9, (0x0400103F >> 16) # lui $t9, 0x400 -/* 04A168 80049568 3739103F */ ori $t9, (0x0400103F & 0xFFFF) # ori $t9, $t9, 0x103f -/* 04A16C 8004956C 24580008 */ addiu $t8, $v0, 8 -/* 04A170 80049570 AE380000 */ sw $t8, ($s1) -/* 04A174 80049574 AC590000 */ sw $t9, ($v0) -/* 04A178 80049578 8FA90064 */ lw $t1, 0x64($sp) -/* 04A17C 8004957C 00124100 */ sll $t0, $s2, 4 -/* 04A180 80049580 26100001 */ addiu $s0, $s0, 1 -/* 04A184 80049584 01095021 */ addu $t2, $t0, $t1 -/* 04A188 80049588 AC4A0004 */ sw $t2, 4($v0) -/* 04A18C 8004958C 8E220000 */ lw $v0, ($s1) -/* 04A190 80049590 3C0C0600 */ lui $t4, 0x600 -/* 04A194 80049594 02759821 */ addu $s3, $s3, $s5 -/* 04A198 80049598 244B0008 */ addiu $t3, $v0, 8 -/* 04A19C 8004959C AE2B0000 */ sw $t3, ($s1) -/* 04A1A0 800495A0 26520004 */ addiu $s2, $s2, 4 -/* 04A1A4 800495A4 AC540004 */ sw $s4, 4($v0) -/* 04A1A8 800495A8 1616FFE9 */ bne $s0, $s6, .L80049550 -/* 04A1AC 800495AC AC4C0000 */ sw $t4, ($v0) -/* 04A1B0 800495B0 8FA2005C */ lw $v0, 0x5c($sp) -.L800495B4: -/* 04A1B4 800495B4 8FAD0040 */ lw $t5, 0x40($sp) -/* 04A1B8 800495B8 24420001 */ addiu $v0, $v0, 1 -/* 04A1BC 800495BC 144DFFDB */ bne $v0, $t5, .L8004952C -/* 04A1C0 800495C0 00000000 */ nop -.L800495C4: -/* 04A1C4 800495C4 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 04A1C8 800495C8 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 04A1CC 800495CC 8E220000 */ lw $v0, ($s1) -/* 04A1D0 800495D0 3C180001 */ lui $t8, (0x00010001 >> 16) # lui $t8, 1 -/* 04A1D4 800495D4 37180001 */ ori $t8, (0x00010001 & 0xFFFF) # ori $t8, $t8, 1 -/* 04A1D8 800495D8 244E0008 */ addiu $t6, $v0, 8 -/* 04A1DC 800495DC AE2E0000 */ sw $t6, ($s1) -/* 04A1E0 800495E0 3C0FBB00 */ lui $t7, 0xbb00 -/* 04A1E4 800495E4 AC4F0000 */ sw $t7, ($v0) -/* 04A1E8 800495E8 AC580004 */ sw $t8, 4($v0) -/* 04A1EC 800495EC 8FBF003C */ lw $ra, 0x3c($sp) -/* 04A1F0 800495F0 8FBE0038 */ lw $fp, 0x38($sp) -/* 04A1F4 800495F4 8FB70034 */ lw $s7, 0x34($sp) -/* 04A1F8 800495F8 8FB60030 */ lw $s6, 0x30($sp) -/* 04A1FC 800495FC 8FB5002C */ lw $s5, 0x2c($sp) -/* 04A200 80049600 8FB40028 */ lw $s4, 0x28($sp) -/* 04A204 80049604 8FB30024 */ lw $s3, 0x24($sp) -/* 04A208 80049608 8FB20020 */ lw $s2, 0x20($sp) -/* 04A20C 8004960C 8FB1001C */ lw $s1, 0x1c($sp) -/* 04A210 80049610 8FB00018 */ lw $s0, 0x18($sp) -/* 04A214 80049614 03E00008 */ jr $ra -/* 04A218 80049618 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/non_matchings/code_800431B0/func_800497CC.s b/asm/non_matchings/code_800431B0/func_800497CC.s deleted file mode 100644 index 4efba68bd..000000000 --- a/asm/non_matchings/code_800431B0/func_800497CC.s +++ /dev/null @@ -1,113 +0,0 @@ -glabel func_800497CC -/* 04A3CC 800497CC 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 04A3D0 800497D0 AFB70034 */ sw $s7, 0x34($sp) -/* 04A3D4 800497D4 8FB70074 */ lw $s7, 0x74($sp) -/* 04A3D8 800497D8 AFB30024 */ sw $s3, 0x24($sp) -/* 04A3DC 800497DC AFB20020 */ sw $s2, 0x20($sp) -/* 04A3E0 800497E0 00F7001A */ div $zero, $a3, $s7 -/* 04A3E4 800497E4 00007012 */ mflo $t6 -/* 04A3E8 800497E8 AFBF003C */ sw $ra, 0x3c($sp) -/* 04A3EC 800497EC AFBE0038 */ sw $fp, 0x38($sp) -/* 04A3F0 800497F0 AFB60030 */ sw $s6, 0x30($sp) -/* 04A3F4 800497F4 AFB5002C */ sw $s5, 0x2c($sp) -/* 04A3F8 800497F8 AFB40028 */ sw $s4, 0x28($sp) -/* 04A3FC 800497FC AFB1001C */ sw $s1, 0x1c($sp) -/* 04A400 80049800 AFB00018 */ sw $s0, 0x18($sp) -/* 04A404 80049804 AFA50064 */ sw $a1, 0x64($sp) -/* 04A408 80049808 00009025 */ move $s2, $zero -/* 04A40C 8004980C 00809825 */ move $s3, $a0 -/* 04A410 80049810 AFAE0040 */ sw $t6, 0x40($sp) -/* 04A414 80049814 01C07825 */ move $t7, $t6 -/* 04A418 80049818 00001025 */ move $v0, $zero -/* 04A41C 8004981C 16E00002 */ bnez $s7, .L80049828 -/* 04A420 80049820 00000000 */ nop -/* 04A424 80049824 0007000D */ break 7 -.L80049828: -/* 04A428 80049828 2401FFFF */ li $at, -1 -/* 04A42C 8004982C 16E10004 */ bne $s7, $at, .L80049840 -/* 04A430 80049830 3C018000 */ lui $at, 0x8000 -/* 04A434 80049834 14E10002 */ bne $a3, $at, .L80049840 -/* 04A438 80049838 00000000 */ nop -/* 04A43C 8004983C 0006000D */ break 6 -.L80049840: -/* 04A440 80049840 19C00035 */ blez $t6, .L80049918 -/* 04A444 80049844 00000000 */ nop -/* 04A448 80049848 8FBE0070 */ lw $fp, 0x70($sp) -/* 04A44C 8004984C 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 04A450 80049850 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 04A454 80049854 00DE001A */ div $zero, $a2, $fp -/* 04A458 80049858 0000B012 */ mflo $s6 -/* 04A45C 8004985C 17C00002 */ bnez $fp, .L80049868 -/* 04A460 80049860 00000000 */ nop -/* 04A464 80049864 0007000D */ break 7 -.L80049868: -/* 04A468 80049868 2401FFFF */ li $at, -1 -/* 04A46C 8004986C 17C10004 */ bne $fp, $at, .L80049880 -/* 04A470 80049870 3C018000 */ lui $at, 0x8000 -/* 04A474 80049874 14C10002 */ bne $a2, $at, .L80049880 -/* 04A478 80049878 00000000 */ nop -/* 04A47C 8004987C 0006000D */ break 6 -.L80049880: -/* 04A480 80049880 1AC00021 */ blez $s6, .L80049908 -/* 04A484 80049884 00008025 */ move $s0, $zero -/* 04A488 80049888 03D70019 */ multu $fp, $s7 -/* 04A48C 8004988C 3C140D00 */ lui $s4, %hi(D_0D006940) # $s4, 0xd00 -/* 04A490 80049890 26946940 */ addiu $s4, %lo(D_0D006940) # addiu $s4, $s4, 0x6940 -/* 04A494 80049894 AFA2005C */ sw $v0, 0x5c($sp) -/* 04A498 80049898 0000A812 */ mflo $s5 -/* 04A49C 8004989C 00000000 */ nop -/* 04A4A0 800498A0 00000000 */ nop -.L800498A4: -/* 04A4A4 800498A4 02602025 */ move $a0, $s3 -/* 04A4A8 800498A8 03C02825 */ move $a1, $fp -/* 04A4AC 800498AC 0C0112FE */ jal func_80044BF8 -/* 04A4B0 800498B0 02E03025 */ move $a2, $s7 -/* 04A4B4 800498B4 8E220000 */ lw $v0, ($s1) -/* 04A4B8 800498B8 3C190400 */ lui $t9, (0x0400103F >> 16) # lui $t9, 0x400 -/* 04A4BC 800498BC 3739103F */ ori $t9, (0x0400103F & 0xFFFF) # ori $t9, $t9, 0x103f -/* 04A4C0 800498C0 24580008 */ addiu $t8, $v0, 8 -/* 04A4C4 800498C4 AE380000 */ sw $t8, ($s1) -/* 04A4C8 800498C8 AC590000 */ sw $t9, ($v0) -/* 04A4CC 800498CC 8FA90064 */ lw $t1, 0x64($sp) -/* 04A4D0 800498D0 00124100 */ sll $t0, $s2, 4 -/* 04A4D4 800498D4 26100001 */ addiu $s0, $s0, 1 -/* 04A4D8 800498D8 01095021 */ addu $t2, $t0, $t1 -/* 04A4DC 800498DC AC4A0004 */ sw $t2, 4($v0) -/* 04A4E0 800498E0 8E220000 */ lw $v0, ($s1) -/* 04A4E4 800498E4 3C0C0600 */ lui $t4, 0x600 -/* 04A4E8 800498E8 02759821 */ addu $s3, $s3, $s5 -/* 04A4EC 800498EC 244B0008 */ addiu $t3, $v0, 8 -/* 04A4F0 800498F0 AE2B0000 */ sw $t3, ($s1) -/* 04A4F4 800498F4 26520004 */ addiu $s2, $s2, 4 -/* 04A4F8 800498F8 AC540004 */ sw $s4, 4($v0) -/* 04A4FC 800498FC 1616FFE9 */ bne $s0, $s6, .L800498A4 -/* 04A500 80049900 AC4C0000 */ sw $t4, ($v0) -/* 04A504 80049904 8FA2005C */ lw $v0, 0x5c($sp) -.L80049908: -/* 04A508 80049908 8FAD0040 */ lw $t5, 0x40($sp) -/* 04A50C 8004990C 24420001 */ addiu $v0, $v0, 1 -/* 04A510 80049910 144DFFDB */ bne $v0, $t5, .L80049880 -/* 04A514 80049914 00000000 */ nop -.L80049918: -/* 04A518 80049918 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 04A51C 8004991C 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 04A520 80049920 8E220000 */ lw $v0, ($s1) -/* 04A524 80049924 3C180001 */ lui $t8, (0x00010001 >> 16) # lui $t8, 1 -/* 04A528 80049928 37180001 */ ori $t8, (0x00010001 & 0xFFFF) # ori $t8, $t8, 1 -/* 04A52C 8004992C 244E0008 */ addiu $t6, $v0, 8 -/* 04A530 80049930 AE2E0000 */ sw $t6, ($s1) -/* 04A534 80049934 3C0FBB00 */ lui $t7, 0xbb00 -/* 04A538 80049938 AC4F0000 */ sw $t7, ($v0) -/* 04A53C 8004993C AC580004 */ sw $t8, 4($v0) -/* 04A540 80049940 8FBF003C */ lw $ra, 0x3c($sp) -/* 04A544 80049944 8FBE0038 */ lw $fp, 0x38($sp) -/* 04A548 80049948 8FB70034 */ lw $s7, 0x34($sp) -/* 04A54C 8004994C 8FB60030 */ lw $s6, 0x30($sp) -/* 04A550 80049950 8FB5002C */ lw $s5, 0x2c($sp) -/* 04A554 80049954 8FB40028 */ lw $s4, 0x28($sp) -/* 04A558 80049958 8FB30024 */ lw $s3, 0x24($sp) -/* 04A55C 8004995C 8FB20020 */ lw $s2, 0x20($sp) -/* 04A560 80049960 8FB1001C */ lw $s1, 0x1c($sp) -/* 04A564 80049964 8FB00018 */ lw $s0, 0x18($sp) -/* 04A568 80049968 03E00008 */ jr $ra -/* 04A56C 8004996C 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/non_matchings/code_800431B0/func_8004BD14.s b/asm/non_matchings/code_800431B0/func_8004BD14.s deleted file mode 100644 index 875d18de7..000000000 --- a/asm/non_matchings/code_800431B0/func_8004BD14.s +++ /dev/null @@ -1,197 +0,0 @@ -glabel func_8004BD14 -/* 04C914 8004BD14 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 04C918 8004BD18 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 04C91C 8004BD1C 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 04C920 8004BD20 8C620000 */ lw $v0, ($v1) -/* 04C924 8004BD24 AFBF001C */ sw $ra, 0x1c($sp) -/* 04C928 8004BD28 AFA40090 */ sw $a0, 0x90($sp) -/* 04C92C 8004BD2C 244E0008 */ addiu $t6, $v0, 8 -/* 04C930 8004BD30 AFA50094 */ sw $a1, 0x94($sp) -/* 04C934 8004BD34 AFA60098 */ sw $a2, 0x98($sp) -/* 04C938 8004BD38 AFA7009C */ sw $a3, 0x9c($sp) -/* 04C93C 8004BD3C AC6E0000 */ sw $t6, ($v1) -/* 04C940 8004BD40 3C180D00 */ lui $t8, %hi(D_0D007F38) # $t8, 0xd00 -/* 04C944 8004BD44 27187F38 */ addiu $t8, %lo(D_0D007F38) # addiu $t8, $t8, 0x7f38 -/* 04C948 8004BD48 3C0F0600 */ lui $t7, 0x600 -/* 04C94C 8004BD4C AC4F0000 */ sw $t7, ($v0) -/* 04C950 8004BD50 AC580004 */ sw $t8, 4($v0) -/* 04C954 8004BD54 8C620000 */ lw $v0, ($v1) -/* 04C958 8004BD58 3C0F0D01 */ lui $t7, %hi(D_0D008138) # $t7, 0xd01 -/* 04C95C 8004BD5C 25EF8138 */ addiu $t7, %lo(D_0D008138) # addiu $t7, $t7, -0x7ec8 -/* 04C960 8004BD60 24590008 */ addiu $t9, $v0, 8 -/* 04C964 8004BD64 AC790000 */ sw $t9, ($v1) -/* 04C968 8004BD68 3C0E0600 */ lui $t6, 0x600 -/* 04C96C 8004BD6C AC4E0000 */ sw $t6, ($v0) -/* 04C970 8004BD70 AC4F0004 */ sw $t7, 4($v0) -/* 04C974 8004BD74 8C620000 */ lw $v0, ($v1) -/* 04C978 8004BD78 3C19BA00 */ lui $t9, (0xBA001001 >> 16) # lui $t9, 0xba00 -/* 04C97C 8004BD7C 37391001 */ ori $t9, (0xBA001001 & 0xFFFF) # ori $t9, $t9, 0x1001 -/* 04C980 8004BD80 24580008 */ addiu $t8, $v0, 8 -/* 04C984 8004BD84 AC780000 */ sw $t8, ($v1) -/* 04C988 8004BD88 AC400004 */ sw $zero, 4($v0) -/* 04C98C 8004BD8C AC590000 */ sw $t9, ($v0) -/* 04C990 8004BD90 8C620000 */ lw $v0, ($v1) -/* 04C994 8004BD94 3C0FFA00 */ lui $t7, 0xfa00 -/* 04C998 8004BD98 3C01FD10 */ lui $at, 0xfd10 -/* 04C99C 8004BD9C 244E0008 */ addiu $t6, $v0, 8 -/* 04C9A0 8004BDA0 AC6E0000 */ sw $t6, ($v1) -/* 04C9A4 8004BDA4 AC4F0000 */ sw $t7, ($v0) -/* 04C9A8 8004BDA8 8FB800A0 */ lw $t8, 0xa0($sp) -/* 04C9AC 8004BDAC 3C0FFC25 */ lui $t7, (0xFC2527FF >> 16) # lui $t7, 0xfc25 -/* 04C9B0 8004BDB0 35EF27FF */ ori $t7, (0xFC2527FF & 0xFFFF) # ori $t7, $t7, 0x27ff -/* 04C9B4 8004BDB4 331900FF */ andi $t9, $t8, 0xff -/* 04C9B8 8004BDB8 AC590004 */ sw $t9, 4($v0) -/* 04C9BC 8004BDBC 8C620000 */ lw $v0, ($v1) -/* 04C9C0 8004BDC0 3C181FFC */ lui $t8, (0x1FFC9238 >> 16) # lui $t8, 0x1ffc -/* 04C9C4 8004BDC4 37189238 */ ori $t8, (0x1FFC9238 & 0xFFFF) # ori $t8, $t8, 0x9238 -/* 04C9C8 8004BDC8 244E0008 */ addiu $t6, $v0, 8 -/* 04C9CC 8004BDCC AC6E0000 */ sw $t6, ($v1) -/* 04C9D0 8004BDD0 AC580004 */ sw $t8, 4($v0) -/* 04C9D4 8004BDD4 AC4F0000 */ sw $t7, ($v0) -/* 04C9D8 8004BDD8 8FAE0098 */ lw $t6, 0x98($sp) -/* 04C9DC 8004BDDC 8C620000 */ lw $v0, ($v1) -/* 04C9E0 8004BDE0 25CFFFFF */ addiu $t7, $t6, -1 -/* 04C9E4 8004BDE4 24590008 */ addiu $t9, $v0, 8 -/* 04C9E8 8004BDE8 AC790000 */ sw $t9, ($v1) -/* 04C9EC 8004BDEC 31F80FFF */ andi $t8, $t7, 0xfff -/* 04C9F0 8004BDF0 0301C825 */ or $t9, $t8, $at -/* 04C9F4 8004BDF4 AFB90038 */ sw $t9, 0x38($sp) -/* 04C9F8 8004BDF8 AFAF003C */ sw $t7, 0x3c($sp) -/* 04C9FC 8004BDFC AC590000 */ sw $t9, ($v0) -/* 04CA00 8004BE00 8FAE00A4 */ lw $t6, 0xa4($sp) -/* 04CA04 8004BE04 3C01F510 */ lui $at, 0xf510 -/* 04CA08 8004BE08 AC4E0004 */ sw $t6, 4($v0) -/* 04CA0C 8004BE0C 8C620000 */ lw $v0, ($v1) -/* 04CA10 8004BE10 8FB8003C */ lw $t8, 0x3c($sp) -/* 04CA14 8004BE14 244F0008 */ addiu $t7, $v0, 8 -/* 04CA18 8004BE18 0018C840 */ sll $t9, $t8, 1 -/* 04CA1C 8004BE1C 272E0009 */ addiu $t6, $t9, 9 -/* 04CA20 8004BE20 AC6F0000 */ sw $t7, ($v1) -/* 04CA24 8004BE24 000E78C2 */ srl $t7, $t6, 3 -/* 04CA28 8004BE28 31F801FF */ andi $t8, $t7, 0x1ff -/* 04CA2C 8004BE2C 0018CA40 */ sll $t9, $t8, 9 -/* 04CA30 8004BE30 03217025 */ or $t6, $t9, $at -/* 04CA34 8004BE34 AFAE0034 */ sw $t6, 0x34($sp) -/* 04CA38 8004BE38 3C0F0708 */ lui $t7, (0x07080200 >> 16) # lui $t7, 0x708 -/* 04CA3C 8004BE3C 35EF0200 */ ori $t7, (0x07080200 & 0xFFFF) # ori $t7, $t7, 0x200 -/* 04CA40 8004BE40 AC4F0004 */ sw $t7, 4($v0) -/* 04CA44 8004BE44 AC4E0000 */ sw $t6, ($v0) -/* 04CA48 8004BE48 8C620000 */ lw $v0, ($v1) -/* 04CA4C 8004BE4C 3C19E600 */ lui $t9, 0xe600 -/* 04CA50 8004BE50 3C010700 */ lui $at, 0x700 -/* 04CA54 8004BE54 24580008 */ addiu $t8, $v0, 8 -/* 04CA58 8004BE58 AC780000 */ sw $t8, ($v1) -/* 04CA5C 8004BE5C AFA20070 */ sw $v0, 0x70($sp) -/* 04CA60 8004BE60 AC400004 */ sw $zero, 4($v0) -/* 04CA64 8004BE64 AC590000 */ sw $t9, ($v0) -/* 04CA68 8004BE68 8C620000 */ lw $v0, ($v1) -/* 04CA6C 8004BE6C 8FAC0034 */ lw $t4, 0x34($sp) -/* 04CA70 8004BE70 3C18F400 */ lui $t8, 0xf400 -/* 04CA74 8004BE74 244F0008 */ addiu $t7, $v0, 8 -/* 04CA78 8004BE78 AC6F0000 */ sw $t7, ($v1) -/* 04CA7C 8004BE7C AC580000 */ sw $t8, ($v0) -/* 04CA80 8004BE80 8FAD003C */ lw $t5, 0x3c($sp) -/* 04CA84 8004BE84 8FBF009C */ lw $ra, 0x9c($sp) -/* 04CA88 8004BE88 358B0100 */ ori $t3, $t4, 0x100 -/* 04CA8C 8004BE8C 000DC880 */ sll $t9, $t5, 2 -/* 04CA90 8004BE90 332E0FFF */ andi $t6, $t9, 0xfff -/* 04CA94 8004BE94 27FFFFFF */ addiu $ra, $ra, -1 -/* 04CA98 8004BE98 001FC080 */ sll $t8, $ra, 2 -/* 04CA9C 8004BE9C 000E6B00 */ sll $t5, $t6, 0xc -/* 04CAA0 8004BEA0 01A17025 */ or $t6, $t5, $at -/* 04CAA4 8004BEA4 331F0FFF */ andi $ra, $t8, 0xfff -/* 04CAA8 8004BEA8 01DF5025 */ or $t2, $t6, $ra -/* 04CAAC 8004BEAC AC4A0004 */ sw $t2, 4($v0) -/* 04CAB0 8004BEB0 8C620000 */ lw $v0, ($v1) -/* 04CAB4 8004BEB4 3C18E700 */ lui $t8, 0xe700 -/* 04CAB8 8004BEB8 3C0E0008 */ lui $t6, (0x00080200 >> 16) # lui $t6, 8 -/* 04CABC 8004BEBC 244F0008 */ addiu $t7, $v0, 8 -/* 04CAC0 8004BEC0 AC6F0000 */ sw $t7, ($v1) -/* 04CAC4 8004BEC4 AC400004 */ sw $zero, 4($v0) -/* 04CAC8 8004BEC8 AC580000 */ sw $t8, ($v0) -/* 04CACC 8004BECC 8C620000 */ lw $v0, ($v1) -/* 04CAD0 8004BED0 35CE0200 */ ori $t6, (0x00080200 & 0xFFFF) # ori $t6, $t6, 0x200 -/* 04CAD4 8004BED4 3C18F200 */ lui $t8, 0xf200 -/* 04CAD8 8004BED8 24590008 */ addiu $t9, $v0, 8 -/* 04CADC 8004BEDC AC790000 */ sw $t9, ($v1) -/* 04CAE0 8004BEE0 AC4E0004 */ sw $t6, 4($v0) -/* 04CAE4 8004BEE4 AC4C0000 */ sw $t4, ($v0) -/* 04CAE8 8004BEE8 8C620000 */ lw $v0, ($v1) -/* 04CAEC 8004BEEC 01BFC825 */ or $t9, $t5, $ra -/* 04CAF0 8004BEF0 3C010100 */ lui $at, 0x100 -/* 04CAF4 8004BEF4 244F0008 */ addiu $t7, $v0, 8 -/* 04CAF8 8004BEF8 AC6F0000 */ sw $t7, ($v1) -/* 04CAFC 8004BEFC AC590004 */ sw $t9, 4($v0) -/* 04CB00 8004BF00 AC580000 */ sw $t8, ($v0) -/* 04CB04 8004BF04 8C620000 */ lw $v0, ($v1) -/* 04CB08 8004BF08 8FAF0038 */ lw $t7, 0x38($sp) -/* 04CB0C 8004BF0C 244E0008 */ addiu $t6, $v0, 8 -/* 04CB10 8004BF10 AC6E0000 */ sw $t6, ($v1) -/* 04CB14 8004BF14 AC4F0000 */ sw $t7, ($v0) -/* 04CB18 8004BF18 8FB800A8 */ lw $t8, 0xa8($sp) -/* 04CB1C 8004BF1C 3C0E0708 */ lui $t6, (0x07080200 >> 16) # lui $t6, 0x708 -/* 04CB20 8004BF20 35CE0200 */ ori $t6, (0x07080200 & 0xFFFF) # ori $t6, $t6, 0x200 -/* 04CB24 8004BF24 AC580004 */ sw $t8, 4($v0) -/* 04CB28 8004BF28 8C620000 */ lw $v0, ($v1) -/* 04CB2C 8004BF2C 3C18E600 */ lui $t8, 0xe600 -/* 04CB30 8004BF30 24590008 */ addiu $t9, $v0, 8 -/* 04CB34 8004BF34 AC790000 */ sw $t9, ($v1) -/* 04CB38 8004BF38 AC4E0004 */ sw $t6, 4($v0) -/* 04CB3C 8004BF3C AC4B0000 */ sw $t3, ($v0) -/* 04CB40 8004BF40 8C620000 */ lw $v0, ($v1) -/* 04CB44 8004BF44 AFAB0024 */ sw $t3, 0x24($sp) -/* 04CB48 8004BF48 AFAA0028 */ sw $t2, 0x28($sp) -/* 04CB4C 8004BF4C 244F0008 */ addiu $t7, $v0, 8 -/* 04CB50 8004BF50 AC6F0000 */ sw $t7, ($v1) -/* 04CB54 8004BF54 AC400004 */ sw $zero, 4($v0) -/* 04CB58 8004BF58 AC580000 */ sw $t8, ($v0) -/* 04CB5C 8004BF5C 8C620000 */ lw $v0, ($v1) -/* 04CB60 8004BF60 3C0EF400 */ lui $t6, 0xf400 -/* 04CB64 8004BF64 24590008 */ addiu $t9, $v0, 8 -/* 04CB68 8004BF68 AC790000 */ sw $t9, ($v1) -/* 04CB6C 8004BF6C AC4E0000 */ sw $t6, ($v0) -/* 04CB70 8004BF70 8FAF0028 */ lw $t7, 0x28($sp) -/* 04CB74 8004BF74 3C19E700 */ lui $t9, 0xe700 -/* 04CB78 8004BF78 AC4F0004 */ sw $t7, 4($v0) -/* 04CB7C 8004BF7C 8C620000 */ lw $v0, ($v1) -/* 04CB80 8004BF80 24580008 */ addiu $t8, $v0, 8 -/* 04CB84 8004BF84 AC780000 */ sw $t8, ($v1) -/* 04CB88 8004BF88 AC400004 */ sw $zero, 4($v0) -/* 04CB8C 8004BF8C AC590000 */ sw $t9, ($v0) -/* 04CB90 8004BF90 8C620000 */ lw $v0, ($v1) -/* 04CB94 8004BF94 8FAF0024 */ lw $t7, 0x24($sp) -/* 04CB98 8004BF98 3C180108 */ lui $t8, (0x01080200 >> 16) # lui $t8, 0x108 -/* 04CB9C 8004BF9C 244E0008 */ addiu $t6, $v0, 8 -/* 04CBA0 8004BFA0 AC6E0000 */ sw $t6, ($v1) -/* 04CBA4 8004BFA4 37180200 */ ori $t8, (0x01080200 & 0xFFFF) # ori $t8, $t8, 0x200 -/* 04CBA8 8004BFA8 AC580004 */ sw $t8, 4($v0) -/* 04CBAC 8004BFAC AC4F0000 */ sw $t7, ($v0) -/* 04CBB0 8004BFB0 8C620000 */ lw $v0, ($v1) -/* 04CBB4 8004BFB4 01A17825 */ or $t7, $t5, $at -/* 04CBB8 8004BFB8 01FFC025 */ or $t8, $t7, $ra -/* 04CBBC 8004BFBC 24590008 */ addiu $t9, $v0, 8 -/* 04CBC0 8004BFC0 AC790000 */ sw $t9, ($v1) -/* 04CBC4 8004BFC4 3C0EF200 */ lui $t6, 0xf200 -/* 04CBC8 8004BFC8 AC4E0000 */ sw $t6, ($v0) -/* 04CBCC 8004BFCC AC580004 */ sw $t8, 4($v0) -/* 04CBD0 8004BFD0 24190002 */ li $t9, 2 -/* 04CBD4 8004BFD4 AFB90010 */ sw $t9, 0x10($sp) -/* 04CBD8 8004BFD8 8FA7009C */ lw $a3, 0x9c($sp) -/* 04CBDC 8004BFDC 8FA60098 */ lw $a2, 0x98($sp) -/* 04CBE0 8004BFE0 8FA50094 */ lw $a1, 0x94($sp) -/* 04CBE4 8004BFE4 0C012E54 */ jal func_8004B950 -/* 04CBE8 8004BFE8 8FA40090 */ lw $a0, 0x90($sp) -/* 04CBEC 8004BFEC 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 04CBF0 8004BFF0 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 04CBF4 8004BFF4 8C620000 */ lw $v0, ($v1) -/* 04CBF8 8004BFF8 3C180D01 */ lui $t8, %hi(D_0D008120) # $t8, 0xd01 -/* 04CBFC 8004BFFC 27188120 */ addiu $t8, %lo(D_0D008120) # addiu $t8, $t8, -0x7ee0 -/* 04CC00 8004C000 244E0008 */ addiu $t6, $v0, 8 -/* 04CC04 8004C004 AC6E0000 */ sw $t6, ($v1) -/* 04CC08 8004C008 3C0F0600 */ lui $t7, 0x600 -/* 04CC0C 8004C00C AC4F0000 */ sw $t7, ($v0) -/* 04CC10 8004C010 AC580004 */ sw $t8, 4($v0) -/* 04CC14 8004C014 8FBF001C */ lw $ra, 0x1c($sp) -/* 04CC18 8004C018 27BD0090 */ addiu $sp, $sp, 0x90 -/* 04CC1C 8004C01C 03E00008 */ jr $ra -/* 04CC20 8004C020 00000000 */ nop diff --git a/asm/non_matchings/code_800431B0/func_8004E638.s b/asm/non_matchings/code_800431B0/func_8004E638.s deleted file mode 100644 index e207fd163..000000000 --- a/asm/non_matchings/code_800431B0/func_8004E638.s +++ /dev/null @@ -1,37 +0,0 @@ -glabel func_8004E638 -/* 04F238 8004E638 00047880 */ sll $t7, $a0, 2 -/* 04F23C 8004E63C 3C028018 */ lui $v0, %hi(D_80183E88) # 0x8018 -/* 04F240 8004E640 004F1021 */ addu $v0, $v0, $t7 -/* 04F244 8004E644 8C423E88 */ lw $v0, %lo(D_80183E88)($v0) # 0x3e88($v0) -/* 04F248 8004E648 3C198016 */ lui $t9, %hi(D_80165C18) # $t9, 0x8016 -/* 04F24C 8004E64C 27395C18 */ addiu $t9, %lo(D_80165C18) # addiu $t9, $t9, 0x5c18 -/* 04F250 8004E650 0002C0C0 */ sll $t8, $v0, 3 -/* 04F254 8004E654 0302C023 */ subu $t8, $t8, $v0 -/* 04F258 8004E658 0018C140 */ sll $t8, $t8, 5 -/* 04F25C 8004E65C 03191821 */ addu $v1, $t8, $t9 -/* 04F260 8004E660 846800A6 */ lh $t0, 0xa6($v1) -/* 04F264 8004E664 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 04F268 8004E668 AFBF0014 */ sw $ra, 0x14($sp) -/* 04F26C 8004E66C 29010002 */ slti $at, $t0, 2 -/* 04F270 8004E670 14200010 */ bnez $at, .L8004E6B4 -/* 04F274 8004E674 AFA40018 */ sw $a0, 0x18($sp) -/* 04F278 8004E678 00044940 */ sll $t1, $a0, 5 -/* 04F27C 8004E67C 01244821 */ addu $t1, $t1, $a0 -/* 04F280 8004E680 3C0A8019 */ lui $t2, %hi(D_8018CA70) # $t2, 0x8019 -/* 04F284 8004E684 254ACA70 */ addiu $t2, %lo(D_8018CA70) # addiu $t2, $t2, -0x3590 -/* 04F288 8004E688 00094880 */ sll $t1, $t1, 2 -/* 04F28C 8004E68C 012A1021 */ addu $v0, $t1, $t2 -/* 04F290 8004E690 844B0046 */ lh $t3, 0x46($v0) -/* 04F294 8004E694 844C0042 */ lh $t4, 0x42($v0) -/* 04F298 8004E698 844D0048 */ lh $t5, 0x48($v0) -/* 04F29C 8004E69C 844F0044 */ lh $t7, 0x44($v0) -/* 04F2A0 8004E6A0 8C660060 */ lw $a2, 0x60($v1) -/* 04F2A4 8004E6A4 8C670064 */ lw $a3, 0x64($v1) -/* 04F2A8 8004E6A8 016C2021 */ addu $a0, $t3, $t4 -/* 04F2AC 8004E6AC 0C013933 */ jal func_8004E4CC -/* 04F2B0 8004E6B0 01AF2821 */ addu $a1, $t5, $t7 -.L8004E6B4: -/* 04F2B4 8004E6B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 04F2B8 8004E6B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 04F2BC 8004E6BC 03E00008 */ jr $ra -/* 04F2C0 8004E6C0 00000000 */ nop diff --git a/asm/non_matchings/code_800431B0/func_8004F674.s b/asm/non_matchings/code_800431B0/func_8004F674.s deleted file mode 100644 index 95b198b6c..000000000 --- a/asm/non_matchings/code_800431B0/func_8004F674.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_8004F674 -/* 050274 8004F674 8C820000 */ lw $v0, ($a0) -/* 050278 8004F678 50400012 */ beql $v0, $zero, .L8004F6C4 -/* 05027C 8004F67C AC800000 */ sw $zero, ($a0) -/* 050280 8004F680 0045001A */ div $zero, $v0, $a1 -/* 050284 8004F684 00001812 */ mflo $v1 -/* 050288 8004F688 00007010 */ mfhi $t6 -/* 05028C 8004F68C AC8E0000 */ sw $t6, ($a0) -/* 050290 8004F690 14A00002 */ bnez $a1, .L8004F69C -/* 050294 8004F694 00000000 */ nop -/* 050298 8004F698 0007000D */ break 7 -.L8004F69C: -/* 05029C 8004F69C 2401FFFF */ li $at, -1 -/* 0502A0 8004F6A0 14A10004 */ bne $a1, $at, .L8004F6B4 -/* 0502A4 8004F6A4 3C018000 */ lui $at, 0x8000 -/* 0502A8 8004F6A8 14410002 */ bne $v0, $at, .L8004F6B4 -/* 0502AC 8004F6AC 00000000 */ nop -/* 0502B0 8004F6B0 0006000D */ break 6 -.L8004F6B4: -/* 0502B4 8004F6B4 00601025 */ move $v0, $v1 -/* 0502B8 8004F6B8 03E00008 */ jr $ra -/* 0502BC 8004F6BC 00000000 */ nop - -/* 0502C0 8004F6C0 AC800000 */ sw $zero, ($a0) -.L8004F6C4: -/* 0502C4 8004F6C4 00001825 */ move $v1, $zero -/* 0502C8 8004F6C8 03E00008 */ jr $ra -/* 0502CC 8004F6CC 00601025 */ move $v0, $v1 diff --git a/asm/non_matchings/code_800431B0/func_80055458.s b/asm/non_matchings/code_800431B0/func_80055458.s deleted file mode 100644 index c4a730e3f..000000000 --- a/asm/non_matchings/code_800431B0/func_80055458.s +++ /dev/null @@ -1,54 +0,0 @@ -glabel func_80055458 -/* 056058 80055458 000470C0 */ sll $t6, $a0, 3 -/* 05605C 8005545C 01C47023 */ subu $t6, $t6, $a0 -/* 056060 80055460 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 -/* 056064 80055464 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 -/* 056068 80055468 000E7140 */ sll $t6, $t6, 5 -/* 05606C 8005546C 01CF1821 */ addu $v1, $t6, $t7 -/* 056070 80055470 847800A6 */ lh $t8, 0xa6($v1) -/* 056074 80055474 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 056078 80055478 AFBF002C */ sw $ra, 0x2c($sp) -/* 05607C 8005547C 2B010002 */ slti $at, $t8, 2 -/* 056080 80055480 14200025 */ bnez $at, .L80055518 -/* 056084 80055484 0005C880 */ sll $t9, $a1, 2 -/* 056088 80055488 0325C823 */ subu $t9, $t9, $a1 -/* 05608C 8005548C 3C08800E */ lui $t0, %hi(camera1) # $t0, 0x800e -/* 056090 80055490 8D08DB40 */ lw $t0, %lo(camera1)($t0) -/* 056094 80055494 0019C8C0 */ sll $t9, $t9, 3 -/* 056098 80055498 0325C823 */ subu $t9, $t9, $a1 -/* 05609C 8005549C 0019C8C0 */ sll $t9, $t9, 3 -/* 0560A0 800554A0 03284821 */ addu $t1, $t9, $t0 -/* 0560A4 800554A4 AFA90034 */ sw $t1, 0x34($sp) -/* 0560A8 800554A8 3C053F00 */ lui $a1, 0x3f00 -/* 0560AC 800554AC 0C0129BB */ jal func_8004A6EC -/* 0560B0 800554B0 AFA30030 */ sw $v1, 0x30($sp) -/* 0560B4 800554B4 8FA30030 */ lw $v1, 0x30($sp) -/* 0560B8 800554B8 8FA60034 */ lw $a2, 0x34($sp) -/* 0560BC 800554BC C46C0004 */ lwc1 $f12, 4($v1) -/* 0560C0 800554C0 0C01062B */ jal func_800418AC -/* 0560C4 800554C4 C46E000C */ lwc1 $f14, 0xc($v1) -/* 0560C8 800554C8 8FA30030 */ lw $v1, 0x30($sp) -/* 0560CC 800554CC 3C0B0D00 */ lui $t3, %hi(D_0D0060B0) # $t3, 0xd00 -/* 0560D0 800554D0 256B60B0 */ addiu $t3, %lo(D_0D0060B0) # addiu $t3, $t3, 0x60b0 -/* 0560D4 800554D4 8C6A0064 */ lw $t2, 0x64($v1) -/* 0560D8 800554D8 240C0040 */ li $t4, 64 -/* 0560DC 800554DC 240D0040 */ li $t5, 64 -/* 0560E0 800554E0 240E0040 */ li $t6, 64 -/* 0560E4 800554E4 240F0020 */ li $t7, 32 -/* 0560E8 800554E8 AFAF0024 */ sw $t7, 0x24($sp) -/* 0560EC 800554EC AFAE0020 */ sw $t6, 0x20($sp) -/* 0560F0 800554F0 AFAD001C */ sw $t5, 0x1c($sp) -/* 0560F4 800554F4 AFAC0018 */ sw $t4, 0x18($sp) -/* 0560F8 800554F8 AFAB0014 */ sw $t3, 0x14($sp) -/* 0560FC 800554FC A46200B4 */ sh $v0, 0xb4($v1) -/* 056100 80055500 24640004 */ addiu $a0, $v1, 4 -/* 056104 80055504 246500B2 */ addiu $a1, $v1, 0xb2 -/* 056108 80055508 8C660000 */ lw $a2, ($v1) -/* 05610C 8005550C 8C670060 */ lw $a3, 0x60($v1) -/* 056110 80055510 0C01202D */ jal func_800480B4 -/* 056114 80055514 AFAA0010 */ sw $t2, 0x10($sp) -.L80055518: -/* 056118 80055518 8FBF002C */ lw $ra, 0x2c($sp) -/* 05611C 8005551C 27BD0038 */ addiu $sp, $sp, 0x38 -/* 056120 80055520 03E00008 */ jr $ra -/* 056124 80055524 00000000 */ nop diff --git a/asm/non_matchings/code_800431B0/func_80055528.s b/asm/non_matchings/code_800431B0/func_80055528.s deleted file mode 100644 index 09cfaa2c6..000000000 --- a/asm/non_matchings/code_800431B0/func_80055528.s +++ /dev/null @@ -1,40 +0,0 @@ -glabel func_80055528 -/* 056128 80055528 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 05612C 8005552C AFB40028 */ sw $s4, 0x28($sp) -/* 056130 80055530 AFB1001C */ sw $s1, 0x1c($sp) -/* 056134 80055534 AFB30024 */ sw $s3, 0x24($sp) -/* 056138 80055538 AFB20020 */ sw $s2, 0x20($sp) -/* 05613C 8005553C 3C118018 */ lui $s1, %hi(D_80183EA0) # $s1, 0x8018 -/* 056140 80055540 3C148018 */ lui $s4, %hi(D_80183EC8) # $s4, 0x8018 -/* 056144 80055544 00809025 */ move $s2, $a0 -/* 056148 80055548 AFBF002C */ sw $ra, 0x2c($sp) -/* 05614C 8005554C AFB00018 */ sw $s0, 0x18($sp) -/* 056150 80055550 26943EC8 */ addiu $s4, %lo(D_80183EC8) # addiu $s4, $s4, 0x3ec8 -/* 056154 80055554 26313EA0 */ addiu $s1, %lo(D_80183EA0) # addiu $s1, $s1, 0x3ea0 -/* 056158 80055558 3C130004 */ lui $s3, 4 -/* 05615C 8005555C 8E300000 */ lw $s0, ($s1) -.L80055560: -/* 056160 80055560 02402825 */ move $a1, $s2 -/* 056164 80055564 24062AAB */ li $a2, 10923 -/* 056168 80055568 24070320 */ li $a3, 800 -/* 05616C 8005556C 0C0228D9 */ jal func_8008A364 -/* 056170 80055570 02002025 */ move $a0, $s0 -/* 056174 80055574 02002025 */ move $a0, $s0 -/* 056178 80055578 0C01C88F */ jal func_8007223C -/* 05617C 8005557C 02602825 */ move $a1, $s3 -/* 056180 80055580 10400003 */ beqz $v0, .L80055590 -/* 056184 80055584 02002025 */ move $a0, $s0 -/* 056188 80055588 0C015516 */ jal func_80055458 -/* 05618C 8005558C 02402825 */ move $a1, $s2 -.L80055590: -/* 056190 80055590 26310004 */ addiu $s1, $s1, 4 -/* 056194 80055594 5634FFF2 */ bnel $s1, $s4, .L80055560 -/* 056198 80055598 8E300000 */ lw $s0, ($s1) -/* 05619C 8005559C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0561A0 800555A0 8FB00018 */ lw $s0, 0x18($sp) -/* 0561A4 800555A4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0561A8 800555A8 8FB20020 */ lw $s2, 0x20($sp) -/* 0561AC 800555AC 8FB30024 */ lw $s3, 0x24($sp) -/* 0561B0 800555B0 8FB40028 */ lw $s4, 0x28($sp) -/* 0561B4 800555B4 03E00008 */ jr $ra -/* 0561B8 800555B8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/non_matchings/code_800431B0/func_800555BC.s b/asm/non_matchings/code_800431B0/func_800555BC.s deleted file mode 100644 index ec97dbd77..000000000 --- a/asm/non_matchings/code_800431B0/func_800555BC.s +++ /dev/null @@ -1,54 +0,0 @@ -glabel func_800555BC -/* 0561BC 800555BC 000470C0 */ sll $t6, $a0, 3 -/* 0561C0 800555C0 01C47023 */ subu $t6, $t6, $a0 -/* 0561C4 800555C4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 -/* 0561C8 800555C8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 -/* 0561CC 800555CC 000E7140 */ sll $t6, $t6, 5 -/* 0561D0 800555D0 01CF1821 */ addu $v1, $t6, $t7 -/* 0561D4 800555D4 847800A6 */ lh $t8, 0xa6($v1) -/* 0561D8 800555D8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0561DC 800555DC AFBF002C */ sw $ra, 0x2c($sp) -/* 0561E0 800555E0 2B010002 */ slti $at, $t8, 2 -/* 0561E4 800555E4 14200025 */ bnez $at, .L8005567C -/* 0561E8 800555E8 0005C880 */ sll $t9, $a1, 2 -/* 0561EC 800555EC 0325C823 */ subu $t9, $t9, $a1 -/* 0561F0 800555F0 3C08800E */ lui $t0, %hi(camera1) # $t0, 0x800e -/* 0561F4 800555F4 8D08DB40 */ lw $t0, %lo(camera1)($t0) -/* 0561F8 800555F8 0019C8C0 */ sll $t9, $t9, 3 -/* 0561FC 800555FC 0325C823 */ subu $t9, $t9, $a1 -/* 056200 80055600 0019C8C0 */ sll $t9, $t9, 3 -/* 056204 80055604 3C053F33 */ lui $a1, (0x3F333333 >> 16) # lui $a1, 0x3f33 -/* 056208 80055608 03284821 */ addu $t1, $t9, $t0 -/* 05620C 8005560C AFA90034 */ sw $t1, 0x34($sp) -/* 056210 80055610 34A53333 */ ori $a1, (0x3F333333 & 0xFFFF) # ori $a1, $a1, 0x3333 -/* 056214 80055614 0C012A1C */ jal func_8004A870 -/* 056218 80055618 AFA30030 */ sw $v1, 0x30($sp) -/* 05621C 8005561C 8FA30030 */ lw $v1, 0x30($sp) -/* 056220 80055620 8FA60034 */ lw $a2, 0x34($sp) -/* 056224 80055624 C46C0004 */ lwc1 $f12, 4($v1) -/* 056228 80055628 0C01062B */ jal func_800418AC -/* 05622C 8005562C C46E000C */ lwc1 $f14, 0xc($v1) -/* 056230 80055630 8FA30030 */ lw $v1, 0x30($sp) -/* 056234 80055634 240C0040 */ li $t4, 64 -/* 056238 80055638 240D0040 */ li $t5, 64 -/* 05623C 8005563C 8C6A0064 */ lw $t2, 0x64($v1) -/* 056240 80055640 8C6B0074 */ lw $t3, 0x74($v1) -/* 056244 80055644 240E0040 */ li $t6, 64 -/* 056248 80055648 240F0020 */ li $t7, 32 -/* 05624C 8005564C AFAF0024 */ sw $t7, 0x24($sp) -/* 056250 80055650 AFAE0020 */ sw $t6, 0x20($sp) -/* 056254 80055654 AFAD001C */ sw $t5, 0x1c($sp) -/* 056258 80055658 AFAC0018 */ sw $t4, 0x18($sp) -/* 05625C 8005565C A46200B4 */ sh $v0, 0xb4($v1) -/* 056260 80055660 24640004 */ addiu $a0, $v1, 4 -/* 056264 80055664 246500B2 */ addiu $a1, $v1, 0xb2 -/* 056268 80055668 8C660000 */ lw $a2, ($v1) -/* 05626C 8005566C 8C670060 */ lw $a3, 0x60($v1) -/* 056270 80055670 AFAA0010 */ sw $t2, 0x10($sp) -/* 056274 80055674 0C01202D */ jal func_800480B4 -/* 056278 80055678 AFAB0014 */ sw $t3, 0x14($sp) -.L8005567C: -/* 05627C 8005567C 8FBF002C */ lw $ra, 0x2c($sp) -/* 056280 80055680 27BD0038 */ addiu $sp, $sp, 0x38 -/* 056284 80055684 03E00008 */ jr $ra -/* 056288 80055688 00000000 */ nop diff --git a/asm/non_matchings/code_800431B0/func_8005568C.s b/asm/non_matchings/code_800431B0/func_8005568C.s deleted file mode 100644 index fa3d0b507..000000000 --- a/asm/non_matchings/code_800431B0/func_8005568C.s +++ /dev/null @@ -1,78 +0,0 @@ -glabel func_8005568C -/* 05628C 8005568C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 056290 80055690 AFBE0038 */ sw $fp, 0x38($sp) -/* 056294 80055694 AFB60030 */ sw $s6, 0x30($sp) -/* 056298 80055698 AFB20020 */ sw $s2, 0x20($sp) -/* 05629C 8005569C AFB70034 */ sw $s7, 0x34($sp) -/* 0562A0 800556A0 AFB5002C */ sw $s5, 0x2c($sp) -/* 0562A4 800556A4 AFB40028 */ sw $s4, 0x28($sp) -/* 0562A8 800556A8 AFB30024 */ sw $s3, 0x24($sp) -/* 0562AC 800556AC 3C128018 */ lui $s2, %hi(D_80183F28) # $s2, 0x8018 -/* 0562B0 800556B0 3C160005 */ lui $s6, (0x00057E41 >> 16) # lui $s6, 5 -/* 0562B4 800556B4 3C1E0005 */ lui $fp, (0x00052211 >> 16) # lui $fp, 5 -/* 0562B8 800556B8 00809825 */ move $s3, $a0 -/* 0562BC 800556BC AFBF003C */ sw $ra, 0x3c($sp) -/* 0562C0 800556C0 AFB1001C */ sw $s1, 0x1c($sp) -/* 0562C4 800556C4 AFB00018 */ sw $s0, 0x18($sp) -/* 0562C8 800556C8 37DE2211 */ ori $fp, (0x00052211 & 0xFFFF) # ori $fp, $fp, 0x2211 -/* 0562CC 800556CC 36D67E41 */ ori $s6, (0x00057E41 & 0xFFFF) # ori $s6, $s6, 0x7e41 -/* 0562D0 800556D0 26523F28 */ addiu $s2, %lo(D_80183F28) # addiu $s2, $s2, 0x3f28 -/* 0562D4 800556D4 3C140004 */ lui $s4, 4 -/* 0562D8 800556D8 3C150020 */ lui $s5, 0x20 -/* 0562DC 800556DC 3C170040 */ lui $s7, 0x40 -/* 0562E0 800556E0 8E500000 */ lw $s0, ($s2) -.L800556E4: -/* 0562E4 800556E4 02602825 */ move $a1, $s3 -/* 0562E8 800556E8 24064000 */ li $a2, 16384 -/* 0562EC 800556EC 240703E8 */ li $a3, 1000 -/* 0562F0 800556F0 0C0228D9 */ jal func_8008A364 -/* 0562F4 800556F4 02002025 */ move $a0, $s0 -/* 0562F8 800556F8 00408825 */ move $s1, $v0 -/* 0562FC 800556FC 02002025 */ move $a0, $s0 -/* 056300 80055700 0C01C88F */ jal func_8007223C -/* 056304 80055704 02802825 */ move $a1, $s4 -/* 056308 80055708 10400017 */ beqz $v0, .L80055768 -/* 05630C 8005570C 02002025 */ move $a0, $s0 -/* 056310 80055710 0C01C870 */ jal func_800721C0 -/* 056314 80055714 02A02825 */ move $a1, $s5 -/* 056318 80055718 2E212711 */ sltiu $at, $s1, 0x2711 -/* 05631C 8005571C 10200006 */ beqz $at, .L80055738 -/* 056320 80055720 02002025 */ move $a0, $s0 -/* 056324 80055724 02002025 */ move $a0, $s0 -/* 056328 80055728 0C01C870 */ jal func_800721C0 -/* 05632C 8005572C 24050020 */ li $a1, 32 -/* 056330 80055730 10000004 */ b .L80055744 -/* 056334 80055734 0236082B */ sltu $at, $s1, $s6 -.L80055738: -/* 056338 80055738 0C01C87A */ jal func_800721E8 -/* 05633C 8005573C 24050020 */ li $a1, 32 -/* 056340 80055740 0236082B */ sltu $at, $s1, $s6 -.L80055744: -/* 056344 80055744 10200003 */ beqz $at, .L80055754 -/* 056348 80055748 02002025 */ move $a0, $s0 -/* 05634C 8005574C 0C01C870 */ jal func_800721C0 -/* 056350 80055750 02E02825 */ move $a1, $s7 -.L80055754: -/* 056354 80055754 023E082B */ sltu $at, $s1, $fp -/* 056358 80055758 10200003 */ beqz $at, .L80055768 -/* 05635C 8005575C 02002025 */ move $a0, $s0 -/* 056360 80055760 0C01556F */ jal func_800555BC -/* 056364 80055764 02602825 */ move $a1, $s3 -.L80055768: -/* 056368 80055768 3C0E8018 */ lui $t6, %hi(D_80183F64) # $t6, 0x8018 -/* 05636C 8005576C 25CE3F64 */ addiu $t6, %lo(D_80183F64) # addiu $t6, $t6, 0x3f64 -/* 056370 80055770 26520004 */ addiu $s2, $s2, 4 -/* 056374 80055774 564EFFDB */ bnel $s2, $t6, .L800556E4 -/* 056378 80055778 8E500000 */ lw $s0, ($s2) -/* 05637C 8005577C 8FBF003C */ lw $ra, 0x3c($sp) -/* 056380 80055780 8FB00018 */ lw $s0, 0x18($sp) -/* 056384 80055784 8FB1001C */ lw $s1, 0x1c($sp) -/* 056388 80055788 8FB20020 */ lw $s2, 0x20($sp) -/* 05638C 8005578C 8FB30024 */ lw $s3, 0x24($sp) -/* 056390 80055790 8FB40028 */ lw $s4, 0x28($sp) -/* 056394 80055794 8FB5002C */ lw $s5, 0x2c($sp) -/* 056398 80055798 8FB60030 */ lw $s6, 0x30($sp) -/* 05639C 8005579C 8FB70034 */ lw $s7, 0x34($sp) -/* 0563A0 800557A0 8FBE0038 */ lw $fp, 0x38($sp) -/* 0563A4 800557A4 03E00008 */ jr $ra -/* 0563A8 800557A8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/code_800431B0/func_80055F48.s b/asm/non_matchings/code_800431B0/func_80055F48.s deleted file mode 100644 index f5e6245e1..000000000 --- a/asm/non_matchings/code_800431B0/func_80055F48.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_80055F48 -/* 056B48 80055F48 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 056B4C 80055F4C AFB20020 */ sw $s2, 0x20($sp) -/* 056B50 80055F50 AFB00018 */ sw $s0, 0x18($sp) -/* 056B54 80055F54 AFB1001C */ sw $s1, 0x1c($sp) -/* 056B58 80055F58 3C108018 */ lui $s0, %hi(D_80183EA0) # $s0, 0x8018 -/* 056B5C 80055F5C 3C128018 */ lui $s2, %hi(D_80183EAC) # $s2, 0x8018 -/* 056B60 80055F60 00808825 */ move $s1, $a0 -/* 056B64 80055F64 AFBF0024 */ sw $ra, 0x24($sp) -/* 056B68 80055F68 26523EAC */ addiu $s2, %lo(D_80183EAC) # addiu $s2, $s2, 0x3eac -/* 056B6C 80055F6C 26103EA0 */ addiu $s0, %lo(D_80183EA0) # addiu $s0, $s0, 0x3ea0 -/* 056B70 80055F70 8E040000 */ lw $a0, ($s0) -.L80055F74: -/* 056B74 80055F74 0C0157BD */ jal func_80055EF4 -/* 056B78 80055F78 02202825 */ move $a1, $s1 -/* 056B7C 80055F7C 26100004 */ addiu $s0, $s0, 4 -/* 056B80 80055F80 5612FFFC */ bnel $s0, $s2, .L80055F74 -/* 056B84 80055F84 8E040000 */ lw $a0, ($s0) -/* 056B88 80055F88 8FBF0024 */ lw $ra, 0x24($sp) -/* 056B8C 80055F8C 8FB00018 */ lw $s0, 0x18($sp) -/* 056B90 80055F90 8FB1001C */ lw $s1, 0x1c($sp) -/* 056B94 80055F94 8FB20020 */ lw $s2, 0x20($sp) -/* 056B98 80055F98 03E00008 */ jr $ra -/* 056B9C 80055F9C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/non_matchings/code_800431B0/func_800569F4.s b/asm/non_matchings/code_800431B0/func_800569F4.s deleted file mode 100644 index ebd22fe71..000000000 --- a/asm/non_matchings/code_800431B0/func_800569F4.s +++ /dev/null @@ -1,20 +0,0 @@ -glabel func_800569F4 -/* 0575F4 800569F4 00047080 */ sll $t6, $a0, 2 -/* 0575F8 800569F8 3C048018 */ lui $a0, %hi(D_80183DD8) # 0x8018 -/* 0575FC 800569FC 008E2021 */ addu $a0, $a0, $t6 -/* 057600 80056A00 8C843DD8 */ lw $a0, %lo(D_80183DD8)($a0) # 0x3dd8($a0) -/* 057604 80056A04 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 057608 80056A08 AFBF0014 */ sw $ra, 0x14($sp) -/* 05760C 80056A0C 00002825 */ move $a1, $zero -/* 057610 80056A10 0C01C8E9 */ jal func_800723A4 -/* 057614 80056A14 AFA4001C */ sw $a0, 0x1c($sp) -/* 057618 80056A18 8FA4001C */ lw $a0, 0x1c($sp) -/* 05761C 80056A1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 057620 80056A20 3C018016 */ lui $at, %hi(D_80165CB8) # 0x8016 -/* 057624 80056A24 000478C0 */ sll $t7, $a0, 3 -/* 057628 80056A28 01E47823 */ subu $t7, $t7, $a0 -/* 05762C 80056A2C 000F7940 */ sll $t7, $t7, 5 -/* 057630 80056A30 002F0821 */ addu $at, $at, $t7 -/* 057634 80056A34 A4205CB8 */ sh $zero, %lo(D_80165CB8)($at) # 0x5cb8($at) -/* 057638 80056A38 03E00008 */ jr $ra -/* 05763C 80056A3C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/non_matchings/code_800431B0/func_80056A40.s b/asm/non_matchings/code_800431B0/func_80056A40.s deleted file mode 100644 index 407fe6a3d..000000000 --- a/asm/non_matchings/code_800431B0/func_80056A40.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel func_80056A40 -/* 057640 80056A40 00047080 */ sll $t6, $a0, 2 -/* 057644 80056A44 3C048018 */ lui $a0, %hi(D_80183DD8) # 0x8018 -/* 057648 80056A48 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 05764C 80056A4C 008E2021 */ addu $a0, $a0, $t6 -/* 057650 80056A50 8C843DD8 */ lw $a0, %lo(D_80183DD8)($a0) # 0x3dd8($a0) -/* 057654 80056A54 AFBF0014 */ sw $ra, 0x14($sp) -/* 057658 80056A58 AFA50024 */ sw $a1, 0x24($sp) -/* 05765C 80056A5C 00002825 */ move $a1, $zero -/* 057660 80056A60 0C01C8E9 */ jal func_800723A4 -/* 057664 80056A64 AFA4001C */ sw $a0, 0x1c($sp) -/* 057668 80056A68 8FA4001C */ lw $a0, 0x1c($sp) -/* 05766C 80056A6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 057670 80056A70 8FAF0024 */ lw $t7, 0x24($sp) -/* 057674 80056A74 0004C0C0 */ sll $t8, $a0, 3 -/* 057678 80056A78 0304C023 */ subu $t8, $t8, $a0 -/* 05767C 80056A7C 0018C140 */ sll $t8, $t8, 5 -/* 057680 80056A80 3C018016 */ lui $at, %hi(D_80165CB8) # 0x8016 -/* 057684 80056A84 00380821 */ addu $at, $at, $t8 -/* 057688 80056A88 27BD0020 */ addiu $sp, $sp, 0x20 -/* 05768C 80056A8C 03E00008 */ jr $ra -/* 057690 80056A90 A42F5CB8 */ sh $t7, %lo(D_80165CB8)($at) # 0x5cb8($at) diff --git a/include/objects.h b/include/objects.h index f8f924be8..d51f88455 100644 --- a/include/objects.h +++ b/include/objects.h @@ -28,6 +28,7 @@ typedef struct /* 0x68 */ s32* unk_068; /* 0x6C */ s32 unk_06C; /* 0x70 */ s32 unk_070; + // For at least 1 object type this is meant to be a Vtx*. See func_800555BC /* 0x74 */ s32 unk_074; /* 0x78 */ s8 unk_078[0x04]; /* 0x7C */ s32 unk_07C; @@ -46,9 +47,7 @@ typedef struct /* 0xAC */ s16 unk_0AC; /* 0xAE */ s16 unk_0AE; /* 0xB0 */ s16 unk_0B0; - /* 0xB2 */ u16 unk_0B2; - /* 0xB4 */ u16 unk_0B4; - /* 0xB6 */ u16 unk_0B6; + /* 0xB2 */ Vec3su unk_0B2; /* 0xB8 */ Vec3s unk_0B8; /* 0xBE */ Vec3su unk_0BE; /* 0xC4 */ u16 unk_0C4; diff --git a/src/code_800431B0.c b/src/code_800431B0.c index 88a4909d8..99d3a2f4d 100644 --- a/src/code_800431B0.c +++ b/src/code_800431B0.c @@ -4,8 +4,11 @@ #include #include #include +#include "memory.h" #include "math_util_2.h" #include "objects.h" +#include "variables.h" +#include "common_textures.h" #include "code_8001F980.h" #include "code_800431B0.h" #include "code_80071F00.h" @@ -23,7 +26,7 @@ void func_80043220(Vec3f arg0, Vec3s arg1, f32 arg2, Gfx *gfx) { gSPDisplayList(gDisplayListHead++, gfx); } -UNUSED void func_800433288(Vec3f arg0, Vec3s arg1, f32 arg2, Gfx *gfx) { +UNUSED void func_80043288(Vec3f arg0, Vec3s arg1, f32 arg2, Gfx *gfx) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D0077A0); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BOTH); @@ -58,7 +61,6 @@ UNUSED void func_80043460(Vec3f arg0, Vec3s arg1, f32 arg2, Gfx *gfx) { } void func_80043500(Vec3f arg0, Vec3s arg1, f32 arg2, Gfx *gfx) { - func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007850); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BOTH); @@ -151,7 +153,7 @@ void func_80043A84(s8 *image, s32 width, s32 height) { void func_80043C28(s8 *image, s32 width, s32 height) { gDPLoadTextureTile(gDisplayListHead++, image, G_IM_FMT_RGBA, G_IM_SIZ_32b, width, height, - 0, 0, width -1, height -1, 0, + 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } @@ -167,7 +169,7 @@ void func_80043EF8(s8 *image, s32 width, s32 height, s32 someMask) { void func_800440B8(s8 *image, s32 width, s32 height) { gDPLoadTextureTile(gDisplayListHead++, image, G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height, - 0, 0, width -1, height -1, 0, + 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } @@ -178,7 +180,7 @@ void func_800441E0(s8 *image, s32 width, s32 height) { void func_80044388(s8 *image, s32 width, s32 height) { gDPLoadTextureTile(gDisplayListHead++, image, G_IM_FMT_IA, G_IM_SIZ_16b, width, height, - 0, 0, width -1, height -1, 0, + 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } @@ -189,7 +191,7 @@ void func_800444B0(s8 *image, s32 width, s32 height) { void func_80044658(s8 *image, s32 width, s32 height) { gDPLoadTextureTile(gDisplayListHead++, image, G_IM_FMT_IA, G_IM_SIZ_8b, width, height, - 0, 0, width -1, height -1, 0, + 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } @@ -198,39 +200,63 @@ void func_8004477C(s8 *image, s32 width, s32 height) { G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } -#ifdef NON_MATCHING - -void func_80044924(s8 *image, s32 width, s32 arg2) { - // s32 a; +#ifdef MIPS_TO_C +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +void func_80044924(s8 *image, s32 width, s32 height) { + Gfx *temp_v0; + Gfx *temp_v0_2; + Gfx *temp_v0_3; + Gfx *temp_v0_4; + Gfx *temp_v0_5; + Gfx *temp_v0_6; + Gfx *temp_v0_7; + s32 temp_t0; s32 temp_t3; - - gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, image); - gDPSetTile(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD); - gDPLoadSync(gDisplayListHead++); + s32 var_a0; - //temp_t3 = (((width * arg2) + 3) >> 2) - 1; -/* + temp_v0 = gDisplayListHead; + gDisplayListHead = temp_v0 + 8; + temp_v0->words.w0 = 0xFD700000; + temp_v0->words.w1 = (u32) image; + temp_v0_2 = gDisplayListHead; + gDisplayListHead = temp_v0_2 + 8; + temp_v0_2->words.w0 = 0xF5700000; + temp_v0_2->words.w1 = 0x07080200; + temp_v0_3 = gDisplayListHead; + gDisplayListHead = temp_v0_3 + 8; + temp_v0_3->words.w0 = 0xE6000000; + temp_v0_3->words.w1 = 0; + temp_v0_4 = gDisplayListHead; + temp_t3 = ((s32) ((width * height) + 3) >> 2) - 1; + gDisplayListHead = temp_v0_4 + 8; + temp_v0_4->words.w0 = 0xF3000000; if (temp_t3 < 0x7FF) { - a = temp_t3; + var_a0 = temp_t3; } else { - a = 0x7FF; + var_a0 = 0x7FF; } -*/ - temp_t3 = (((width * arg2) + 3) >> 2) - 1; - gDPLoadBlock(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, MIN(temp_t3, 0x7FF), ((width / 16) + 0x7FF) / (width / 16)); - gDPPipeSync(gDisplayListHead++); - gDPSetTile(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_4b, ((((width * 2) + 7) >> 3) << 9), 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD); - gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, (width - 1) << 0x2, (arg2 - 1) << 0x2); + temp_t0 = width / 16; + temp_v0_4->words.w1 = ((var_a0 & 0xFFF) << 0xC) | 0x07000000 | (((s32) (temp_t0 + 0x7FF) / temp_t0) & 0xFFF); + temp_v0_5 = gDisplayListHead; + gDisplayListHead = temp_v0_5 + 8; + temp_v0_5->words.w0 = 0xE7000000; + temp_v0_5->words.w1 = 0; + temp_v0_6 = gDisplayListHead; + gDisplayListHead = temp_v0_6 + 8; + temp_v0_6->words.w1 = 0x00080200; + temp_v0_6->words.w0 = ((((s32) ((width >> 1) + 7) >> 3) & 0x1FF) << 9) | 0xF5600000; + temp_v0_7 = gDisplayListHead; + gDisplayListHead = temp_v0_7 + 8; + temp_v0_7->words.w0 = 0xF2000000; + temp_v0_7->words.w1 = ((((width - 1) * 4) & 0xFFF) << 0xC) | (((height - 1) * 4) & 0xFFF); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80044924.s") #endif -//gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_8b, 1, 0x00000000); -//gDPLoadTile(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0, 0); UNUSED void func_80044AB8(s8 *image, s32 width, s32 height) { gDPLoadTextureTile_4b(gDisplayListHead++, image, G_IM_FMT_IA, width, height, - 0, 0, width -1, height -1, 0, + 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } @@ -240,56 +266,58 @@ void func_80044BF8(s8 *image, s32 width, s32 height) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 - - -void func_80044DA0(s32 arg0, s32 arg1, s32 arg2) { +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +void func_80044DA0(s8 *image, s32 width, s32 height) { + /* + It seems like we should be using the below macro, but its not quite right + gDPLoadMultiBlock_4b(gDisplayListHead++, image, G_IM_FMT_I, width, height, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + */ + Gfx *temp_v0; + Gfx *temp_v0_2; + Gfx *temp_v0_3; + Gfx *temp_v0_4; + Gfx *temp_v0_5; + Gfx *temp_v0_6; + Gfx *temp_v0_7; s32 temp_t0; s32 temp_t3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - s32 phi_a0; + s32 var_a0; temp_v0 = gDisplayListHead; gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0xFD900000; - temp_v0->unk4 = arg0; + temp_v0->words.w0 = 0xFD900000; + temp_v0->words.w1 = (u32) image; temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0xF5900000; - temp_v0_2->unk4 = 0x7080200; + temp_v0_2->words.w0 = 0xF5900000; + temp_v0_2->words.w1 = 0x07080200; temp_v0_3 = gDisplayListHead; gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0xE6000000; - temp_v0_3->unk4 = 0; + temp_v0_3->words.w0 = 0xE6000000; + temp_v0_3->words.w1 = 0; temp_v0_4 = gDisplayListHead; - temp_t3 = (((arg1 * arg2) + 3) >> 2) - 1; + temp_t3 = ((s32) ((width * height) + 3) >> 2) - 1; gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0xF3000000; + temp_v0_4->words.w0 = 0xF3000000; if (temp_t3 < 0x7FF) { - phi_a0 = temp_t3; + var_a0 = temp_t3; } else { - phi_a0 = 0x7FF; + var_a0 = 0x7FF; } - temp_t0 = arg1 / 0x10; - temp_v0_4->unk4 = ((phi_a0 & 0xFFF) << 0xC) | 0x7000000 | (((temp_t0 + 0x7FF) / temp_t0) & 0xFFF); + temp_t0 = width / 16; + temp_v0_4->words.w1 = ((var_a0 & 0xFFF) << 0xC) | 0x07000000 | (((s32) (temp_t0 + 0x7FF) / temp_t0) & 0xFFF); temp_v0_5 = gDisplayListHead; gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk0 = 0xE7000000; - temp_v0_5->unk4 = 0; + temp_v0_5->words.w0 = 0xE7000000; + temp_v0_5->words.w1 = 0; temp_v0_6 = gDisplayListHead; gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk4 = 0x80200; - temp_v0_6->unk0 = (((((arg1 >> 1) + 7) >> 3) & 0x1FF) << 9) | 0xF5800000; + temp_v0_6->words.w1 = 0x00080200; + temp_v0_6->words.w0 = ((((s32) ((width >> 1) + 7) >> 3) & 0x1FF) << 9) | 0xF5800000; temp_v0_7 = gDisplayListHead; gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk0 = 0xF2000000; - temp_v0_7->unk4 = ((((arg1 - 1) * 4) & 0xFFF) << 0xC) | (((arg2 - 1) * 4) & 0xFFF); + temp_v0_7->words.w0 = 0xF2000000; + temp_v0_7->words.w1 = ((((width - 1) * 4) & 0xFFF) << 0xC) | (((height - 1) * 4) & 0xFFF); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80044DA0.s") @@ -352,61 +380,58 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80044F34.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_80043A54(s32); // extern - - -void func_800450C8(s32 arg0, s32 arg1, s32 arg2) { +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +void func_800450C8(s8 *image, s32 width, s32 height) { + Gfx *temp_v1; + Gfx *temp_v1_2; + Gfx *temp_v1_3; + Gfx *temp_v1_4; + Gfx *temp_v1_5; + Gfx *temp_v1_6; + Gfx *temp_v1_7; s32 temp_a1; s32 temp_t0; s32 temp_t6; s32 temp_v0; - void *temp_v1; - void *temp_v1_2; - void *temp_v1_3; - void *temp_v1_4; - void *temp_v1_5; - void *temp_v1_6; - void *temp_v1_7; - s32 phi_t3; + s32 var_t3; - temp_v0 = func_80043A54(arg1); + temp_v0 = func_80043A54(width); temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0xFD900000; - temp_v1->unk4 = arg0; + temp_v1->words.w0 = 0xFD900000; + temp_v1->words.w1 = (u32) image; temp_v1_2 = gDisplayListHead; temp_t6 = (temp_v0 & 0xF) * 0x10; gDisplayListHead = temp_v1_2 + 8; - temp_v1_2->unk0 = 0xF5900000; - temp_v1_2->unk4 = temp_t6 | 0x7080100; + temp_v1_2->words.w0 = 0xF5900000; + temp_v1_2->words.w1 = temp_t6 | 0x07080100; temp_v1_3 = gDisplayListHead; gDisplayListHead = temp_v1_3 + 8; - temp_v1_3->unk0 = 0xE6000000; - temp_v1_3->unk4 = 0; + temp_v1_3->words.w0 = 0xE6000000; + temp_v1_3->words.w1 = 0; temp_v1_4 = gDisplayListHead; - temp_t0 = (((arg1 * arg2) + 3) >> 2) - 1; + temp_t0 = ((s32) ((width * height) + 3) >> 2) - 1; gDisplayListHead = temp_v1_4 + 8; - temp_v1_4->unk0 = 0xF3000000; + temp_v1_4->words.w0 = 0xF3000000; if (temp_t0 < 0x7FF) { - phi_t3 = temp_t0; + var_t3 = temp_t0; } else { - phi_t3 = 0x7FF; + var_t3 = 0x7FF; } - temp_a1 = arg1 / 0x10; - temp_v1_4->unk4 = ((phi_t3 & 0xFFF) << 0xC) | 0x7000000 | (((temp_a1 + 0x7FF) / temp_a1) & 0xFFF); + temp_a1 = width / 16; + temp_v1_4->words.w1 = ((var_t3 & 0xFFF) << 0xC) | 0x07000000 | (((s32) (temp_a1 + 0x7FF) / temp_a1) & 0xFFF); temp_v1_5 = gDisplayListHead; gDisplayListHead = temp_v1_5 + 8; - temp_v1_5->unk0 = 0xE7000000; - temp_v1_5->unk4 = 0; + temp_v1_5->words.w0 = 0xE7000000; + temp_v1_5->words.w1 = 0; temp_v1_6 = gDisplayListHead; gDisplayListHead = temp_v1_6 + 8; - temp_v1_6->unk4 = temp_t6 | 0x80100; - temp_v1_6->unk0 = (((((arg1 >> 1) + 7) >> 3) & 0x1FF) << 9) | 0xF5800000; + temp_v1_6->words.w1 = temp_t6 | 0x80100; + temp_v1_6->words.w0 = ((((s32) ((width >> 1) + 7) >> 3) & 0x1FF) << 9) | 0xF5800000; temp_v1_7 = gDisplayListHead; gDisplayListHead = temp_v1_7 + 8; - temp_v1_7->unk0 = 0xF2000000; - temp_v1_7->unk4 = ((((arg1 - 1) * 4) & 0xFFF) << 0xC) | (((arg2 - 1) * 4) & 0xFFF); + temp_v1_7->words.w0 = 0xF2000000; + temp_v1_7->words.w1 = ((((width - 1) * 4) & 0xFFF) << 0xC) | (((height - 1) * 4) & 0xFFF); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800450C8.s") @@ -424,7 +449,7 @@ void func_8004544C(s8 *image, s32 width, s32 height, s32 someMask) { UNUSED void func_80045614(s8 *image, s32 width, s32 height) { gDPLoadTextureTile(gDisplayListHead++, image, G_IM_FMT_CI, G_IM_SIZ_8b, width, height, - 0, 0, width - 1, height -1, 0, + 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } @@ -612,244 +637,133 @@ UNUSED void func_80045C48(Vec3f arg0, Vec3s arg1, f32 arg2, Vtx *arg3) { gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80043D50(s32, s32, s32); // extern -void func_80045B2C(s32); // extern +void func_80045D0C(s8 *arg0, Vtx *arg1, s32 width, s32 arg3, s32 height) { + s32 vertexIndex; + s32 heightIndex; + s8 *var_s1; - -void func_80045D0C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - s32 temp_lo; - s32 temp_s2; - void *temp_v1; - s32 phi_s1; - s32 phi_s0; - s32 phi_s2; - - temp_lo = arg3 / arg4; - phi_s1 = arg0; - phi_s0 = 0; - phi_s2 = 0; - if (temp_lo > 0) { - do { - func_80043D50(phi_s1, arg2, arg4); - func_80045B2C((phi_s0 * 0x10) + arg1); - temp_s2 = phi_s2 + 1; - phi_s1 += arg2 * arg4 * 2; - phi_s0 += 4; - phi_s2 = temp_s2; - } while (temp_s2 != temp_lo); - } - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0xBB000000; - temp_v1->unk4 = 0x10001; + vertexIndex = 0; + var_s1 = arg0; + for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { + func_80043D50(var_s1, width, height); + func_80045B2C(&arg1[vertexIndex]); + var_s1 += width * height * 2; + vertexIndex += 4; + } + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80045D0C.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80043D50(s32, s32, s32); // extern -void func_80045B2C(s32); // extern +void func_80045E10(s8 *arg0, Vtx *arg1, s32 width, s32 arg3, s32 height) { + s32 vertexIndex; + s32 heightIndex; + s8 *var_s1; - -void func_80045E10(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - s32 temp_lo; - s32 temp_s2; - void *temp_v1; - s32 phi_s1; - s32 phi_s0; - s32 phi_s2; - - temp_lo = arg3 / arg4; - phi_s1 = arg0; - phi_s0 = 0; - phi_s2 = 0; - if (temp_lo > 0) { - do { - func_80043D50(phi_s1, arg2, arg4); - func_80045B2C((phi_s0 * 0x10) + arg1); - temp_s2 = phi_s2 + 1; - phi_s1 += arg2 * (arg4 - 1) * 2; - phi_s0 += 4; - phi_s2 = temp_s2; - } while (temp_s2 != temp_lo); - } - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0xBB000000; - temp_v1->unk4 = 0x10001; + vertexIndex = 0; + var_s1 = arg0; + for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { + func_80043D50(var_s1, width, height); + func_80045B2C(&arg1[vertexIndex]); + var_s1 += width * (height - 1) * 2; + vertexIndex += 4; + } + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80045E10.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80043EF8(s32, s32, s32, s32); // extern -void func_80045B2C(s32); // extern +void func_80045F18(s8 *arg0, Vtx *arg1, s32 width, s32 arg3, s32 height, s32 someMask) { + s32 vertexIndex; + s32 heightIndex; + s8 *var_s1; - -void func_80045F18(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { - s32 temp_lo; - s32 temp_s2; - void *temp_v1; - s32 phi_s1; - s32 phi_s0; - s32 phi_s2; - - temp_lo = arg3 / arg4; - phi_s1 = arg0; - phi_s0 = 0; - phi_s2 = 0; - if (temp_lo > 0) { - do { - func_80043EF8(phi_s1, arg2, arg4, arg5); - func_80045B2C((phi_s0 * 0x10) + arg1); - temp_s2 = phi_s2 + 1; - phi_s1 += arg2 * (arg4 - 1) * 2; - phi_s0 += 4; - phi_s2 = temp_s2; - } while (temp_s2 != temp_lo); - } - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0xBB000000; - temp_v1->unk4 = 0x10001; + vertexIndex = 0; + var_s1 = arg0; + for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { + func_80043EF8(var_s1, width, height, someMask); + func_80045B2C(&arg1[vertexIndex]); + var_s1 += width * (height - 1) * 2; + vertexIndex += 4; + } + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80045F18.s") -#endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80045738(s32, s32, s32, s32); // extern -void func_80045B2C(s32); // extern -extern Gfx D_0D008120; -extern Gfx D_0D008138; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80045738(s8 *, s32, s32, s32); /* extern */ - -void func_80046030(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { +void func_80046030(s8 *arg0, s32 arg1, Vtx *arg2, s32 width, s32 arg4, s32 height) { + Gfx *temp_v0; + Gfx *temp_v0_2; + Gfx *temp_v0_3; s32 temp_lo; s32 temp_lo_2; - s32 temp_s3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - s32 phi_s1; - s32 phi_s2; - s32 phi_s0; - s32 phi_s3; + s32 var_s0; + s32 var_s2; + s32 var_s3; + s8 *var_s1; temp_v0 = gDisplayListHead; gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x6000000; - temp_v0->unk4 = &D_0D008138; - temp_lo = arg4 / arg5; - phi_s1 = arg0; - phi_s2 = arg1; - phi_s0 = 0; - phi_s3 = 0; + temp_v0->words.w0 = 0x06000000; + temp_v0->words.w1 = (u32) D_0D008138; + var_s0 = 0; + temp_lo = arg4 / height; + var_s1 = arg0; + var_s2 = arg1; + var_s3 = 0; if (temp_lo > 0) { - temp_lo_2 = arg3 * (arg5 - 1); + temp_lo_2 = width * (height - 1); do { - func_80045738(phi_s1, phi_s2, arg3, arg5); - func_80045B2C((phi_s0 * 0x10) + arg2); - temp_s3 = phi_s3 + 1; - phi_s1 += temp_lo_2 * 2; - phi_s2 += temp_lo_2; - phi_s0 += 4; - phi_s3 = temp_s3; - } while (temp_s3 != temp_lo); + func_80045738(var_s1, var_s2, width, height); + func_80045B2C(&arg2[var_s0]); + var_s3 += 1; + var_s1 += temp_lo_2 * 2; + var_s2 += temp_lo_2; + var_s0 += 4; + } while (var_s3 != temp_lo); } temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0xBB000000; - temp_v0_2->unk4 = 0x10001; + temp_v0_2->words.w0 = 0xBB000000; + temp_v0_2->words.w1 = 0x00010001; temp_v0_3 = gDisplayListHead; gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x6000000; - temp_v0_3->unk4 = &D_0D008120; + temp_v0_3->words.w0 = 0x06000000; + temp_v0_3->words.w1 = (u32) D_0D008120; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80046030.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80043A84(s32, s32, s32); // extern -void func_80045B2C(s32); // extern +void func_800461A4(s8 *arg0, Vtx *arg1, s32 width, s32 arg3, s32 height) { + s32 vertexIndex; + s32 heightIndex; + s8 *var_s1; - -void func_800461A4(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - s32 temp_lo; - s32 temp_s2; - void *temp_v1; - s32 phi_s1; - s32 phi_s0; - s32 phi_s2; - - temp_lo = arg3 / arg4; - phi_s1 = arg0; - phi_s0 = 0; - phi_s2 = 0; - if (temp_lo > 0) { - do { - func_80043A84(phi_s1, arg2, arg4); - func_80045B2C((phi_s0 * 0x10) + arg1); - temp_s2 = phi_s2 + 1; - phi_s1 += arg2 * arg4 * 4; - phi_s0 += 4; - phi_s2 = temp_s2; - } while (temp_s2 != temp_lo); - } - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0xBB000000; - temp_v1->unk4 = 0x10001; + vertexIndex = 0; + var_s1 = arg0; + for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { + func_80043A84(var_s1, width, height); + func_80045B2C(&arg1[vertexIndex]); + var_s1 += width * height * 4; + vertexIndex += 4; + } + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800461A4.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80043A84(s32, s32, s32); // extern -void func_80045B2C(s32); // extern +void func_800462A8(s8 *arg0, Vtx *arg1, s32 width, s32 arg3, s32 height) { + s32 vertexIndex; + s32 heightIndex; + s8 *var_s1; - -void func_800462A8(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - s32 temp_lo; - s32 temp_s2; - void *temp_v1; - s32 phi_s1; - s32 phi_s0; - s32 phi_s2; - - temp_lo = arg3 / arg4; - phi_s1 = arg0; - phi_s0 = 0; - phi_s2 = 0; - if (temp_lo > 0) { - do { - func_80043A84(phi_s1, arg2, arg4); - func_80045B2C((phi_s0 * 0x10) + arg1); - temp_s2 = phi_s2 + 1; - phi_s1 += arg2 * (arg4 - 1) * 4; - phi_s0 += 4; - phi_s2 = temp_s2; - } while (temp_s2 != temp_lo); - } - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0xBB000000; - temp_v1->unk4 = 0x10001; + vertexIndex = 0; + var_s1 = arg0; + for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { + func_80043A84(var_s1, width, height); + func_80045B2C(&arg1[vertexIndex]); + var_s1 += width * (height - 1) * 4; + vertexIndex += 4; + } + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800462A8.s") -#endif void func_800463B0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); @@ -865,7 +779,6 @@ void func_80046424(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s } void func_800464D0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { - func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007948); func_80045E10(arg4, arg5, arg6, arg7, arg9); @@ -990,7 +903,6 @@ UNUSED void func_80046DF4(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 } void func_80046E60(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - gSPDisplayList(gDisplayListHead++, D_0D007D78); gDPLoadTLUT_pal256(gDisplayListHead++, arg0); func_800452A4(arg1, arg2, arg3); @@ -1002,480 +914,247 @@ void func_80046F60(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { func_8004544C(arg1, arg2, arg3, arg4); } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800452A4(s32, s32, s32); // extern -extern Gfx D_0D006940; +void func_80047068(s8 *arg0, s8 *arg1, Vtx *arg2, s32 arg3, s32 arg4, s32 width, s32 height) { + s32 heightIndex; + s32 vertexIndex; + s8 *var_s2; - -void func_80047068(s32 arg0, s32 arg1, s32 arg2, ? arg3, s32 arg4, s32 arg5, s32 arg6) { - s32 temp_lo; - s32 temp_s3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - void *temp_v0_8; - void *temp_v0_9; - s32 phi_s2; - s32 phi_s1; - s32 phi_s3; -gDPLoadTLUT_pal256(gDisplayListHead++, arg0); - - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0xFD100000; - temp_v0->unk4 = arg0; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk4 = 0; - temp_v0_2->unk0 = 0xE8000000; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = 0x7000000; - temp_v0_3->unk0 = 0xF5000100; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = 0; - temp_v0_4->unk0 = 0xE6000000; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = 0x73FC000; - temp_v0_5->unk0 = 0xF0000000; - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk4 = 0; - temp_v0_6->unk0 = 0xE7000000; - temp_lo = arg4 / arg6; - phi_s2 = arg1; - phi_s1 = 0; - phi_s3 = 0; - if (temp_lo > 0) { - do { - func_800452A4(phi_s2, arg5, arg6); - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk0 = 0x400103F; - temp_s3 = phi_s3 + 1; - temp_v0_7->unk4 = (phi_s1 * 0x10) + arg2; - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->unk4 = &D_0D006940; - temp_v0_8->unk0 = 0x6000000; - phi_s2 += arg5 * arg6; - phi_s1 += 4; - phi_s3 = temp_s3; - } while (temp_s3 != temp_lo); + gDPLoadTLUT_pal256(gDisplayListHead++, arg0); + vertexIndex = 0; + var_s2 = arg1; + for (heightIndex = 0; heightIndex < arg4 / height; heightIndex++) { + func_800452A4(var_s2, width, height); + gSPVertex(gDisplayListHead++, &arg2[vertexIndex], 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D006940); + var_s2 += width * height; + vertexIndex += 4; } - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk0 = 0xBB000000; - temp_v0_9->unk4 = 0x10001; + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80047068.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800452A4(s32, s32, s32); // extern -extern Gfx D_0D006940; +void func_80047270(s8 *arg0, s8 *arg1, Vtx *arg2, s32 arg3, s32 arg4, s32 width, s32 height) { + s32 heightIndex; + s32 vertexIndex; + s8 *var_s2; - -void func_80047270(s32 arg0, s32 arg1, s32 arg2, ? arg3, s32 arg4, s32 arg5, s32 arg6) { - s32 temp_lo; - s32 temp_s3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - void *temp_v0_8; - void *temp_v0_9; - s32 phi_s2; - s32 phi_s1; - s32 phi_s3; - - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0xFD100000; - temp_v0->unk4 = arg0; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk4 = 0; - temp_v0_2->unk0 = 0xE8000000; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = 0x7000000; - temp_v0_3->unk0 = 0xF5000100; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = 0; - temp_v0_4->unk0 = 0xE6000000; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = 0x73FC000; - temp_v0_5->unk0 = 0xF0000000; - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk4 = 0; - temp_v0_6->unk0 = 0xE7000000; - temp_lo = arg4 / arg6; - phi_s2 = arg1; - phi_s1 = 0; - phi_s3 = 0; - if (temp_lo > 0) { - do { - func_800452A4(phi_s2, arg5, arg6); - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk0 = 0x400103F; - temp_s3 = phi_s3 + 1; - temp_v0_7->unk4 = (phi_s1 * 0x10) + arg2; - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->unk4 = &D_0D006940; - temp_v0_8->unk0 = 0x6000000; - phi_s2 += arg5 * (arg6 - 1); - phi_s1 += 4; - phi_s3 = temp_s3; - } while (temp_s3 != temp_lo); + gDPLoadTLUT_pal256(gDisplayListHead++, arg0); + vertexIndex = 0; + var_s2 = arg1; + for (heightIndex = 0; heightIndex < arg4 / height; heightIndex++) { + func_800452A4(var_s2, width, height); + gSPVertex(gDisplayListHead++, &arg2[vertexIndex], 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D006940); + var_s2 += width * (height - 1); + vertexIndex += 4; } - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk0 = 0xBB000000; - temp_v0_9->unk4 = 0x10001; + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80047270.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_8004544C(s32, s32, s32, s32); // extern -extern Gfx D_0D006940; +void func_8004747C(s8 *arg0, s8 *arg1, Vtx *arg2, s32 arg3, s32 arg4, s32 width, s32 height, s32 someMask) { + s32 heightIndex; + s32 vertexIndex; + s8 *var_s2; - -void func_8004747C(s32 arg0, s32 arg1, s32 arg2, ? arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7) { - s32 temp_lo; - s32 temp_s3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - void *temp_v0_8; - void *temp_v0_9; - s32 phi_s2; - s32 phi_s1; - s32 phi_s3; - - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0xFD100000; - temp_v0->unk4 = arg0; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk4 = 0; - temp_v0_2->unk0 = 0xE8000000; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = 0x7000000; - temp_v0_3->unk0 = 0xF5000100; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = 0; - temp_v0_4->unk0 = 0xE6000000; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = 0x73FC000; - temp_v0_5->unk0 = 0xF0000000; - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk4 = 0; - temp_v0_6->unk0 = 0xE7000000; - temp_lo = arg4 / arg6; - phi_s2 = arg1; - phi_s1 = 0; - phi_s3 = 0; - if (temp_lo > 0) { - do { - func_8004544C(phi_s2, arg5, arg6, arg7); - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk0 = 0x400103F; - temp_s3 = phi_s3 + 1; - temp_v0_7->unk4 = (phi_s1 * 0x10) + arg2; - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->unk4 = &D_0D006940; - temp_v0_8->unk0 = 0x6000000; - phi_s2 += arg5 * (arg6 - 1); - phi_s1 += 4; - phi_s3 = temp_s3; - } while (temp_s3 != temp_lo); + gDPLoadTLUT_pal256(gDisplayListHead++, arg0); + vertexIndex = 0; + var_s2 = arg1; + for (heightIndex = 0; heightIndex < arg4 / height; heightIndex++) { + func_8004544C(var_s2, width, height, someMask); + gSPVertex(gDisplayListHead++, &arg2[vertexIndex], 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D006940); + var_s2 += width * (height - 1); + vertexIndex += 4; } - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk0 = 0xBB000000; - temp_v0_9->unk4 = 0x10001; + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004747C.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800452A4(s32, s32, s32); // extern -extern Gfx D_0D006940; +void func_8004768C(s8 *arg0, s8 *arg1, Vtx *arg2, s32 arg3, s32 width, s32 height) { + s32 heightIndex; + s32 vertexIndex; + s8 *var_s2; - -void func_8004768C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { - s32 temp_lo; - s32 temp_s3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - void *temp_v0_8; - void *temp_v0_9; - s32 phi_s2; - s32 phi_s1; - s32 phi_s3; - - temp_lo = arg3 / arg5; - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0xFD100000; - temp_v0->unk4 = arg0; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk4 = 0; - temp_v0_2->unk0 = 0xE8000000; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = 0x7000000; - temp_v0_3->unk0 = 0xF5000100; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = 0; - temp_v0_4->unk0 = 0xE6000000; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = 0x73FC000; - temp_v0_5->unk0 = 0xF0000000; - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk4 = 0; - temp_v0_6->unk0 = 0xE7000000; - phi_s2 = arg1; - phi_s1 = 0; - phi_s3 = 0; - if (temp_lo > 0) { - do { - func_800452A4(phi_s2, arg5, arg4); - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk0 = 0x400103F; - temp_s3 = phi_s3 + 1; - temp_v0_7->unk4 = (phi_s1 * 0x10) + arg2; - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->unk4 = &D_0D006940; - temp_v0_8->unk0 = 0x6000000; - phi_s2 += arg5 * arg4; - phi_s1 += 4; - phi_s3 = temp_s3; - } while (temp_s3 != temp_lo); + gDPLoadTLUT_pal256(gDisplayListHead++, arg0); + vertexIndex = 0; + var_s2 = arg1; + for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { + // Something seems off about arguments here, but if it matches it matches + func_800452A4(var_s2, height, width); + gSPVertex(gDisplayListHead++, &arg2[vertexIndex], 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D006940); + var_s2 += height * width; + vertexIndex += 4; } - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk0 = 0xBB000000; - temp_v0_9->unk4 = 0x10001; + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004768C.s") -#endif -void func_8004788C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +void func_8004788C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007CB8); func_80047068(arg4, arg5, arg6, arg7, arg8, arg9, argA); } -void func_80047910(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +void func_80047910(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007CD8); func_80047270(arg4, arg5, arg6, arg7, arg8, arg9, argA); } -void func_80047994(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +void func_80047994(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007CF8); func_80047270(arg4, arg5, arg6, arg7, arg8, arg9, argA); } -void func_80047A18(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +void func_80047A18(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007D18); func_80047068(arg4, arg5, arg6, arg7, arg8, arg9, argA); } -void func_80047A9C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +void func_80047A9C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007D38); func_80047270(arg4, arg5, arg6, arg7, arg8, arg9, argA); } -UNUSED void func_80047B20(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +UNUSED void func_80047B20(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007D38); func_8004768C(arg4, arg5, arg6, arg7, arg8, arg9); } -void func_80047B9C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB) { +void func_80047B9C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, Vtx *arg7, s32 arg8, s32 arg9, s32 argA, s32 argB) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007DB8); func_8004B2BC(arg4); func_80047068(arg5, arg6, arg7, arg8, arg9, argA, argB); } -UNUSED void func_80047C28(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB) { +UNUSED void func_80047C28(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, Vtx *arg7, s32 arg8, s32 arg9, s32 argA, s32 argB) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007DD8); func_8004B2BC(arg4); func_80047270(arg5, arg6, arg7, arg8, arg9, argA, argB); } -void func_80047CB4(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB) { +void func_80047CB4(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, Vtx *arg7, s32 arg8, s32 arg9, s32 argA, s32 argB) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007E38); func_8004B2BC(arg4); func_80047068(arg5, arg6, arg7, arg8, arg9, argA, argB); } -UNUSED void func_80047D40(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB) { +UNUSED void func_80047D40(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, Vtx *arg7, s32 arg8, s32 arg9, s32 argA, s32 argB) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007E58); func_8004B2BC(arg4); func_80047270(arg5, arg6, arg7, arg8, arg9, argA, argB); } -UNUSED void func_80047DCC(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +UNUSED void func_80047DCC(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007CB8); func_80047068(arg3, arg4, arg5, arg6, arg7, arg8, arg9); } -void func_80047E48(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +void func_80047E48(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007CD8); func_80047270(arg3, arg4, arg5, arg6, arg7, arg8, arg9); } -UNUSED void func_80047EC4(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +UNUSED void func_80047EC4(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007D18); func_80047068(arg3, arg4, arg5, arg6, arg7, arg8, arg9); } -void func_80047F40(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +void func_80047F40(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007D38); func_80047270(arg3, arg4, arg5, arg6, arg7, arg8, arg9); } -UNUSED void func_80047FBC(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +UNUSED void func_80047FBC(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007D58); func_80047270(arg3, arg4, arg5, arg6, arg7, arg8, arg9); } -UNUSED void func_80048038(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +UNUSED void func_80048038(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007D98); func_80047068(arg3, arg4, arg5, arg6, arg7, arg8, arg9); } -void func_800480B4(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +void func_800480B4(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007D78); func_80047270(arg3, arg4, arg5, arg6, arg7, arg8, arg9); } -void func_80048130(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +void func_80048130(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007D78); func_8004747C(arg3, arg4, arg5, arg6, arg7, arg8, arg9, argA); } -UNUSED void func_800481B4(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { +UNUSED void func_800481B4(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007D78); func_8004768C(arg3, arg4, arg5, arg6, arg7, arg8); } -UNUSED void func_80048228(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +UNUSED void func_80048228(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007DB8); func_8004B2BC(arg3); func_80047068(arg4, arg5, arg6, arg7, arg8, arg9, argA); } -void func_800482AC(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +void func_800482AC(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007DD8); func_8004B2BC(arg3); func_80047270(arg4, arg5, arg6, arg7, arg8, arg9, argA); } -UNUSED void func_80048330(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +UNUSED void func_80048330(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007E38); func_8004B2BC(arg3); func_80047068(arg4, arg5, arg6, arg7, arg8, arg9, argA); } -void func_800483B4(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +void func_800483B4(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007E58); func_8004B2BC(arg3); func_80047270(arg4, arg5, arg6, arg7, arg8, arg9, argA); } -void func_80048438(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +void func_80048438(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007DF8); func_8004B2BC(arg3); func_80047068(arg4, arg5, arg6, arg7, arg8, arg9, argA); } -void func_800484BC(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +void func_800484BC(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007E18); func_8004B2BC(arg3); func_80047270(arg4, arg5, arg6, arg7, arg8, arg9, argA); } -void func_80048540(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +void func_80048540(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007E98); func_8004B2BC(arg3); func_80047270(arg4, arg5, arg6, arg7, arg8, arg9, argA); } -void func_800485C4(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { - +void func_800485C4(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007E98); gDPSetAlphaCompare(gDisplayListHead++, G_AC_DITHER); @@ -1487,876 +1166,531 @@ void func_800485C4(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s gDPSetAlphaCompare(gDisplayListHead++, G_AC_NONE); } -UNUSED void func_800486B0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_800486B0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_8004788C(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 24, 48, 24, 48); } -UNUSED void func_80048718(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_80048718(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_8004788C(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 32, 32, 32, 32); } -UNUSED void func_80048780(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_80048780(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_80048540(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 48, 48, 48, 40); } -UNUSED void func_800487DC(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_800487DC(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_8004788C(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 48, 48, 48, 48); } -UNUSED void func_80048844(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_80048844(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_8004788C(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 64, 32, 64, 32); } -UNUSED void func_800488AC(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_800488AC(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_8004788C(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 64, 64, 64, 32); } -UNUSED void func_80048914(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_80048914(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_80047910(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 64, 64, 64, 32); } -UNUSED void func_8004897C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_8004897C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_80047994(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 64, 64, 64, 32); } -UNUSED void func_800489E4(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_800489E4(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_80047A18(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 64, 64, 64, 32); } -UNUSED void func_80048A4C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_80048A4C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_80047A9C(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 64, 64, 64, 32); } -UNUSED void func_80048AB4(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7) { +UNUSED void func_80048AB4(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, Vtx *arg7) { func_80047B9C(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, 64, 64, 64, 32); } -UNUSED void func_80048B24(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7) { +UNUSED void func_80048B24(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, Vtx *arg7) { func_80047CB4(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, 64, 64, 64, 32); } -UNUSED void func_80048B94(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_80048B94(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5) { func_80047E48(arg0, arg1, arg2, arg3, arg4, arg5, 64, 64, 64, 32); } -UNUSED void func_80048BE8(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_80048BE8(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5) { func_80047F40(arg0, arg1, arg2, arg3, arg4, arg5, 64, 64, 64, 32); } -UNUSED void func_80048C3C(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_80048C3C(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5) { func_800480B4(arg0, arg1, arg2, arg3, arg4, arg5, 64, 64, 64, 32); } -UNUSED void func_80048C90(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_80048C90(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_800482AC(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 64, 64, 64, 32); } -UNUSED void func_80048CEC(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_80048CEC(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_800483B4(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 64, 64, 64, 32); } -UNUSED void func_80048D48(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_80048D48(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_800484BC(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 64, 64, 64, 32); } -UNUSED void func_80048DA4(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_80048DA4(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_80048540(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 64, 64, 64, 32); } -UNUSED void func_80048E00(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_80048E00(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_80047910(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 72, 48, 72, 24); } -UNUSED void func_80048E68(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_80048E68(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_80047A18(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 72, 48, 72, 24); } -UNUSED void func_80048ED0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6) { +UNUSED void func_80048ED0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, Vtx *arg6) { func_80047A9C(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 72, 48, 72, 24); } -UNUSED void func_80048F38(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_80048F38(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, Vtx *arg5) { func_800480B4(arg0, arg1, arg2, arg3, arg4, arg5, 72, 48, 72, 24); } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800441E0(s32, s32, s32); // extern -extern Gfx D_0D006940; +void func_80048F8C(s8 *arg0, Vtx *arg1, s32 arg2, s32 arg3, s32 width, s32 height) { + s32 heightIndex; + s32 widthIndex; + s32 vertexIndex; + s8 *var_s3; - -void func_80048F8C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { - s32 sp5C; - s32 sp40; - s32 temp_lo; - s32 temp_lo_2; - s32 temp_s0; - s32 temp_s2; - s32 temp_s3; - s32 temp_v0_3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_4; - s32 phi_v0; - s32 phi_s3; - s32 phi_s2; - s32 phi_s0; - s32 phi_v0_2; - s32 phi_s3_2; - s32 phi_s2_2; - - temp_lo = arg3 / arg5; - sp40 = temp_lo; - phi_v0 = 0; - phi_s3_2 = arg0; - phi_s2_2 = 0; - if (temp_lo > 0) { - temp_lo_2 = arg2 / arg4; - do { - phi_s3 = phi_s3_2; - phi_s2 = phi_s2_2; - phi_s0 = 0; - phi_v0_2 = phi_v0; - if (temp_lo_2 > 0) { - sp5C = phi_v0; - do { - func_800441E0(phi_s3, arg4, arg5); - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x400103F; - temp_s0 = phi_s0 + 1; - temp_v0->unk4 = (phi_s2 * 0x10) + arg1; - temp_v0_2 = gDisplayListHead; - temp_s3 = phi_s3 + (arg4 * arg5 * 2); - gDisplayListHead = temp_v0_2 + 8; - temp_s2 = phi_s2 + 4; - temp_v0_2->unk4 = &D_0D006940; - temp_v0_2->unk0 = 0x6000000; - phi_s3 = temp_s3; - phi_s2 = temp_s2; - phi_s0 = temp_s0; - phi_s3_2 = temp_s3; - phi_s2_2 = temp_s2; - } while (temp_s0 != temp_lo_2); - phi_v0_2 = sp5C; - } - temp_v0_3 = phi_v0_2 + 1; - phi_v0 = temp_v0_3; - } while (temp_v0_3 != sp40); + vertexIndex = 0; + var_s3 = arg0; + for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { + for (widthIndex = 0; widthIndex < arg2 / width; widthIndex++) { + func_800441E0(var_s3, width, height); + gSPVertex(gDisplayListHead++, &arg1[vertexIndex], 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D006940); + var_s3 += width * height * 2; + vertexIndex += 4; + } } - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0xBB000000; - temp_v0_4->unk4 = 0x10001; + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80048F8C.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80044388(s32, s32, s32); // extern -extern Gfx D_0D006940; +void func_80049130(s8 *arg0, Vtx *arg1, s32 arg2, s32 arg3, s32 width, s32 height) { + s32 heightIndex; + s32 widthIndex; + s32 vertexIndex; + s8 *var_s3; - -void func_80049130(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { - s32 sp5C; - s32 sp40; - s32 temp_lo; - s32 temp_lo_2; - s32 temp_s0; - s32 temp_s2; - s32 temp_s3; - s32 temp_v0_3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_4; - s32 phi_v0; - s32 phi_s3; - s32 phi_s2; - s32 phi_s0; - s32 phi_v0_2; - s32 phi_s3_2; - s32 phi_s2_2; - - temp_lo = arg3 / arg5; - sp40 = temp_lo; - phi_v0 = 0; - phi_s3_2 = arg0; - phi_s2_2 = 0; - if (temp_lo > 0) { - temp_lo_2 = arg2 / arg4; - do { - phi_s3 = phi_s3_2; - phi_s2 = phi_s2_2; - phi_s0 = 0; - phi_v0_2 = phi_v0; - if (temp_lo_2 > 0) { - sp5C = phi_v0; - do { - func_80044388(phi_s3, arg4, arg5); - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x400103F; - temp_s0 = phi_s0 + 1; - temp_v0->unk4 = (phi_s2 * 0x10) + arg1; - temp_v0_2 = gDisplayListHead; - temp_s3 = phi_s3 + (arg4 * arg5 * 2); - gDisplayListHead = temp_v0_2 + 8; - temp_s2 = phi_s2 + 4; - temp_v0_2->unk4 = &D_0D006940; - temp_v0_2->unk0 = 0x6000000; - phi_s3 = temp_s3; - phi_s2 = temp_s2; - phi_s0 = temp_s0; - phi_s3_2 = temp_s3; - phi_s2_2 = temp_s2; - } while (temp_s0 != temp_lo_2); - phi_v0_2 = sp5C; - } - temp_v0_3 = phi_v0_2 + 1; - phi_v0 = temp_v0_3; - } while (temp_v0_3 != sp40); + vertexIndex = 0; + var_s3 = arg0; + for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { + for (widthIndex = 0; widthIndex < arg2 / width; widthIndex++) { + func_80044388(var_s3, width, height); + gSPVertex(gDisplayListHead++, &arg1[vertexIndex], 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D006940); + var_s3 += width * height * 2; + vertexIndex += 4; + } } - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0xBB000000; - temp_v0_4->unk4 = 0x10001; + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80049130.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800444B0(s32, s32, s32); // extern -extern Gfx D_0D006940; +void func_800492D4(s8 *arg0, Vtx *arg1, s32 arg2, s32 arg3, s32 width, s32 height) { + s32 heightIndex; + s32 widthIndex; + s32 vertexIndex; + s8 *var_s3; - -void func_800492D4(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { - s32 sp5C; - s32 sp40; - s32 temp_lo; - s32 temp_lo_2; - s32 temp_s0; - s32 temp_s2; - s32 temp_s3; - s32 temp_v0_3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_4; - s32 phi_v0; - s32 phi_s3; - s32 phi_s2; - s32 phi_s0; - s32 phi_v0_2; - s32 phi_s3_2; - s32 phi_s2_2; - - temp_lo = arg3 / arg5; - sp40 = temp_lo; - phi_v0 = 0; - phi_s3_2 = arg0; - phi_s2_2 = 0; - if (temp_lo > 0) { - temp_lo_2 = arg2 / arg4; - do { - phi_s3 = phi_s3_2; - phi_s2 = phi_s2_2; - phi_s0 = 0; - phi_v0_2 = phi_v0; - if (temp_lo_2 > 0) { - sp5C = phi_v0; - do { - func_800444B0(phi_s3, arg4, arg5); - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x400103F; - temp_s0 = phi_s0 + 1; - temp_v0->unk4 = (phi_s2 * 0x10) + arg1; - temp_v0_2 = gDisplayListHead; - temp_s3 = phi_s3 + (arg4 * arg5); - gDisplayListHead = temp_v0_2 + 8; - temp_s2 = phi_s2 + 4; - temp_v0_2->unk4 = &D_0D006940; - temp_v0_2->unk0 = 0x6000000; - phi_s3 = temp_s3; - phi_s2 = temp_s2; - phi_s0 = temp_s0; - phi_s3_2 = temp_s3; - phi_s2_2 = temp_s2; - } while (temp_s0 != temp_lo_2); - phi_v0_2 = sp5C; - } - temp_v0_3 = phi_v0_2 + 1; - phi_v0 = temp_v0_3; - } while (temp_v0_3 != sp40); + vertexIndex = 0; + var_s3 = arg0; + for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { + for (widthIndex = 0; widthIndex < arg2 / width; widthIndex++) { + func_800444B0(var_s3, width, height); + gSPVertex(gDisplayListHead++, &arg1[vertexIndex], 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D006940); + var_s3 += width * height; + vertexIndex += 4; + } } - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0xBB000000; - temp_v0_4->unk4 = 0x10001; + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800492D4.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80044658(s32, s32, s32); // extern -extern Gfx D_0D006940; +void func_80049478(s8 *arg0, Vtx *arg1, s32 arg2, s32 arg3, s32 width, s32 height) { + s32 heightIndex; + s32 widthIndex; + s32 vertexIndex; + s8 *var_s3; - -void func_80049478(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { - s32 sp5C; - s32 sp40; - s32 temp_lo; - s32 temp_lo_2; - s32 temp_s0; - s32 temp_s2; - s32 temp_s3; - s32 temp_v0_3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_4; - s32 phi_v0; - s32 phi_s3; - s32 phi_s2; - s32 phi_s0; - s32 phi_v0_2; - s32 phi_s3_2; - s32 phi_s2_2; - - temp_lo = arg3 / arg5; - sp40 = temp_lo; - phi_v0 = 0; - phi_s3_2 = arg0; - phi_s2_2 = 0; - if (temp_lo > 0) { - temp_lo_2 = arg2 / arg4; - do { - phi_s3 = phi_s3_2; - phi_s2 = phi_s2_2; - phi_s0 = 0; - phi_v0_2 = phi_v0; - if (temp_lo_2 > 0) { - sp5C = phi_v0; - do { - func_80044658(phi_s3, arg4, arg5); - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x400103F; - temp_s0 = phi_s0 + 1; - temp_v0->unk4 = (phi_s2 * 0x10) + arg1; - temp_v0_2 = gDisplayListHead; - temp_s3 = phi_s3 + (arg4 * arg5); - gDisplayListHead = temp_v0_2 + 8; - temp_s2 = phi_s2 + 4; - temp_v0_2->unk4 = &D_0D006940; - temp_v0_2->unk0 = 0x6000000; - phi_s3 = temp_s3; - phi_s2 = temp_s2; - phi_s0 = temp_s0; - phi_s3_2 = temp_s3; - phi_s2_2 = temp_s2; - } while (temp_s0 != temp_lo_2); - phi_v0_2 = sp5C; - } - temp_v0_3 = phi_v0_2 + 1; - phi_v0 = temp_v0_3; - } while (temp_v0_3 != sp40); + vertexIndex = 0; + var_s3 = arg0; + for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { + for (widthIndex = 0; widthIndex < arg2 / width; widthIndex++) { + func_80044658(var_s3, width, height); + gSPVertex(gDisplayListHead++, &arg1[vertexIndex], 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D006940); + var_s3 += width * height; + vertexIndex += 4; + } } - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0xBB000000; - temp_v0_4->unk4 = 0x10001; + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80049478.s") -#endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80044924(s32, s32, s32); // extern -extern Gfx D_0D006940; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80044924(s8 *, s32, s32); /* extern */ - -void func_8004961C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { +void func_8004961C(s8 *arg0, Vtx *arg1, s32 arg2, s32 arg3, s32 width, s32 height) { s32 sp5C; s32 sp40; + Gfx *temp_v0; + Gfx *temp_v0_2; + Gfx *temp_v0_3; s32 temp_lo; s32 temp_lo_2; - s32 temp_s0; - s32 temp_s2; - s32 temp_s3; - s32 temp_v0_3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_4; - s32 phi_v0; - s32 phi_s3; - s32 phi_s2; - s32 phi_s0; - s32 phi_v0_2; - s32 phi_s3_2; - s32 phi_s2_2; + s32 var_s0; + s32 var_s2; + s32 var_v0; + s8 *var_s3; - temp_lo = arg3 / arg5; + temp_lo = arg3 / height; + var_s2 = 0; + var_s3 = arg0; sp40 = temp_lo; - phi_v0 = 0; - phi_s3_2 = arg0; - phi_s2_2 = 0; + var_v0 = 0; if (temp_lo > 0) { - temp_lo_2 = arg2 / arg4; + temp_lo_2 = arg2 / width; do { - phi_s3 = phi_s3_2; - phi_s2 = phi_s2_2; - phi_s0 = 0; - phi_v0_2 = phi_v0; + var_s0 = 0; if (temp_lo_2 > 0) { - sp5C = phi_v0; + sp5C = var_v0; do { - func_80044924(phi_s3, arg4, arg5); + // gSPVertex(gDisplayListHead++, &arg2[var_s1], 4, 0); + // gSPDisplayList(gDisplayListHead++, D_0D006940); + func_80044924(var_s3, width, height); temp_v0 = gDisplayListHead; gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x400103F; - temp_s0 = phi_s0 + 1; - temp_v0->unk4 = (phi_s2 * 0x10) + arg1; + temp_v0->words.w0 = 0x0400103F; + var_s0 += 1; + temp_v0->words.w1 = (u32) &arg1[var_s2]; temp_v0_2 = gDisplayListHead; - temp_s3 = phi_s3 + ((arg4 * arg5) / 2); + var_s3 = &var_s3[(s32) (width * height) / 2]; gDisplayListHead = temp_v0_2 + 8; - temp_s2 = phi_s2 + 4; - temp_v0_2->unk4 = &D_0D006940; - temp_v0_2->unk0 = 0x6000000; - phi_s3 = temp_s3; - phi_s2 = temp_s2; - phi_s0 = temp_s0; - phi_s3_2 = temp_s3; - phi_s2_2 = temp_s2; - } while (temp_s0 != temp_lo_2); - phi_v0_2 = sp5C; + var_s2 += 4; + temp_v0_2->words.w1 = (u32) D_0D006940; + temp_v0_2->words.w0 = 0x06000000; + } while (var_s0 != temp_lo_2); + var_v0 = sp5C; } - temp_v0_3 = phi_v0_2 + 1; - phi_v0 = temp_v0_3; - } while (temp_v0_3 != sp40); + var_v0 += 1; + } while (var_v0 != sp40); } - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0xBB000000; - temp_v0_4->unk4 = 0x10001; + // gSPTexture(gDisplayListHead++, 0, 0, 0, G_TX_RENDERTILE, G_OFF); + temp_v0_3 = gDisplayListHead; + gDisplayListHead = temp_v0_3 + 8; + temp_v0_3->words.w0 = 0xBB000000; + temp_v0_3->words.w1 = 0x00010001; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004961C.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80044BF8(s32, s32, s32); // extern -extern Gfx D_0D006940; +void func_800497CC(s8 *arg0, Vtx *arg1, s32 arg2, s32 arg3, s32 width, s32 height) { + s32 heightIndex; + s32 widthIndex; + s32 vertexIndex; + s8 *var_s3; - -void func_800497CC(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { - s32 sp5C; - s32 sp40; - s32 temp_lo; - s32 temp_lo_2; - s32 temp_s0; - s32 temp_s2; - s32 temp_s3; - s32 temp_v0_3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_4; - s32 phi_v0; - s32 phi_s3; - s32 phi_s2; - s32 phi_s0; - s32 phi_v0_2; - s32 phi_s3_2; - s32 phi_s2_2; - - temp_lo = arg3 / arg5; - sp40 = temp_lo; - phi_v0 = 0; - phi_s3_2 = arg0; - phi_s2_2 = 0; - if (temp_lo > 0) { - temp_lo_2 = arg2 / arg4; - do { - phi_s3 = phi_s3_2; - phi_s2 = phi_s2_2; - phi_s0 = 0; - phi_v0_2 = phi_v0; - if (temp_lo_2 > 0) { - sp5C = phi_v0; - do { - func_80044BF8(phi_s3, arg4, arg5); - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x400103F; - temp_s0 = phi_s0 + 1; - temp_v0->unk4 = (phi_s2 * 0x10) + arg1; - temp_v0_2 = gDisplayListHead; - temp_s3 = phi_s3 + (arg4 * arg5); - gDisplayListHead = temp_v0_2 + 8; - temp_s2 = phi_s2 + 4; - temp_v0_2->unk4 = &D_0D006940; - temp_v0_2->unk0 = 0x6000000; - phi_s3 = temp_s3; - phi_s2 = temp_s2; - phi_s0 = temp_s0; - phi_s3_2 = temp_s3; - phi_s2_2 = temp_s2; - } while (temp_s0 != temp_lo_2); - phi_v0_2 = sp5C; - } - temp_v0_3 = phi_v0_2 + 1; - phi_v0 = temp_v0_3; - } while (temp_v0_3 != sp40); + vertexIndex = 0; + var_s3 = arg0; + for (heightIndex = 0; heightIndex < arg3 / height; heightIndex++) { + for (widthIndex = 0; widthIndex < arg2 / width; widthIndex++) { + func_80044BF8(var_s3, width, height); + gSPVertex(gDisplayListHead++, &arg1[vertexIndex], 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D006940); + var_s3 += width * height; + vertexIndex += 4; + } } - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0xBB000000; - temp_v0_4->unk4 = 0x10001; + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800497CC.s") -#endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80044DA0(s32, s32, s32); // extern -extern Gfx D_0D006940; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80044DA0(s8 *, s32, s32); /* extern */ - -void func_80049970(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { +void func_80049970(s8 *arg0, Vtx *arg1, s32 arg2, s32 arg3, s32 width, s32 height) { s32 sp5C; s32 sp40; + Gfx *temp_v0; + Gfx *temp_v0_2; + Gfx *temp_v0_3; s32 temp_lo; s32 temp_lo_2; - s32 temp_s0; - s32 temp_s2; - s32 temp_s3; - s32 temp_v0_3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_4; - s32 phi_v0; - s32 phi_s3; - s32 phi_s2; - s32 phi_s0; - s32 phi_v0_2; - s32 phi_s3_2; - s32 phi_s2_2; + s32 var_s0; + s32 var_s2; + s32 var_v0; + s8 *var_s3; - temp_lo = arg3 / arg5; + temp_lo = arg3 / height; + var_s2 = 0; + var_s3 = arg0; sp40 = temp_lo; - phi_v0 = 0; - phi_s3_2 = arg0; - phi_s2_2 = 0; + var_v0 = 0; if (temp_lo > 0) { - temp_lo_2 = arg2 / arg4; + temp_lo_2 = arg2 / width; do { - phi_s3 = phi_s3_2; - phi_s2 = phi_s2_2; - phi_s0 = 0; - phi_v0_2 = phi_v0; + var_s0 = 0; if (temp_lo_2 > 0) { - sp5C = phi_v0; + sp5C = var_v0; do { - func_80044DA0(phi_s3, arg4, arg5); + func_80044DA0(var_s3, width, height); + // gSPVertex(gDisplayListHead++, &arg2[var_s1], 4, 0); + // gSPDisplayList(gDisplayListHead++, D_0D006940); temp_v0 = gDisplayListHead; gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x400103F; - temp_s0 = phi_s0 + 1; - temp_v0->unk4 = (phi_s2 * 0x10) + arg1; + temp_v0->words.w0 = 0x0400103F; + var_s0 += 1; + temp_v0->words.w1 = (u32) &arg1[var_s2]; temp_v0_2 = gDisplayListHead; - temp_s3 = phi_s3 + ((arg4 * arg5) / 2); + var_s3 = &var_s3[(s32) (width * height) / 2]; gDisplayListHead = temp_v0_2 + 8; - temp_s2 = phi_s2 + 4; - temp_v0_2->unk4 = &D_0D006940; - temp_v0_2->unk0 = 0x6000000; - phi_s3 = temp_s3; - phi_s2 = temp_s2; - phi_s0 = temp_s0; - phi_s3_2 = temp_s3; - phi_s2_2 = temp_s2; - } while (temp_s0 != temp_lo_2); - phi_v0_2 = sp5C; + var_s2 += 4; + temp_v0_2->words.w1 = (u32) D_0D006940; + temp_v0_2->words.w0 = 0x06000000; + } while (var_s0 != temp_lo_2); + var_v0 = sp5C; } - temp_v0_3 = phi_v0_2 + 1; - phi_v0 = temp_v0_3; - } while (temp_v0_3 != sp40); + var_v0 += 1; + } while (var_v0 != sp40); } - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0xBB000000; - temp_v0_4->unk4 = 0x10001; + // gSPTexture(gDisplayListHead++, 0, 0, 0, G_TX_RENDERTILE, G_OFF); + temp_v0_3 = gDisplayListHead; + gDisplayListHead = temp_v0_3 + 8; + temp_v0_3->words.w0 = 0xBB000000; + temp_v0_3->words.w1 = 0x00010001; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80049970.s") #endif -void func_80049B20(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +void func_80049B20(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A40); func_80048F8C(arg4, arg5, arg6, arg7, arg8, arg9); } -UNUSED void func_80049B9C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +UNUSED void func_80049B9C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A40); func_80049130(arg4, arg5, arg6, arg7, arg8, arg9); } -void func_80049C18(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +void func_80049C18(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A40); func_800492D4(arg4, arg5, arg6, arg7, arg8, arg9); } -void func_80049C94(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +void func_80049C94(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A60); func_800492D4(arg4, arg5, arg6, arg7, arg8, arg9); } -void func_80049D10(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +void func_80049D10(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A80); func_800492D4(arg4, arg5, arg6, arg7, arg8, arg9); } -void func_80049D8C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +void func_80049D8C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007AA0); func_800492D4(arg4, arg5, arg6, arg7, arg8, arg9); } -UNUSED void func_80049E08(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB, s32 argC, s32 argD) { +UNUSED void func_80049E08(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 red, s32 green, s32 blue, s32 alpha, s32 arg8, Vtx *arg9, s32 argA, s32 argB, s32 argC, s32 argD) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A40); - func_8004B35C(arg4, arg5, arg6, arg7); + func_8004B35C(red, green, blue, alpha); func_800492D4(arg8, arg9, argA, argB, argC, argD); } -UNUSED void func_80049E98(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB, s32 argC, s32 argD) { +UNUSED void func_80049E98(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 red, s32 green, s32 blue, s32 alpha, s32 arg8, Vtx *arg9, s32 argA, s32 argB, s32 argC, s32 argD) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A60); - func_8004B35C(arg4, arg5, arg6, arg7); + func_8004B35C(red, green, blue, alpha); func_800492D4(arg8, arg9, argA, argB, argC, argD); } -UNUSED void func_80049F28(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB, s32 argC, s32 argD) { +UNUSED void func_80049F28(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 red, s32 green, s32 blue, s32 alpha, s32 arg8, Vtx *arg9, s32 argA, s32 argB, s32 argC, s32 argD) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007B00); - func_8004B35C(arg4, arg5, arg6, arg7); + func_8004B35C(red, green, blue, alpha); func_800492D4(arg8, arg9, argA, argB, argC, argD); } -UNUSED void func_80049FB8(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +UNUSED void func_80049FB8(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A40); func_80049478(arg4, arg5, arg6, arg7, arg8, arg9); } -UNUSED void func_8004A034(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +UNUSED void func_8004A034(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A60); func_80049478(arg4, arg5, arg6, arg7, arg8, arg9); } -void func_8004A0B0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +void func_8004A0B0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A40); func_8004961C(arg4, arg5, arg6, arg7, arg8, arg9); } -UNUSED void func_8004A12C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB, s32 argC, s32 argD) { +UNUSED void func_8004A12C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 red, s32 green, s32 blue, s32 alpha, s32 arg8, Vtx *arg9, s32 argA, s32 argB, s32 argC, s32 argD) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A60); - func_8004B35C(arg4, arg5, arg6, arg7); + func_8004B35C(red, green, blue, alpha); func_8004961C(arg8, arg9, argA, argB, argC, argD); } -UNUSED void func_8004A1BC(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { - +UNUSED void func_8004A1BC(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A40); gDPSetCombineLERP(gDisplayListHead++, 1, 0, SHADE, 0, 0, 0, 0, TEXEL0, 1, 0, SHADE, 0, 0, 0, 0, TEXEL0); func_80049970(arg4, arg5, arg6, arg7, arg8, arg9); } -void func_8004A258(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { +void func_8004A258(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A60); gDPSetCombineLERP(gDisplayListHead++, 1, 0, SHADE, 0, 0, 0, 0, TEXEL0, 1, 0, SHADE, 0, 0, 0, 0, TEXEL0); func_80049970(arg4, arg5, arg6, arg7, arg8, arg9); } -void func_8004A2F4(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB, s32 argC, s32 argD) { +void func_8004A2F4(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 red, s32 green, s32 blue, s32 alpha, s32 arg8, Vtx *arg9, s32 argA, s32 argB, s32 argC, s32 argD) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A40); - func_8004B414(arg4, arg5, arg6, arg7); + func_8004B414(red, green, blue, alpha); func_80049970(arg8, arg9, argA, argB, argC, argD); } -void func_8004A384(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB, s32 argC, s32 argD) { +void func_8004A384(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 red, s32 green, s32 blue, s32 alpha, s32 arg8, Vtx *arg9, s32 argA, s32 argB, s32 argC, s32 argD) { func_80042330(arg0, arg1, arg2, arg3); gSPDisplayList(gDisplayListHead++, D_0D007A60); - func_8004B414(arg4, arg5, arg6, arg7); + func_8004B414(red, green, blue, alpha); func_80049970(arg8, arg9, argA, argB, argC, argD); } -void func_8004A414(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { +void func_8004A414(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, Vtx *arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007A40); func_800492D4(arg3, arg4, arg5, arg6, arg7, arg8); } -UNUSED void func_8004A488(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { +UNUSED void func_8004A488(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, Vtx *arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007A60); func_800492D4(arg3, arg4, arg5, arg6, arg7, arg8); } -UNUSED void func_8004A4FC(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { +UNUSED void func_8004A4FC(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, Vtx *arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007AC0); func_800492D4(arg3, arg4, arg5, arg6, arg7, arg8); } -UNUSED void func_8004A570(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { +UNUSED void func_8004A570(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, Vtx *arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007AE0); func_800492D4(arg3, arg4, arg5, arg6, arg7, arg8); } -UNUSED void func_8004A5E4(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4) { +UNUSED void func_8004A5E4(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, Vtx *arg4) { func_8004A414(arg0, arg1, arg2, arg3, arg4, 16, 16, 16, 16); } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -//s32 func_80041924(); // extern -//void func_80043050(? *, void *, s32); // extern -//f32 func_802ABE30(f32, ?, ? *, ?32, u16); // extern -//extern Gfx D_0D007B98; -//extern f64 D_800EE030; -//extern f32 D_80183E50; - -extern Gfx D_0D007B98[]; -extern f64 D_800EE030; - -s32 func_80041924(UnkActorInner*, f32); - - -f32 func_802ABE30(f32, f32, f32, u16); -void func_80043050(Vec3f, Vec3f, f32); - -struct UnknownStruct8004A630 { - Vec3f unk0; - f32 unk4; -}; +#ifdef NEEDS_RODATA +// data_0DD0A0_3_0_1.s +// D_800EE030 void func_8004A630(UnkActorInner *arg0, Vec3f arg1, f32 arg2) { - - if (func_80041924(arg0, arg2) == 0) { return; } - - D_80183E50[1] = (f32)func_802ABE30(arg2, 0.0f, D_80183E50[0], arg0->unk3A) + D_800EE030; - D_80183E50[0] = arg1[0]; - D_80183E50[2] = arg1[2]; - func_80043050(D_80183E50, arg0->unk60, arg2); - - gSPDisplayList(gDisplayListHead++, D_0D007B98); -/* - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007B98; - */ + if (func_80041924(arg0, arg1) != 0) { + D_80183E50[0] = arg1[0]; + D_80183E50[1] = func_802ABE30(arg1[0], 0.0f, arg1[2], arg0->unk3A) + 0.8; + D_80183E50[2] = arg1[2]; + func_80043050(D_80183E50, arg0->unk60, arg2); + gSPDisplayList(gDisplayListHead++, D_0D007B98); + } } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004A630.s") #endif -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -extern f32 D_80183E50; +#ifdef NEEDS_RODATA +// data_0DD0A0_3_0_1.s +// D_800EE038 void func_8004A6EC(s32 objectIndex, f32 arg1) { - Gfx *temp_v1; struct_80165C18_entry *temp_v0; if ((func_8007223C(objectIndex, 0x00000020) != 0) && (func_8007223C(objectIndex, 0x00800000) != 0)) { temp_v0 = &D_80165C18[objectIndex]; - D_80183E50.unk0 = temp_v0->unk_004[0]; - D_80183E50.unk8 = (f32) temp_v0->unk_004[2]; - D_80183E50.unk4 = (f32) ((f64) temp_v0->unk_044 + 0.8); - func_80042E00(&D_80183E50, temp_v0->unk_0B8, arg1); - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->words.w0 = 0x06000000; - temp_v1->words.w1 = (u32) D_0D007B20; + D_80183E50[0] = temp_v0->unk_004[0]; + D_80183E50[1] = temp_v0->unk_044 + 0.8; + D_80183E50[2] = temp_v0->unk_004[2]; + func_80042E00(D_80183E50, temp_v0->unk_0B8, arg1); + gSPDisplayList(gDisplayListHead++, D_0D007B20); } } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004A6EC.s") #endif -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -extern f32 D_80183E50; -extern s16 D_80183E98; +#ifdef NEEDS_RODATA +// data_0DD0A0_3_0_1.s +// D_800EE040 void func_8004A7AC(s32 objectIndex, f32 arg1) { - Gfx *temp_v1; struct_80165C18_entry *temp_v0; if (func_8007223C(objectIndex, 0x00000020) != 0) { temp_v0 = &D_80165C18[objectIndex]; - D_80183E50.unk0 = temp_v0->unk_004[0]; - D_80183E98.unk0 = 0x4000; - D_80183E98.unk2 = 0; - D_80183E98.unk4 = 0; - D_80183E50.unk4 = (f32) ((f64) temp_v0->unk_044 + 0.8); - D_80183E50.unk8 = (f32) temp_v0->unk_004[2]; - func_80042E00(&D_80183E50, &D_80183E98, arg1); - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->words.w0 = 0x06000000; - temp_v1->words.w1 = (u32) D_0D007B20; + D_80183E50[0] = temp_v0->unk_004[0]; + D_80183E50[1] = temp_v0->unk_044 + 0.8; + D_80183E50[2] = temp_v0->unk_004[2]; + D_80183E98[0] = 0x4000; + D_80183E98[1] = 0; + D_80183E98[2] = 0; + func_80042E00(D_80183E50, &D_80183E98, arg1); + gSPDisplayList(gDisplayListHead++, D_0D007B20); } } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004A7AC.s") #endif -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -extern Gfx D_0D007B98; -extern f32 D_80183E50; +#if NEEDS_RODATA +// data_0DD0A0_3_0_1.s +// D_800EE048 void func_8004A870(s32 objectIndex, f32 arg1) { - Gfx *temp_v0_2; - Gfx *temp_v0_3; + Mat4 sp30; struct_80165C18_entry *temp_v0; if ((func_8007223C(objectIndex, 0x00000020) != 0) && (func_8007223C(objectIndex, 0x00800000) != 0)) { temp_v0 = &D_80165C18[objectIndex]; - D_80183E50.unk0 = temp_v0->unk_004[0]; - D_80183E50.unk8 = (f32) temp_v0->unk_004[2]; - D_80183E50.unk4 = (f32) ((f64) temp_v0->unk_044 + 0.8); - func_80042A20((f32 (*)[4]) &sp30[0], temp_v0->unk_01C, &D_80183E50, 0U, arg1); - func_80022180(&gGfxPool->mtxPool[D_8018D120] + 0x2C0, (f32 (*)[4]) &sp30[0]); - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->words.w0 = 0x01020040; - temp_v0_2->words.w1 = (s32) (&gGfxPool->mtxPool[D_8018D120] + 0x2C0) & 0x1FFFFFFF; - temp_v0_3 = gDisplayListHead; - D_8018D120 += 1; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->words.w0 = 0x06000000; - temp_v0_3->words.w1 = (u32) &D_0D007B98; + D_80183E50[0] = temp_v0->unk_004[0]; + D_80183E50[1] = temp_v0->unk_044 + 0.8; + D_80183E50[2] = temp_v0->unk_004[2]; + func_80042A20(sp30, temp_v0->unk_01C, D_80183E50, 0U, arg1); + func_80022180(&gGfxPool->mtxPool[D_8018D120 + 0xB], sp30); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_8018D120 + 0xB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + D_8018D120++; + gSPDisplayList(gDisplayListHead++, D_0D007B98); } } #else @@ -2368,70 +1702,70 @@ void func_8004A9B8(f32 arg0) { gSPDisplayList(gDisplayListHead++, D_0D007C10); } -UNUSED void func_8004AA10(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { +UNUSED void func_8004AA10(Vec3f arg0, Vec3su arg1, f32 arg2, s32 arg3, Vtx *arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, D_0D007AE0); func_8004B6C4(D_80165860, D_8016586C, D_80165878); func_800497CC(arg3, arg4, arg5, arg6, arg7, arg8); } -UNUSED void func_8004AAA0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004AAA0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_80049B20(arg0, arg1, arg2, arg3, arg4, arg5, 16, 16, 16, 16); } -UNUSED void func_8004AB00(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004AB00(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_80049C18(arg0, arg1, arg2, arg3, arg4, arg5, 16, 16, 16, 16); } -UNUSED void func_8004AB60(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004AB60(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_8004A0B0(arg0, arg1, arg2, arg3, arg4, arg5, 16, 16, 16, 16); } -UNUSED void func_8004ABC0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004ABC0(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_80049B20(arg0, arg1, arg2, arg3, arg4, arg5, 32, 32, 32, 32); } -UNUSED void func_8004AC20(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004AC20(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_80049C18(arg0, arg1, arg2, arg3, arg4, arg5, 32, 32, 32, 32); } -UNUSED void func_8004AC80(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004AC80(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_8004A0B0(arg0, arg1, arg2, arg3, arg4, arg5, 32, 32, 32, 32); } -UNUSED void func_8004ACE0(s32 arg0, s32 arg1, f32 arg2, s32 arg3, s32 arg4) { +UNUSED void func_8004ACE0(s32 arg0, s32 arg1, f32 arg2, s32 arg3, Vtx *arg4) { func_8004A414(arg0, arg1, arg2, arg3, arg4, 32, 32, 32, 32); } -UNUSED void func_8004AD2C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004AD2C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_80049B20(arg0, arg1, arg2, arg3, arg4, arg5, 64, 32, 64, 32); } -UNUSED void func_8004AD8C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004AD8C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_80049C18(arg0, arg1, arg2, arg3, arg4, arg5, 64, 32, 64, 32); } -UNUSED void func_8004ADEC(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004ADEC(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_80049C94(arg0, arg1, arg2, arg3, arg4, arg5, 64, 32, 64, 32); } -UNUSED void func_8004AE4C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004AE4C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_80049D10(arg0, arg1, arg2, arg3, arg4, arg5, 64, 32, 64, 32); } -UNUSED void func_8004AEAC(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004AEAC(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_80049D8C(arg0, arg1, arg2, arg3, arg4, arg5, 64, 32, 64, 32); } -UNUSED void func_8004AF0C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004AF0C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_80049C18(arg0, arg1, arg2, arg3, arg4, arg5, 64, 64, 64, 64); } -UNUSED void func_8004AF6C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004AF6C(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_80049B20(arg0, arg1, arg2, arg3, arg4, arg5, 64, 64, 64, 32); } -UNUSED void func_8004AFCC(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, s32 arg5) { +UNUSED void func_8004AFCC(s32 arg0, s32 arg1, u16 arg2, f32 arg3, s32 arg4, Vtx *arg5) { func_80049C18(arg0, arg1, arg2, arg3, arg4, arg5, 64, 96, 64, 48); } @@ -2445,83 +1779,83 @@ void func_8004B05C(u8 *texture) { gDPSetTexturePersp(gDisplayListHead++, G_TP_NONE); } -void func_8004B138(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg0, arg1, arg2, arg3); +void func_8004B138(s32 red, s32 green, s32 blue, s32 alpha) { + gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, alpha); } -UNUSED void func_8004B180(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - gDPSetEnvColor(gDisplayListHead++, arg0, arg1, arg2, arg3); +UNUSED void func_8004B180(s32 red, s32 green, s32 blue, s32 alpha) { + gDPSetEnvColor(gDisplayListHead++, red, green, blue, alpha); } -void func_8004B1C8(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg0, arg1, arg2, arg6); - gDPSetEnvColor(gDisplayListHead++, arg3, arg4, arg5, 0xFF); +void func_8004B1C8(s32 primRed, s32 primGreen, s32 primBlue, s32 envRed, s32 envGreen, s32 envBlue, s32 primAlpha) { + gDPSetPrimColor(gDisplayListHead++, 0, 0, primRed, primGreen, primBlue, primAlpha); + gDPSetEnvColor(gDisplayListHead++, envRed, envGreen, envBlue, 0xFF); } -UNUSED void func_8004B254(s32 arg0, s32 arg1, s32 arg2) { +UNUSED void func_8004B254(s32 red, s32 green, s32 blue) { gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg0, arg1, arg2, 0xFF); + gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, 0xFF); } -void func_8004B2BC(s32 arg0) { +void func_8004B2BC(s32 alpha) { gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); - gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, 0xFF, 0xFF, arg0); + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, 0xFF, 0xFF, alpha); } -void func_8004B310(s32 arg0) { +void func_8004B310(s32 alpha) { gDPSetCombineLERP(gDisplayListHead++, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0); - gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, arg0); + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, alpha); } -void func_8004B35C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { +void func_8004B35C(s32 red, s32 green, s32 blue, s32 alpha) { gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg0, arg1, arg2, arg3); + gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, alpha); } -void func_8004B3C8(s32 arg0) { +void func_8004B3C8(s32 alpha) { gDPSetCombineLERP(gDisplayListHead++, 0, 0, 0, 1, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, 1, TEXEL0, 0, PRIMITIVE, 0); - gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, arg0); + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, alpha); } -void func_8004B414(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { +void func_8004B414(s32 red, s32 green, s32 blue, s32 alpha) { gDPSetCombineLERP(gDisplayListHead++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0); - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg0, arg1, arg2, arg3); + gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, alpha); } -void func_8004B480(s32 arg0, s32 arg1, s32 arg2) { +void func_8004B480(s32 red, s32 green, s32 blue) { gDPSetCombineLERP(gDisplayListHead++, 0, 0, 0, PRIMITIVE, 0, 0, 0, TEXEL0, 0, 0, 0, PRIMITIVE, 0, 0, 0, TEXEL0); - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg0, arg1, arg2, 0xFF); + gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, 0xFF); } -UNUSED void func_8004B4E8(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { +UNUSED void func_8004B4E8(s32 red, s32 green, s32 blue, s32 alpha) { gDPSetCombineLERP(gDisplayListHead++, 1, 0, SHADE, PRIMITIVE, 0, 0, 0, TEXEL0, 1, 0, SHADE, PRIMITIVE, 0, 0, 0, TEXEL0); - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg0, arg1, arg2, arg3); + gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, alpha); } -UNUSED void func_8004B554(s32 arg0) { +UNUSED void func_8004B554(s32 alpha) { gDPSetCombineLERP(gDisplayListHead++, 0, 0, 0, SHADE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, SHADE, TEXEL0, 0, PRIMITIVE, 0); - gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, 0xFF, 0xFF, arg0); + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, 0xFF, 0xFF, alpha); } -UNUSED void func_8004B5A8(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg0, arg1, arg2, arg3); +UNUSED void func_8004B5A8(s32 red, s32 green, s32 blue, s32 alpha) { + gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, alpha); gDPSetCombineLERP(gDisplayListHead++, 1, PRIMITIVE_ALPHA, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, 1, PRIMITIVE_ALPHA, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0); } -void func_8004B614(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg0, arg1, arg2, arg6); - gDPSetEnvColor(gDisplayListHead++, arg3, arg4, arg5, 0xFF); +void func_8004B614(s32 primRed, s32 primGreen, s32 primBlue, s32 envRed, s32 envGreen, s32 envBlue, s32 primAlpha) { + gDPSetPrimColor(gDisplayListHead++, 0, 0, primRed, primGreen, primBlue, primAlpha); + gDPSetEnvColor(gDisplayListHead++, envRed, envGreen, envBlue, 0xFF); gDPSetCombineLERP(gDisplayListHead++, 1, ENVIRONMENT, TEXEL0, PRIMITIVE, PRIMITIVE, 0, TEXEL0, 0, 1, ENVIRONMENT, TEXEL0, PRIMITIVE, PRIMITIVE, 0, TEXEL0, 0); } -void func_8004B6C4(s32 arg0, s32 arg1, s32 arg2) { +void func_8004B6C4(s32 red, s32 green, s32 blue) { gDPSetCombineLERP(gDisplayListHead++, 0, 0, 0, PRIMITIVE, 0, 0, 0, TEXEL0, 0, 0, 0, PRIMITIVE, 0, 0, 0, TEXEL0); - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg0, arg1, arg2, 0xFF); + gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, 0xFF); } -void func_8004B72C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg0, arg1, arg2, arg6); - gDPSetEnvColor(gDisplayListHead++, arg3, arg4, arg5, 0xFF); +void func_8004B72C(s32 primRed, s32 primGreen, s32 primBlue, s32 envRed, s32 envGreen, s32 envBlue, s32 primAlpha) { + gDPSetPrimColor(gDisplayListHead++, 0, 0, primRed, primGreen, primBlue, primAlpha); + gDPSetEnvColor(gDisplayListHead++, envRed, envGreen, envBlue, 0xFF); gDPSetCombineLERP(gDisplayListHead++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); } @@ -2678,59 +2012,58 @@ UNUSED void func_8004BB34(void) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 - +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b void func_8004BB3C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, f32 arg4) { + Gfx *temp_a3; + Gfx *temp_a3_2; + Gfx *temp_a3_3; + s16 var_a0; + s16 var_a1; s32 temp_f18; s32 temp_f18_2; s32 temp_t4; s32 temp_t5; s32 temp_t9; - void *temp_a3; - void *temp_a3_2; - void *temp_a3_3; - s32 phi_v0; - s32 phi_t0; - s32 phi_v1; - s32 phi_t1; - s16 phi_a1; - s16 phi_a0; + s32 var_t0; + s32 var_t1; + s32 var_v0; + s32 var_v1; - temp_f18 = ((arg2 * 4) * arg4) + 0.5; - temp_f18_2 = ((arg3 * 4) * arg4) + 0.5; + temp_f18 = (s32) ((f64) ((f32) (arg2 * 4) * arg4) + 0.5); + var_t0 = temp_f18; + temp_f18_2 = (s32) ((f64) ((f32) (arg3 * 4) * arg4) + 0.5); + var_t1 = temp_f18_2; temp_t4 = (arg0 * 4) - (temp_f18 / 2); + var_v0 = temp_t4; temp_t5 = (arg1 * 4) - (temp_f18_2 / 2); - phi_v0 = temp_t4; - phi_t0 = temp_f18; - phi_v1 = temp_t5; - phi_t1 = temp_f18_2; + var_v1 = temp_t5; if (-temp_f18 < temp_t4) { - phi_a0 = 0; + var_a0 = 0; if (-temp_f18_2 < temp_t5) { - phi_a1 = 0; + var_a1 = 0; if (temp_t4 < 0) { - phi_v0 = 0; - phi_t0 = temp_f18 + temp_t4; - phi_a1 = (temp_t4 * -8) / arg4; + var_t0 = temp_f18 + temp_t4; + var_v0 = 0; + var_a1 = (s16) (s32) ((f32) (temp_t4 * -8) / arg4); } if (temp_t5 < 0) { - phi_v1 = 0; - phi_t1 = temp_f18_2 + temp_t5; - phi_a0 = (temp_t5 * -8) / arg4; + var_t1 = temp_f18_2 + temp_t5; + var_v1 = 0; + var_a0 = (s16) (s32) ((f32) (temp_t5 * -8) / arg4); } temp_a3 = gDisplayListHead; gDisplayListHead = temp_a3 + 8; - temp_a3->unk0 = (((phi_v0 + phi_t0) & 0xFFF) << 0xC) | 0xE4000000 | ((phi_v1 + phi_t1) & 0xFFF); - temp_a3->unk4 = ((phi_v0 & 0xFFF) << 0xC) | (phi_v1 & 0xFFF); + temp_a3->words.w0 = (((var_v0 + var_t0) & 0xFFF) << 0xC) | 0xE4000000 | ((var_v1 + var_t1) & 0xFFF); + temp_a3->words.w1 = ((var_v0 & 0xFFF) << 0xC) | (var_v1 & 0xFFF); temp_a3_2 = gDisplayListHead; gDisplayListHead = temp_a3_2 + 8; - temp_a3_2->unk0 = 0xB3000000; - temp_a3_2->unk4 = (phi_a1 << 0x10) | (phi_a0 & 0xFFFF); + temp_a3_2->words.w0 = 0xB3000000; + temp_a3_2->words.w1 = (var_a1 << 0x10) | (var_a0 & 0xFFFF); temp_a3_3 = gDisplayListHead; gDisplayListHead = temp_a3_3 + 8; - temp_a3_3->unk0 = 0xB2000000; - temp_t9 = ((1024.0f / arg4) + 0.5) & 0xFFFF; - temp_a3_3->unk4 = (temp_t9 << 0x10) | temp_t9; + temp_a3_3->words.w0 = 0xB2000000; + temp_t9 = (s32) ((f64) (1024.0f / arg4) + 0.5) & 0xFFFF; + temp_a3_3->words.w1 = (temp_t9 << 0x10) | temp_t9; } } } @@ -2738,144 +2071,20 @@ void func_8004BB3C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, f32 arg4) { GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004BB3C.s") #endif -#ifdef MIPS_TO_C -UNUSED void func_8004BD14(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { - void *sp70; - s32 sp3C; - s32 sp38; - s32 sp34; - s32 sp28; - s32 sp24; - s32 temp_ra; - s32 temp_t2; - s32 temp_t3; - s32 temp_t5; - s32 temp_t6; - s32 temp_t7; - s32 temp_t9; - void *temp_v0; - void *temp_v0_10; - void *temp_v0_11; - void *temp_v0_12; - void *temp_v0_13; - void *temp_v0_14; - void *temp_v0_15; - void *temp_v0_16; - void *temp_v0_17; - void *temp_v0_18; - void *temp_v0_19; - void *temp_v0_20; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - void *temp_v0_8; - void *temp_v0_9; - - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x06000000; - temp_v0->unk4 = &D_0D007F38; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x06000000; - temp_v0_2->unk4 = &D_0D008138; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = 0; - temp_v0_3->unk0 = 0xBA001001; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0xFA000000; - temp_v0_4->unk4 = (s32) (arg4 & 0xFF); - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = 0x1FFC9238; - temp_v0_5->unk0 = 0xFC2527FF; - temp_v0_6 = gDisplayListHead; - temp_t7 = arg2 - 1; - gDisplayListHead = temp_v0_6 + 8; - temp_t9 = (temp_t7 & 0xFFF) | 0xFD100000; - sp38 = temp_t9; - sp3C = temp_t7; - temp_v0_6->unk0 = temp_t9; - temp_v0_6->unk4 = arg5; - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_t6 = ((((u32) ((sp3C * 2) + 9) >> 3) & 0x1FF) << 9) | 0xF5100000; - sp34 = temp_t6; - temp_v0_7->unk4 = 0x07080200; - temp_v0_7->unk0 = temp_t6; - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - sp70 = temp_v0_8; - temp_v0_8->unk4 = 0; - temp_v0_8->unk0 = 0xE6000000; - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk0 = 0xF4000000; - temp_t3 = sp34 | 0x100; - temp_t5 = ((sp3C * 4) & 0xFFF) << 0xC; - temp_ra = ((arg3 - 1) * 4) & 0xFFF; - temp_t2 = temp_t5 | 0x07000000 | temp_ra; - temp_v0_9->unk4 = temp_t2; - temp_v0_10 = gDisplayListHead; - gDisplayListHead = temp_v0_10 + 8; - temp_v0_10->unk4 = 0; - temp_v0_10->unk0 = 0xE7000000; - temp_v0_11 = gDisplayListHead; - gDisplayListHead = temp_v0_11 + 8; - temp_v0_11->unk4 = 0x80200; - temp_v0_11->unk0 = sp34; - temp_v0_12 = gDisplayListHead; - gDisplayListHead = temp_v0_12 + 8; - temp_v0_12->unk4 = (s32) (temp_t5 | temp_ra); - temp_v0_12->unk0 = 0xF2000000; - temp_v0_13 = gDisplayListHead; - gDisplayListHead = temp_v0_13 + 8; - temp_v0_13->unk0 = sp38; - temp_v0_13->unk4 = arg6; - temp_v0_14 = gDisplayListHead; - gDisplayListHead = temp_v0_14 + 8; - temp_v0_14->unk4 = 0x07080200; - temp_v0_14->unk0 = temp_t3; - temp_v0_15 = gDisplayListHead; - sp24 = temp_t3; - sp28 = temp_t2; - gDisplayListHead = temp_v0_15 + 8; - temp_v0_15->unk4 = 0; - temp_v0_15->unk0 = 0xE6000000; - temp_v0_16 = gDisplayListHead; - gDisplayListHead = temp_v0_16 + 8; - temp_v0_16->unk0 = 0xF4000000; - temp_v0_16->unk4 = sp28; - temp_v0_17 = gDisplayListHead; - gDisplayListHead = temp_v0_17 + 8; - temp_v0_17->unk4 = 0; - temp_v0_17->unk0 = 0xE7000000; - temp_v0_18 = gDisplayListHead; - gDisplayListHead = temp_v0_18 + 8; - temp_v0_18->unk4 = 0x01080200; - temp_v0_18->unk0 = sp24; - temp_v0_19 = gDisplayListHead; - gDisplayListHead = temp_v0_19 + 8; - temp_v0_19->unk0 = 0xF2000000; - temp_v0_19->unk4 = (s32) (temp_t5 | 0x01000000 | temp_ra); - func_8004B950(arg0, arg1, arg2, arg3, 2); - temp_v0_20 = gDisplayListHead; - gDisplayListHead = temp_v0_20 + 8; - temp_v0_20->unk0 = 0x06000000; - temp_v0_20->unk4 = &D_0D008120; +void func_8004BD14(s32 arg0, s32 arg1, u32 width, u32 height, s32 alpha, s8 *arg5, s8 *arg6) { + gSPDisplayList(gDisplayListHead++, D_0D007F38); + gSPDisplayList(gDisplayListHead++, D_0D008138); + gDPSetTextureLOD(gDisplayListHead++, G_TL_TILE); + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, alpha); + gDPSetCombineLERP(gDisplayListHead++, TEXEL1, TEXEL0, PRIMITIVE_ALPHA, TEXEL0, TEXEL1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED); + gDPLoadMultiTile(gDisplayListHead++, arg5, 0, G_TX_RENDERTILE, G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height, 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadMultiTile(gDisplayListHead++, arg6, 256, G_TX_RENDERTILE+1, G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height, 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + func_8004B950(arg0, arg1, width, height, 2); + gSPDisplayList(gDisplayListHead++, D_0D008120); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004BD14.s") -#endif -void func_8004C024(s16 arg0, s16 arg1, s16 arg2, u16 arg3, u16 arg4, u16 arg5, u16 arg6) { - - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg3, arg4, arg5, arg6); +void func_8004C024(s16 arg0, s16 arg1, s16 arg2, u16 red, u16 green, u16 blue, u16 alpha) { + gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, alpha); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); gDPSetTexturePersp(gDisplayListHead++, G_TP_NONE); gDPSetCombineMode(gDisplayListHead++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); @@ -2883,10 +2092,8 @@ void func_8004C024(s16 arg0, s16 arg1, s16 arg2, u16 arg3, u16 arg4, u16 arg5, u func_8004B97C(arg0, arg1, arg2, 1, 1); } -void func_8004C148(s16 arg0, s16 arg1, s16 arg2, u16 arg3, u16 arg4, u16 arg5, u16 arg6) { - - - gDPSetPrimColor(gDisplayListHead++, 0, 0, arg3, arg4, arg5, arg6); +void func_8004C148(s16 arg0, s16 arg1, s16 arg2, u16 red, u16 green, u16 blue, u16 alpha) { + gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, alpha); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); gDPSetTexturePersp(gDisplayListHead++, G_TP_NONE); gDPSetCombineMode(gDisplayListHead++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); @@ -2969,72 +2176,61 @@ void func_8004C628(s32 arg0, s32 arg1, u32 arg2, u32 arg3, s32 arg4) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80043C28(s32, u32, u32); // extern -void func_8004B950(s32, s32, u32, u32, s32); // extern -extern Gfx D_0D007EB8; -extern Gfx D_0D007EF8; - - -void func_8004C6FC(s16 arg0, s16 arg1, s32 arg2, u32 arg3, u32 arg4) { - s32 temp_s3; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +void func_8004C6FC(s16 arg0, s16 arg1, s8 *arg2, u32 arg3, u32 arg4) { + Gfx *temp_v0; + Gfx *temp_v0_2; + Gfx *temp_v0_4; s32 temp_t5; s32 temp_v0_3; + s32 var_s3; + s32 var_s4; + s8 *var_s5; u32 temp_t3; u32 temp_t8; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_4; - u32 phi_t2; - s32 phi_s5; - u32 phi_s0; - s32 phi_s4; - u32 phi_s6; - s32 phi_s3; - u32 phi_s0_2; + u32 var_s0; + u32 var_s6; + u32 var_t2; temp_v0 = gDisplayListHead; + var_s4 = arg1 - (arg4 >> 1); gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x6000000; - temp_v0->unk4 = &D_0D007EF8; + temp_v0->words.w0 = 0x06000000; + temp_v0->words.w1 = (u32) D_0D007EF8; temp_v0_2 = gDisplayListHead; temp_t8 = arg3 * arg4 * 4; gDisplayListHead = temp_v0_2 + 8; temp_t3 = temp_t8 >> 0xC; - temp_v0_2->unk4 = 0x504240; - temp_v0_2->unk0 = 0xB900031D; - phi_t2 = temp_t3; - phi_s5 = arg2; - phi_s4 = arg1 - (arg4 >> 1); - phi_s6 = temp_t8; - if ((temp_t8 & 0xFFF) != 0) { - phi_t2 = temp_t3 + 1; + var_s5 = arg2; + var_s6 = temp_t8; + var_t2 = temp_t3; + temp_v0_2->words.w1 = 0x00504240; + temp_v0_2->words.w0 = 0xB900031D; + if (temp_t8 & 0xFFF) { + var_t2 = temp_t3 + 1; } - phi_s0 = arg4 / phi_t2; - phi_s3 = 0; - if (phi_t2 > 0) { + var_s0 = arg4 / var_t2; + var_s3 = 0; + if ((s32) var_t2 > 0) { do { - temp_t5 = arg3 * phi_s0 * 4; - func_80043C28(phi_s5, arg3, phi_s0); - func_8004B950(arg0 - (arg3 >> 1), phi_s4, arg3, phi_s0, 1); - temp_v0_3 = phi_s6 - temp_t5; - phi_s5 += temp_t5; - phi_s0_2 = phi_s0; + temp_t5 = arg3 * var_s0 * 4; + func_80043C28(var_s5, (s32) arg3, (s32) var_s0); + func_8004B950(arg0 - (arg3 >> 1), var_s4, (s32) arg3, (s32) var_s0, 1); + temp_v0_3 = var_s6 - temp_t5; + var_s5 += temp_t5; if (temp_v0_3 < 0) { - phi_s0_2 = phi_s6 / arg3; + var_s0 = var_s6 / arg3; } else { - phi_s6 = temp_v0_3; + var_s6 = (u32) temp_v0_3; } - temp_s3 = phi_s3 + 1; - phi_s0 = phi_s0_2; - phi_s4 += phi_s0_2; - phi_s3 = temp_s3; - } while (temp_s3 < phi_t2); + var_s3 += 1; + var_s4 += var_s0; + } while (var_s3 < (s32) var_t2); } temp_v0_4 = gDisplayListHead; gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0x6000000; - temp_v0_4->unk4 = &D_0D007EB8; + temp_v0_4->words.w0 = 0x06000000; + temp_v0_4->words.w1 = (u32) D_0D007EB8; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004C6FC.s") @@ -3117,77 +2313,65 @@ UNUSED void func_8004CD18(s32 arg0, s32 arg1, s32 arg2) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800441E0(s32, s32, s32); // extern -void *func_8004B97C(s32, s32, s32, s32, s32); // extern -extern Gfx D_0D007FE0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +Gfx *func_8004B97C(s32, s32, s32, s32, s32); /* extern */ - -void *func_8004CD48(s32 arg0, s32 arg1, ? arg2, s32 arg3, s32 arg4, s32 arg5) { - s32 sp40; +Gfx *func_8004CD48(s32 arg0, s32 arg1, s32 arg2, s32 width, s32 arg4, s32 height) { + s8 *sp40; + Gfx *temp_v1; + Gfx *var_v0; s32 temp_lo; - s32 temp_s1; - s32 temp_s4; - void *temp_v0; - void *temp_v1; - s32 phi_s4; - s32 phi_s0; - s32 phi_s1; - void *phi_v0; + s32 var_s0; + s32 var_s1; + s8 *var_s4; - temp_lo = arg4 / arg5; + temp_lo = arg4 / height; temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007FE0; - phi_s0 = arg1 - (arg4 / 2); - phi_s1 = 0; - phi_v0 = temp_v1; + var_s0 = arg1 - (arg4 / 2); + var_s1 = 0; + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D007FE0; + var_v0 = temp_v1; if (temp_lo > 0) { - phi_s4 = sp40; + var_s4 = sp40; do { - func_800441E0(phi_s4, arg3, arg5); - temp_v0 = func_8004B97C(arg0 - (arg3 / 2), phi_s0, arg3, arg5, 1); - temp_s1 = phi_s1 + 1; - temp_s4 = phi_s4 + (arg3 * arg5 * 2); - phi_s4 = temp_s4; - phi_s0 += arg5; - phi_s1 = temp_s1; - phi_v0 = temp_v0; - } while (temp_s1 != temp_lo); - sp40 = temp_s4; + func_800441E0(var_s4, width, height); + var_v0 = func_8004B97C(arg0 - (width / 2), var_s0, width, height, 1); + var_s1 += 1; + var_s4 += width * height * 2; + var_s0 += height; + } while (var_s1 != temp_lo); + sp40 = var_s4; } - return phi_v0; + return var_v0; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004CD48.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800444B0(s32, s32, s32); // extern -void func_8004B97C(s32, s32, s32, s32, s32); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_8004B97C(s32, s32, s32, s32, s32); /* extern */ -void func_8004CE8C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { +void func_8004CE8C(s32 arg0, s32 arg1, s8 *arg2, s32 width, s32 arg4, s32 height) { s32 temp_lo; - s32 temp_s2; - s32 phi_s1; - s32 phi_s0; - s32 phi_s2; + s32 var_s0; + s32 var_s2; + s8 *var_s1; - temp_lo = arg4 / arg5; - phi_s1 = arg2; - phi_s0 = arg1 - (arg4 / 2); - phi_s2 = 0; + temp_lo = arg4 / height; + var_s0 = arg1 - (arg4 / 2); + var_s1 = arg2; + var_s2 = 0; if (temp_lo > 0) { do { - func_800444B0(phi_s1, arg3, arg5); - func_8004B97C(arg0 - (arg3 / 2), phi_s0, arg3, arg5, 1); - temp_s2 = phi_s2 + 1; - phi_s1 += arg3 * arg5; - phi_s0 += arg5; - phi_s2 = temp_s2; - } while (temp_s2 != temp_lo); + func_800444B0(var_s1, width, height); + func_8004B97C(arg0 - (width / 2), var_s0, width, height, 1); + var_s2 += 1; + var_s1 = &var_s1[width * height]; + var_s0 += height; + } while (var_s2 != temp_lo); } } #else @@ -3204,9 +2388,9 @@ UNUSED void func_8004CFF0(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 func_8004CE8C(arg0, arg1, arg2, arg3, arg4, arg6); } -UNUSED void func_8004D044(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { +UNUSED void func_8004D044(s32 arg0, s32 arg1, s32 arg2, s32 red, s32 green, s32 blue, s32 alpha, s32 arg7, s32 arg8, s32 arg9, s32 argA) { gSPDisplayList(gDisplayListHead++, D_0D007FE0); - func_8004B35C(arg3, arg4, arg5, arg6); + func_8004B35C(red, green, blue, alpha); func_8004CE8C(arg0, arg1, arg2, arg7, arg8, argA); } @@ -3215,70 +2399,70 @@ UNUSED void func_8004D0CC(void) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80044924(s32, s32, s32); // extern -void *func_8004B97C(s32, s32, s32, s32, s32); // extern -extern Gfx D_0D007FE0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80044924(s8 *, s32, s32); /* extern */ +Gfx *func_8004B97C(s32, s32, s32, s32, s32); /* extern */ - -void *func_8004D0D4(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { +Gfx *func_8004D0D4(s32 arg0, s32 arg1, s8 *arg2, s32 width, s32 arg4, s32 height) { + Gfx *temp_v1; + Gfx *var_v0; s32 temp_lo; - s32 temp_s2; - void *temp_v1; - s32 phi_s1; - s32 phi_s0; - s32 phi_s2; - void *phi_v0; + s32 var_s0; + s32 var_s2; + s8 *var_s1; - temp_lo = arg4 / arg5; + temp_lo = arg4 / height; temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007FE0; - phi_s1 = arg2; - phi_s0 = arg1 - (arg4 / 2); - phi_s2 = 0; - phi_v0 = temp_v1; + var_s0 = arg1 - (arg4 / 2); + var_s1 = arg2; + var_s2 = 0; + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D007FE0; + var_v0 = temp_v1; if (temp_lo > 0) { do { - func_80044924(phi_s1, arg3, arg5); - temp_s2 = phi_s2 + 1; - phi_s1 += arg3 * arg5; - phi_s0 += arg5; - phi_s2 = temp_s2; - phi_v0 = func_8004B97C(arg0 - (arg3 / 2), phi_s0, arg3, arg5, 1); - } while (temp_s2 != temp_lo); + func_80044924(var_s1, width, height); + var_v0 = func_8004B97C(arg0 - (width / 2), var_s0, width, height, 1); + var_s2 += 1; + var_s1 = &var_s1[width * height]; + var_s0 += height; + } while (var_s2 != temp_lo); } - return phi_v0; + return var_v0; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004D0D4.s") #endif #ifdef MIPS_TO_C -UNUSED void func_8004D210(s32 arg0, s32 arg1, s32 arg2, ? arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 argA) { +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80044924(s8 *, s32, s32); /* extern */ +? func_8004B97C(s32, s32, s32, s32, s32); /* extern */ + +void func_8004D210(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 width, s32 arg8, s32 arg9, s32 height) { + Gfx *temp_v1; s32 temp_lo; s32 var_s0; s32 var_s3; - s32 var_s4; - void *temp_v1; + s8 *var_s4; temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x06000000; - temp_v1->unk4 = &D_0D007FE0; + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D007FE0; var_s3 = arg1 - (arg8 / 2); var_s4 = arg2; func_8004B35C(arg3, arg4, arg5, arg6); var_s0 = 0; - temp_lo = arg8 / argA; + temp_lo = arg8 / height; if (temp_lo > 0) { do { - func_80044924(var_s4, arg7, argA); - func_8004B97C(arg0 - (arg7 / 2), var_s3, arg7, argA, 1); + func_80044924(var_s4, width, height); + func_8004B97C(arg0 - (width / 2), var_s3, width, height, 1); var_s0 += 1; - var_s4 += (s32) (arg7 * argA) / 2; - var_s3 += argA; + var_s4 = &var_s4[(s32) (width * height) / 2]; + var_s3 += height; } while (var_s0 != temp_lo); } } @@ -3286,41 +2470,35 @@ UNUSED void func_8004D210(s32 arg0, s32 arg1, s32 arg2, ? arg3, s32 arg4, s32 ar GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004D210.s") #endif - #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80044F34(s32, s32, s32); // extern -void func_8004B414(?, s32, s32, s32); // extern -void func_8004B97C(s32, s32, s32, s32, s32); // extern -extern Gfx D_0D007FE0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80044F34(s8 *, s32, s32); /* extern */ +? func_8004B97C(s32, s32, s32, s32, s32); /* extern */ - -void func_8004D37C(s32 arg0, s32 arg1, s32 arg2, ? arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 argA) { +void func_8004D37C(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 width, s32 arg8, s32 arg9, s32 height) { + Gfx *temp_v1; s32 temp_lo; - s32 temp_s0; - void *temp_v1; - s32 phi_s4; - s32 phi_s3; - s32 phi_s0; + s32 var_s0; + s32 var_s3; + s8 *var_s4; temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007FE0; + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D007FE0; + var_s3 = arg1 - (arg8 / 2); + var_s4 = arg2; func_8004B414(arg3, arg4, arg5, arg6); - temp_lo = arg8 / argA; - phi_s4 = arg2; - phi_s3 = arg1 - (arg8 / 2); - phi_s0 = 0; + var_s0 = 0; + temp_lo = arg8 / height; if (temp_lo > 0) { do { - func_80044F34(phi_s4, arg7, argA); - func_8004B97C(arg0 - (arg7 / 2), phi_s3, arg7, argA, 1); - temp_s0 = phi_s0 + 1; - phi_s4 += (arg7 * argA) / 2; - phi_s3 += argA; - phi_s0 = temp_s0; - } while (temp_s0 != temp_lo); + func_80044F34(var_s4, width, height); + func_8004B97C(arg0 - (width / 2), var_s3, width, height, 1); + var_s0 += 1; + var_s4 = &var_s4[(s32) (width * height) / 2]; + var_s3 += height; + } while (var_s0 != temp_lo); } } #else @@ -3328,39 +2506,34 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004D37C.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800450C8(s32, s32, s32); // extern -void func_8004B414(?, s32, s32, s32); // extern -void func_8004BA08(s32, s32, s32, s32, s32); // extern -extern Gfx D_0D007FE0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800450C8(s8 *, s32, s32); /* extern */ +? func_8004BA08(s32, s32, s32, s32, s32); /* extern */ - -void func_8004D4E8(s32 arg0, s32 arg1, s32 arg2, ? arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 argA) { +void func_8004D4E8(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 width, s32 arg8, s32 arg9, s32 height) { + Gfx *temp_v1; s32 temp_lo; - s32 temp_s0; - void *temp_v1; - s32 phi_s4; - s32 phi_s3; - s32 phi_s0; + s32 var_s0; + s32 var_s3; + s8 *var_s4; temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007FE0; + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D007FE0; + var_s3 = arg1 - (arg8 / 2); + var_s4 = arg2; func_8004B414(arg3, arg4, arg5, arg6); - temp_lo = arg8 / argA; - phi_s4 = arg2; - phi_s3 = arg1 - (arg8 / 2); - phi_s0 = 0; + var_s0 = 0; + temp_lo = arg8 / height; if (temp_lo > 0) { do { - func_800450C8(phi_s4, arg7, argA); - func_8004BA08(arg0 - (arg7 / 2), phi_s3, arg7, argA, 1); - temp_s0 = phi_s0 + 1; - phi_s4 += (arg7 * argA) / 2; - phi_s3 += argA; - phi_s0 = temp_s0; - } while (temp_s0 != temp_lo); + func_800450C8(var_s4, width, height); + func_8004BA08(arg0 - (width / 2), var_s3, width, height, 1); + var_s0 += 1; + var_s4 = &var_s4[(s32) (width * height) / 2]; + var_s3 += height; + } while (var_s0 != temp_lo); } } #else @@ -3368,26 +2541,29 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004D4E8.s") #endif #ifdef MIPS_TO_C -UNUSED void func_8004D654(s32 arg0, s32 arg1, s32 arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg8, s32 arg9, s32 argB) { +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80044F34(s8 *, s32, s32); /* extern */ + +void func_8004D654(s32 arg0, s32 arg1, s8 *arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 width, s32 arg9, s32 argA, s32 height) { + Gfx *temp_v1; s32 temp_lo; s32 var_s0; - s32 var_s2; - void *temp_v1; + s8 *var_s2; temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x06000000; - temp_v1->unk4 = &D_0D008000; + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D008000; var_s2 = arg2; - func_8004B480(arg4, arg5, arg6, arg2); + func_8004B480(arg4, arg5, arg6); var_s0 = 0; - temp_lo = arg9 / argB; + temp_lo = arg9 / height; if (temp_lo > 0) { do { - func_80044F34(var_s2, arg8, argB); - func_8004BB3C(arg0, arg1, arg8, arg9, arg3); + func_80044F34(var_s2, width, height); + func_8004BB3C(arg0, arg1, width, arg9, arg3); var_s0 += 1; - var_s2 += (s32) (arg8 * argB) / 2; + var_s2 = &var_s2[(s32) (width * height) / 2]; } while (var_s0 != temp_lo); } } @@ -3396,55 +2572,49 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004D654.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800441E0(s32, s32, ?); // extern -void func_8004B97C(s32, s32, s32, ?, s32); // extern -f32 sins(s32); // extern -extern Gfx D_0D007FE0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_8004B97C(s32, s32, s32, ?, s32); /* extern */ extern u16 D_801656B0; extern s16 D_80165708; extern s16 D_80165710; extern f32 D_8018D00C; - -void func_8004D7B4(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { +void func_8004D7B4(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, s32 arg4) { s32 sp5C; + Gfx *temp_v1; f32 temp_f20; s16 temp_s7; + s16 var_s1; s32 temp_s0; - s32 temp_s4; s32 temp_s5; - void *temp_v1; - s16 phi_s1; - s32 phi_s2; - s32 phi_s3; - s32 phi_s4; + s32 var_s3; + s32 var_s4; + s8 *var_s2; - D_801656B0 = D_801656B0 + D_80165710; + D_801656B0 += D_80165710; temp_f20 = D_8018D00C; temp_v1 = gDisplayListHead; temp_s7 = D_80165708; + var_s1 = (s16) D_801656B0; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007FE0; - phi_s1 = D_801656B0; - phi_s2 = arg2; - phi_s3 = arg1 - (arg4 / 2); - phi_s4 = 0; + var_s2 = arg2; + var_s3 = arg1 - (arg4 / 2); + var_s4 = 0; + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D007FE0; if (arg4 > 0) { sp5C = arg3 * 2; do { - temp_s0 = phi_s1 & 0xFFFF; - temp_s5 = (sins(temp_s0 & 0xFFFF) * temp_f20) + (arg0 - (arg3 / 2)); + temp_s0 = var_s1 & 0xFFFF; + temp_s5 = (s32) ((sins(temp_s0 & 0xFFFF) * temp_f20) + (f32) (arg0 - (arg3 / 2))); sins(temp_s0 & 0xFFFF); - func_800441E0(phi_s2, arg3, 1); - func_8004B97C(temp_s5, phi_s3, arg3, 1, 1); - temp_s4 = phi_s4 + 1; - phi_s1 = phi_s1 + temp_s7; - phi_s2 += sp5C; - phi_s3 += 1; - phi_s4 = temp_s4; - } while (temp_s4 != arg4); + func_800441E0(var_s2, arg3, 1); + func_8004B97C(temp_s5, var_s3, arg3, 1, 1); + var_s4 += 1; + var_s1 += temp_s7; + var_s3 += 1; + var_s2 = &var_s2[sp5C]; + } while (var_s4 != arg4); } } #else @@ -3452,53 +2622,47 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004D7B4.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800444B0(s32, s32, ?); // extern -void func_8004B97C(s32, s32, s32, ?, s32); // extern -f32 sins(s32); // extern -extern Gfx D_0D007FE0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_8004B97C(s32, s32, s32, ?, s32); /* extern */ extern u16 D_801656B0; extern s16 D_80165708; extern s16 D_80165710; extern f32 D_8018D00C; - -void func_8004D93C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { +void func_8004D93C(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, s32 arg4) { + Gfx *temp_v1; f32 temp_f20; s16 temp_s7; + s16 var_s1; s32 temp_s0; - s32 temp_s5; s32 temp_s6; - void *temp_v1; - s16 phi_s1; - s32 phi_s2; - s32 phi_s4; - s32 phi_s5; + s32 var_s4; + s32 var_s5; + s8 *var_s2; - D_801656B0 = D_801656B0 + D_80165710; + D_801656B0 += D_80165710; temp_f20 = D_8018D00C; temp_v1 = gDisplayListHead; temp_s7 = D_80165708; + var_s1 = (s16) D_801656B0; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007FE0; - phi_s1 = D_801656B0; - phi_s2 = arg2; - phi_s4 = arg1 - (arg4 / 2); - phi_s5 = 0; + var_s2 = arg2; + var_s4 = arg1 - (arg4 / 2); + var_s5 = 0; + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D007FE0; if (arg4 > 0) { do { - temp_s0 = phi_s1 & 0xFFFF; - temp_s6 = (sins(temp_s0 & 0xFFFF) * temp_f20) + (arg0 - (arg3 / 2)); + temp_s0 = var_s1 & 0xFFFF; + temp_s6 = (s32) ((sins(temp_s0 & 0xFFFF) * temp_f20) + (f32) (arg0 - (arg3 / 2))); sins(temp_s0 & 0xFFFF); - func_800444B0(phi_s2, arg3, 1); - func_8004B97C(temp_s6, phi_s4, arg3, 1, 1); - temp_s5 = phi_s5 + 1; - phi_s1 = phi_s1 + temp_s7; - phi_s2 += arg3; - phi_s4 += 1; - phi_s5 = temp_s5; - } while (temp_s5 != arg4); + func_800444B0(var_s2, arg3, 1); + func_8004B97C(temp_s6, var_s4, arg3, 1, 1); + var_s5 += 1; + var_s1 += temp_s7; + var_s2 = &var_s2[arg3]; + var_s4 += 1; + } while (var_s5 != arg4); } } #else @@ -3506,53 +2670,48 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004D93C.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80044924(s32, s32, ?); // extern -void func_8004B97C(s32, s32, s32, ?, s32); // extern -f32 sins(s32); // extern -extern Gfx D_0D007FE0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80044924(s32, s32, ?); /* extern */ +? func_8004B97C(s32, s32, s32, ?, s32); /* extern */ extern u16 D_801656B0; extern s16 D_80165708; extern s16 D_80165710; extern f32 D_8018D00C; - void func_8004DAB8(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { + Gfx *temp_v1; f32 temp_f20; s16 temp_s7; + s16 var_s1; s32 temp_s0; - s32 temp_s5; s32 temp_s6; - void *temp_v1; - s16 phi_s1; - s32 phi_s2; - s32 phi_s4; - s32 phi_s5; + s32 var_s2; + s32 var_s4; + s32 var_s5; - D_801656B0 = D_801656B0 + D_80165710; + D_801656B0 += D_80165710; temp_f20 = D_8018D00C; temp_v1 = gDisplayListHead; temp_s7 = D_80165708; + var_s1 = (s16) D_801656B0; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007FE0; - phi_s1 = D_801656B0; - phi_s2 = arg2; - phi_s4 = arg1 - (arg4 / 2); - phi_s5 = 0; + var_s2 = arg2; + var_s4 = arg1 - (arg4 / 2); + var_s5 = 0; + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D007FE0; if (arg4 > 0) { do { - temp_s0 = phi_s1 & 0xFFFF; - temp_s6 = (sins(temp_s0 & 0xFFFF) * temp_f20) + (arg0 - (arg3 / 2)); + temp_s0 = var_s1 & 0xFFFF; + temp_s6 = (s32) ((sins(temp_s0 & 0xFFFF) * temp_f20) + (f32) (arg0 - (arg3 / 2))); sins(temp_s0 & 0xFFFF); - func_80044924(phi_s2, arg3, 1); - func_8004B97C(temp_s6, phi_s4, arg3, 1, 1); - temp_s5 = phi_s5 + 1; - phi_s1 = phi_s1 + temp_s7; - phi_s2 += arg3; - phi_s4 += 1; - phi_s5 = temp_s5; - } while (temp_s5 != arg4); + func_80044924(var_s2, arg3, 1); + func_8004B97C(temp_s6, var_s4, arg3, 1, 1); + var_s5 += 1; + var_s1 += temp_s7; + var_s2 += arg3; + var_s4 += 1; + } while (var_s5 != arg4); } } #else @@ -3624,30 +2783,27 @@ UNUSED void func_8004DF24(s32 arg0, s32 arg1, s32 arg2) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800452A4(s32, s32, s32); // extern -void func_8004B97C(s32, s32, s32, s32, s32); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_8004B97C(s32, s32, s32, s32, s32); /* extern */ -void func_8004DF5C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { +void func_8004DF5C(s32 arg0, s32 arg1, s8 *arg2, s32 width, s32 arg4, s32 height) { s32 temp_lo; - s32 temp_s2; - s32 phi_s1; - s32 phi_s0; - s32 phi_s2; + s32 var_s0; + s32 var_s2; + s8 *var_s1; - temp_lo = arg4 / arg5; - phi_s1 = arg2; - phi_s0 = arg1 - (arg4 / 2); - phi_s2 = 0; + temp_lo = arg4 / height; + var_s0 = arg1 - (arg4 / 2); + var_s1 = arg2; + var_s2 = 0; if (temp_lo > 0) { do { - func_800452A4(phi_s1, arg3, arg5); - func_8004B97C(arg0 - (arg3 / 2), phi_s0, arg3, arg5, 1); - temp_s2 = phi_s2 + 1; - phi_s1 += arg3 * arg5; - phi_s0 += arg5; - phi_s2 = temp_s2; - } while (temp_s2 != temp_lo); + func_800452A4(var_s1, width, height); + func_8004B97C(arg0 - (width / 2), var_s0, width, height, 1); + var_s2 += 1; + var_s1 = &var_s1[width * height]; + var_s0 += height; + } while (var_s2 != temp_lo); } } #else @@ -3655,46 +2811,42 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004DF5C.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800452A4(s32, s32, ?); // extern -void func_8004B97C(u32, s32, s32, ?, s32); // extern -f32 sins(s32); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_8004B97C(u32, s32, s32, ?, s32); /* extern */ extern u16 D_801656B0; extern s16 D_80165708; extern s16 D_80165710; extern f32 D_8018D00C; -void func_8004E06C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { +void func_8004E06C(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, s32 arg4) { f32 temp_f20; s16 temp_s7; + s16 var_s1; s32 temp_s0; - s32 temp_s5; + s32 var_s4; + s32 var_s5; + s8 *var_s2; u32 temp_s6; - s16 phi_s1; - s32 phi_s2; - s32 phi_s4; - s32 phi_s5; - D_801656B0 = D_801656B0 + D_80165710; + D_801656B0 += D_80165710; temp_f20 = D_8018D00C; + var_s1 = (s16) D_801656B0; temp_s7 = D_80165708; - phi_s1 = D_801656B0; - phi_s2 = arg2; - phi_s4 = arg1 - (arg4 / 2); - phi_s5 = 0; + var_s2 = arg2; + var_s4 = arg1 - (arg4 / 2); + var_s5 = 0; if (arg4 > 0) { do { - temp_s0 = phi_s1 & 0xFFFF; - temp_s6 = (sins(temp_s0 & 0xFFFF) * temp_f20) + (arg0 - (arg3 / 2)); + temp_s0 = var_s1 & 0xFFFF; + temp_s6 = (u32) ((sins(temp_s0 & 0xFFFF) * temp_f20) + (f32) (arg0 - (arg3 / 2))); sins(temp_s0 & 0xFFFF); - func_800452A4(phi_s2, arg3, 1); - func_8004B97C(temp_s6, phi_s4, arg3, 1, 1); - temp_s5 = phi_s5 + 1; - phi_s1 = phi_s1 + temp_s7; - phi_s2 += arg3; - phi_s4 += 1; - phi_s5 = temp_s5; - } while (temp_s5 != arg4); + func_800452A4(var_s2, arg3, 1); + func_8004B97C(temp_s6, var_s4, arg3, 1, 1); + var_s5 += 1; + var_s1 += temp_s7; + var_s2 = &var_s2[arg3]; + var_s4 += 1; + } while (var_s5 != arg4); } } #else @@ -3777,89 +2929,63 @@ UNUSED void func_8004E604(s32 arg0, s32 arg1, u8 *tlut, s32 arg3) { func_8004E240(arg0, arg1, tlut, arg3, SCREEN_WIDTH, SCREEN_HEIGHT, 6); } -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -void func_8004E4CC(s32, s32, s32 *, s32 *); /* extern */ -extern s32 D_80183E88; - void func_8004E638(s32 playerId) { + s32 objectIndex; struct_80165C18_entry *temp_v1; struct_8018CA70_entry *temp_v0; - temp_v1 = &D_80165C18[*(&D_80183E88 + (playerId * 4))]; + objectIndex = D_80183E88[playerId]; + temp_v1 = &D_80165C18[objectIndex]; if (temp_v1->unk_0A6 >= 2) { temp_v0 = &D_8018CA70[playerId]; func_8004E4CC(temp_v0->slideItemBoxX + temp_v0->itemBoxX, temp_v0->slideItemBoxY + temp_v0->itemBoxY, temp_v1->unk_060, temp_v1->unk_064); } } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004E638.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -void func_80047910(s32, s32, ?, f32, s32 *, s32 *, ? *, s32, s32, s32, s32); /* extern */ -extern Vtx D_0D005C30; -extern s32 D_80183E88; void func_8004E6C4(s32 playerId) { + s32 objectIndex; struct_80165C18_entry *temp_v1; struct_8018CA70_entry *temp_v0; - temp_v1 = &D_80165C18[*(&D_80183E88 + (playerId * 4))]; + objectIndex = D_80183E88[playerId]; + temp_v1 = &D_80165C18[objectIndex]; if (temp_v1->unk_0A6 >= 2) { temp_v0 = &D_8018CA70[playerId]; - func_80047910(temp_v0->slideItemBoxX + temp_v0->itemBoxX, temp_v0->slideItemBoxY + temp_v0->itemBoxY, 0, temp_v0->unknownScaling, temp_v1->unk_060, temp_v1->unk_064, &D_0D005C30, 0x00000028, 0x00000020, 0x00000028, 0x00000020); + func_80047910(temp_v0->slideItemBoxX + temp_v0->itemBoxX, temp_v0->slideItemBoxY + temp_v0->itemBoxY, 0U, temp_v0->unknownScaling, (s32) temp_v1->unk_060, (s32) temp_v1->unk_064, D_0D005C30, 0x00000028, 0x00000020, 0x00000028, 0x00000020); } } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004E6C4.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 792017ad9d422c2467bd42686f383a5c41f41c75 -void func_8004CB60(s16, s32, ? *); /* extern */ -void func_8004CB90(s32, s16, ? *); /* extern */ -extern ? D_0D00A958; -extern s8 D_0D00B158; -extern s8 D_0D00B558; -extern s8 D_0D00B958; -static ? *D_800E4570[3] = { &D_0D00B158, &D_0D00B558, &D_0D00B958 }; /* const */ +#ifdef NEEDS_RODATA +// Might actually be plain data? hard to say for sure +// data_0DD0A0_2_0.s +// s8 *D_800E4570[3];// = { (s32) D_0D00B158, (s32) D_0D00B558, (s32) D_0D00B958 }; void func_8004E78C(s32 playerId) { - struct_8018CA70_entry *sp1C; - struct_8018CA70_entry *temp_v0; - - temp_v0 = &D_8018CA70[playerId]; - sp1C = temp_v0; - func_8004CB60(temp_v0->lapX, temp_v0->lapY + 3, &D_0D00A958); - func_8004CB90(temp_v0->lapX + 0x1C, temp_v0->lapY, D_800E4570[temp_v0->alsoLapCount]); + func_8004CB60((s32) D_8018CA70[playerId].lapX, D_8018CA70[playerId].lapY + 3, (s32) D_0D00A958); + func_8004CB90(D_8018CA70[playerId].lapX + 0x1C, (s32) D_8018CA70[playerId].lapY, D_800E4570[D_8018CA70[playerId].alsoLapCount]); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004E78C.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 792017ad9d422c2467bd42686f383a5c41f41c75 -void func_8004A384(s32, s32, ?, f32, s32, s32, s32, s32, void *, ? *, s32, s32, s32, s32); /* extern */ -extern Vtx D_0D0068F0; -extern s8 D_0D00D258; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern s32 D_80165594; extern ? D_8018CF98; -static s32 D_800E55F8[8] = { 0xFF, 0xED, 0xD7, 0xBF, 0xA2, 0x82, 0x61, 0x3A }; /* const */ +static s32 D_800E55F8[8] = { 0x000000FF, 0x000000ED, 0x000000D7, 0x000000BF, 0x000000A2, 0x00000082, 0x00000061, 0x0000003A, }; void func_8004E800(s32 playerId) { s16 temp_v1; struct_8018CA70_entry *temp_v0; temp_v0 = &D_8018CA70[playerId]; - if (temp_v0->unk81 != 0) { + if ((u8) temp_v0->unk_81 != 0) { if (temp_v0->lapCount != 3) { temp_v1 = *(&D_8018CF98 + (playerId * 2)); - func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0, temp_v0->rankScaling, 0xFF, D_800E55F8[temp_v1], 0, 0xFF, (temp_v1 << 0xC) + &D_0D00D258, &D_0D0068F0, 0x80, 0x40, 0x80, 0x40); + func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0U, temp_v0->rankScaling, 0x000000FF, D_800E55F8[temp_v1], 0, 0x000000FF, (s32) ((temp_v1 << 0xC) + D_0D00D258), D_0D0068F0, 0x00000080, 0x00000040, 0x00000080, 0x00000040); return; } - func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0, temp_v0->rankScaling, 0xFF, D_800E55F8[D_80165594], 0, 0xFF, (gPlayerPositions[playerId] << 0xC) + &D_0D00D258, &D_0D0068F0, 0x80, 0x40, 0x80, 0x40); + func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0U, temp_v0->rankScaling, 0x000000FF, D_800E55F8[D_80165594], 0, 0x000000FF, (s32) ((gPlayerPositions[playerId] << 0xC) + D_0D00D258), D_0D0068F0, 0x00000080, 0x00000040, 0x00000080, 0x00000040); } } #else @@ -3867,25 +2993,22 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004E800.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 792017ad9d422c2467bd42686f383a5c41f41c75 -void func_8004A384(s32, s32, ?, f32, s32, s32, s32, s32, void *, ? *, s32, s32, s32, s32); /* extern */ -extern Vtx D_0D006030; -extern s8 D_0D015258; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern s32 D_80165598; -static s32 D_800E5618[4] = { 0xFF, 0xD7, 0xA2, 0x61 }; /* const */ +static s32 D_800E5618[4] = { 0x000000FF, 0x000000D7, 0x000000A2, 0x00000061 }; void func_8004E998(s32 playerId) { s32 temp_v1; struct_8018CA70_entry *temp_v0; temp_v0 = &D_8018CA70[playerId]; - if (temp_v0->unk81 != 0) { + if ((u8) temp_v0->unk_81 != 0) { if (temp_v0->lapCount != 3) { temp_v1 = gPlayerPositions[playerId]; - func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0, temp_v0->rankScaling, 0xFF, D_800E5618[temp_v1], 0, 0xFF, (temp_v1 << 0xB) + &D_0D015258, &D_0D006030, 0x40, 0x40, 0x40, 0x40); + func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0U, temp_v0->rankScaling, 0x000000FF, D_800E5618[temp_v1], 0, 0x000000FF, (s32) ((temp_v1 << 0xB) + D_0D015258), D_0D006030, 0x00000040, 0x00000040, 0x00000040, 0x00000040); return; } - func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0, temp_v0->rankScaling, 0xFF, D_800E5618[D_80165598], 0, 0xFF, (gPlayerPositions[playerId] << 0xB) + &D_0D015258, &D_0D006030, 0x40, 0x40, 0x40, 0x40); + func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0U, temp_v0->rankScaling, 0x000000FF, D_800E5618[D_80165598], 0, 0x000000FF, (s32) ((gPlayerPositions[playerId] << 0xB) + D_0D015258), D_0D006030, 0x00000040, 0x00000040, 0x00000040, 0x00000040); } } #else @@ -3897,35 +3020,28 @@ void func_8004EB30(s32 arg0) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 792017ad9d422c2467bd42686f383a5c41f41c75 -void func_8004C9D8(s16, s16, ?, ? *, s32, s32, s32, s32); /* extern */ -void func_8004F950(s16, s16, ?, u32); /* extern */ -extern ? D_0D00A958; -extern s8 D_0D00B158; -extern s8 D_0D00B558; -extern s8 D_0D00B958; -extern s8 D_0D00C158; -static ? *D_800E4570[3] = { &D_0D00B158, &D_0D00B558, &D_0D00B958 }; /* const */ +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +static s32 D_800E4570[3] = { (s32) D_0D00B158, (s32) D_0D00B558, (s32) D_0D00B958 }; void func_8004EB38(s32 playerId) { struct_8018CA70_entry *temp_s0; temp_s0 = &D_8018CA70[playerId]; if ((u8) temp_s0->unk_7B != 0) { - func_8004C9D8(temp_s0->lap1CompletionTimeX - 0x13, temp_s0->timerY + 8, 0x80, &D_0D00C158, 0x20, 0x10, 0x20, 0x10); - func_8004F950(temp_s0->lap1CompletionTimeX, temp_s0->timerY, 0x80, temp_s0->someTimer); + func_8004C9D8(temp_s0->lap1CompletionTimeX - 0x13, temp_s0->timerY + 8, 0x00000080, (s32) D_0D00C158, 0x00000020, 0x00000010, 0x00000020, 0x00000010); + func_8004F950((s32) temp_s0->lap1CompletionTimeX, (s32) temp_s0->timerY, 0x00000080, (s32) temp_s0->someTimer); } if ((u8) temp_s0->unk_7C != 0) { - func_8004C9D8(temp_s0->lap2CompletionTimeX - 0x13, temp_s0->timerY + 8, 0x50, &D_0D00C158, 0x20, 0x10, 0x20, 0x10); - func_8004F950(temp_s0->lap2CompletionTimeX, temp_s0->timerY, 0x50, temp_s0->someTimer); + func_8004C9D8(temp_s0->lap2CompletionTimeX - 0x13, temp_s0->timerY + 8, 0x00000050, (s32) D_0D00C158, 0x00000020, 0x00000010, 0x00000020, 0x00000010); + func_8004F950((s32) temp_s0->lap2CompletionTimeX, (s32) temp_s0->timerY, 0x00000050, (s32) temp_s0->someTimer); } if ((u8) temp_s0->unk_7E != 0) { - func_8004C9D8(temp_s0->lapAfterImage1X, temp_s0->lapY + 3, 0x80, &D_0D00A958, 0x20, 8, 0x20, 8); - func_8004C9D8(temp_s0->lapAfterImage1X + 0x1C, temp_s0->lapY, 0x80, D_800E4570[temp_s0->alsoLapCount], 0x20, 0x10, 0x20, 0x10); + func_8004C9D8((s32) temp_s0->lapAfterImage1X, temp_s0->lapY + 3, 0x00000080, (s32) D_0D00A958, 0x00000020, 8, 0x00000020, 8); + func_8004C9D8(temp_s0->lapAfterImage1X + 0x1C, (s32) temp_s0->lapY, 0x00000080, D_800E4570[temp_s0->alsoLapCount], 0x00000020, 0x00000010, 0x00000020, 0x00000010); } if ((u8) temp_s0->unk_7F != 0) { - func_8004C9D8(temp_s0->lapAfterImage2X, temp_s0->lapY + 3, 0x50, &D_0D00A958, 0x20, 8, 0x20, 8); - func_8004C9D8(temp_s0->lapAfterImage2X + 0x1C, temp_s0->lapY, 0x50, D_800E4570[temp_s0->alsoLapCount], 0x20, 0x10, 0x20, 0x10); + func_8004C9D8((s32) temp_s0->lapAfterImage2X, temp_s0->lapY + 3, 0x00000050, (s32) D_0D00A958, 0x00000020, 8, 0x00000020, 8); + func_8004C9D8(temp_s0->lapAfterImage2X + 0x1C, (s32) temp_s0->lapY, 0x00000050, D_800E4570[temp_s0->alsoLapCount], 0x00000020, 0x00000010, 0x00000020, 0x00000010); } } #else @@ -3933,13 +3049,7 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004EB38.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 792017ad9d422c2467bd42686f383a5c41f41c75 -void func_8004A258(s32, s32, u16, ?, ? *, ? *, s32, s32, s32, s32); /* extern */ -void func_8004A2F4(s16, s16, ?, ?, s32, s32, s32, s32, ? *, ? *, s32, s32, s32, s32); /* extern */ -extern Vtx D_0D005FF0; -extern Vtx D_0D0064B0; -extern s8 D_0D009958; -extern s8 D_0D00A558; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern u16 D_8016579E; extern f32 D_8018CFEC; extern f32 D_8018CFF4; @@ -3951,22 +3061,22 @@ void func_8004ED40(s32 playerId) { struct_8018CA70_entry *temp_v0; temp_v0 = &D_8018CA70[playerId]; - func_8004A2F4(temp_v0->speedometerX, temp_v0->speedometerY, 0, 0x3F800000, (s32) D_8018D300, (s32) D_8018D308, (s32) D_8018D310, 0xFF, &D_0D009958, &D_0D0064B0, 0x40, 0x60, 0x40, 0x30); - func_8004A258((s32) D_8018CFEC, (s32) D_8018CFF4, D_8016579E, 0x3F800000, &D_0D00A558, &D_0D005FF0, 0x40, 0x20, 0x40, 0x20); + func_8004A2F4((s32) temp_v0->speedometerX, (s32) temp_v0->speedometerY, 0U, 1.0f, (s32) D_8018D300, (s32) D_8018D308, (s32) D_8018D310, 0x000000FF, (s32) D_0D009958, D_0D0064B0, 0x00000040, 0x00000060, 0x00000040, 0x00000030); + func_8004A258((s32) D_8018CFEC, (s32) D_8018CFF4, D_8016579E, 1.0f, (s32) D_0D00A558, D_0D005FF0, 0x00000040, 0x00000020, 0x00000040, 0x00000020); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004ED40.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_8004D37C(s32, s32, s32, u16, s32, s32, s32, s32, s32, s32, s32); // extern -void func_8004D4E8(s32, s32, s32, u16, s32, s32, s32, s32, s32, s32, s32); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_8004D37C(s32, s32, s32, u16, s32, s32, s32, s32, s32, s32, s32); /* extern */ +? func_8004D4E8(s32, s32, s32, u16, s32, s32, s32, s32, s32, s32, s32); /* extern */ extern s32 D_8018D240; extern s16 D_8018D2B0; extern s16 D_8018D2B8; -extern s16 D_8018D2C0; -extern s16 D_8018D2D8; +extern ? D_8018D2C0; +extern ? D_8018D2D8; extern s16 D_8018D2F0; extern s16 D_8018D2F8; extern u16 D_8018D300; @@ -3985,45 +3095,44 @@ void func_8004EE54(s32 arg0) { temp_v0 = arg0 * 2; temp_t0 = D_8018D2B8; temp_v1 = D_8018D2B0; - func_8004D4E8(*(&D_8018D2C0 + temp_v0) + D_8018D2F0, *(&D_8018D2D8 + temp_v0) + D_8018D2F8, D_8018D240, D_8018D300, D_8018D308, D_8018D310, 0xFF, temp_v1, temp_t0, temp_v1, temp_t0); + func_8004D4E8(*(&D_8018D2C0 + temp_v0) + D_8018D2F0, *(&D_8018D2D8 + temp_v0) + D_8018D2F8, D_8018D240, D_8018D300, (s32) D_8018D308, (s32) D_8018D310, 0x000000FF, (s32) temp_v1, (s32) temp_t0, (s32) temp_v1, (s32) temp_t0); return; } temp_t6 = arg0 * 2; temp_t0_2 = D_8018D2B8; temp_v1_2 = D_8018D2B0; - func_8004D37C(*(&D_8018D2C0 + temp_t6) + D_8018D2F0, *(&D_8018D2D8 + temp_t6) + D_8018D2F8, D_8018D240, D_8018D300, D_8018D308, D_8018D310, 0xFF, temp_v1_2, temp_t0_2, temp_v1_2, temp_t0_2); + func_8004D37C(*(&D_8018D2C0 + temp_t6) + D_8018D2F0, *(&D_8018D2D8 + temp_t6) + D_8018D2F8, D_8018D240, D_8018D300, (s32) D_8018D308, (s32) D_8018D310, 0x000000FF, (s32) temp_v1_2, (s32) temp_t0_2, (s32) temp_v1_2, (s32) temp_t0_2); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004EE54.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_8004D37C(?, ?, s32, ?, s32, s32, s32, s32, s32, s32, s32); // extern -extern s16 D_800E5548; -extern s32 D_8018D248; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_8004D37C(?, ?, s32, ?, s32, s32, s32, s32, s32, s32, s32); /* extern */ +extern ? D_8018D248; +static s32 D_800E5548[0]; /* unable to generate initializer */ void func_8004EF9C(s32 arg0) { s16 temp_t0; s16 temp_v0; - void *temp_v1; + s32 *temp_v1; - temp_v1 = (arg0 * 4) + &D_800E5548; + temp_v1 = &D_800E5548[arg0]; temp_v0 = temp_v1->unk0; temp_t0 = temp_v1->unk2; - func_8004D37C(0x104, 0x3C, *(&D_8018D248 + (arg0 * 4)), 0xFF, 0xFF, 0xFF, 0xFF, temp_v0, temp_t0, temp_v0, temp_t0); + func_8004D37C(0x104, 0x3C, *(&D_8018D248 + (arg0 * 4)), 0xFF, 0x000000FF, 0x000000FF, 0x000000FF, (s32) temp_v0, (s32) temp_t0, (s32) temp_v0, (s32) temp_t0); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004EF9C.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b -extern ? D_0D02CC58; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern s16 D_8018D2B0; extern s16 D_8018D2B8; -extern s16 D_8018D2C0; -extern s16 D_8018D2D8; +extern ? D_8018D2C0; +extern ? D_8018D2D8; extern s16 D_8018D2E0; extern s16 D_8018D2E8; extern s16 D_8018D2F0; @@ -4052,26 +3161,19 @@ block_7: var_f16 = (f64) var_f0 + 4.0; goto block_7; } - func_8004CAD0((s32) (f32) (((*(&D_8018D2C0 + temp_v0) + D_8018D2F0) - ((s16) D_8018D2B0 / 2)) + D_8018D2E0), (s32) var_f0, (s32) &D_0D02CC58); + func_8004CAD0((s32) (f32) (((*(&D_8018D2C0 + temp_v0) + D_8018D2F0) - ((s16) D_8018D2B0 / 2)) + D_8018D2E0), (s32) var_f0, (s32) D_0D02CC58); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004F020.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800463B0(f32, s16, s16, s32, ?, void *, ? *, s32, s32, s32, s32); // extern -void func_80046424(f32, s16, s16, s32, ?, void *, ? *, s32, s32, s32, s32); // extern -void func_8004C364(f32, s16, s16, ?, ?, ? *); // extern -void func_8004C450(f32, s16, s16, ?, ?, ? *); // extern -extern Vtx D_0D005470; -extern s8 D_0D02CCD8; -extern s8 D_0D02D0D8; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern f32 D_8018D2A0; extern s16 D_8018D2B0; extern s16 D_8018D2B8; -extern s16 D_8018D2C0; -extern s16 D_8018D2D8; +extern ? D_8018D2C0; +extern ? D_8018D2D8; extern s16 D_8018D2E0; extern s16 D_8018D2E8; extern s16 D_8018D2F0; @@ -4080,7 +3182,6 @@ extern s16 D_8018D2F8; void func_8004F168(s32 arg0, s32 arg1, s32 arg2) { Player *temp_v1; f32 temp_f0; - f32 temp_f12; s16 temp_a0; s16 temp_a1; s32 temp_t0; @@ -4088,25 +3189,26 @@ void func_8004F168(s32 arg0, s32 arg1, s32 arg2) { temp_v1 = &gPlayerOne[arg1]; temp_t0 = arg0 * 2; - if ((temp_v1->unk_000 & PLAYER_EXISTS) != 0) { + if (temp_v1->unk_000 & 0x8000) { temp_f0 = D_8018D2A0; - temp_f12 = temp_v1->posZ * temp_f0; - temp_a0 = ((*(&D_8018D2C0 + temp_t0) + D_8018D2F0) - (D_8018D2B0 / 2)) + D_8018D2E0 + (temp_v1->posX * temp_f0); - temp_a1 = ((*(&D_8018D2D8 + temp_t0) + D_8018D2F8) - (D_8018D2B8 / 2)) + D_8018D2E8 + temp_f12; + temp_a0 = ((*(&D_8018D2C0 + temp_t0) + D_8018D2F0) - ((s16) D_8018D2B0 / 2)) + D_8018D2E0 + (s16) (s32) (temp_v1->pos[0] * temp_f0); + temp_a1 = ((*(&D_8018D2D8 + temp_t0) + D_8018D2F8) - ((s16) D_8018D2B8 / 2)) + D_8018D2E8 + (s32) (temp_v1->pos[2] * temp_f0); if (arg2 != 8) { - if ((gPlayerPositions[arg1] == 0) && (temp_v0 = gModeSelection, (temp_v0 != BATTLE)) && (temp_v0 != TIME_TRIALS)) { - func_80046424(temp_f12, temp_a0, temp_a1, (temp_v1->unk_02E + 0x8000) & 0xFFFF, 0x3F800000, (arg2 << 7) + &D_0D02CCD8, &D_0D005470, 8, 8, 8, 8); - return; + if (gPlayerPositions[arg1] == 0) { + temp_v0 = gModeSelection; + if ((temp_v0 != 3) && (temp_v0 != 1)) { + func_80046424((s32) temp_a0, (s32) temp_a1, (temp_v1->unk_02C[1] + 0x8000) & 0xFFFF, 1.0f, (s32) ((arg2 << 7) + D_0D02CCD8), (s32) D_0D005470, 8, 8, 8, 8); + return; + } } - func_800463B0(temp_f12, temp_a0, temp_a1, (temp_v1->unk_02E + 0x8000) & 0xFFFF, 0x3F800000, (arg2 << 7) + &D_0D02CCD8, &D_0D005470, 8, 8, 8, 8); + func_800463B0((s32) temp_a0, (s32) temp_a1, (temp_v1->unk_02C[1] + 0x8000) & 0xFFFF, 1.0f, (s32) ((arg2 << 7) + D_0D02CCD8), (s32) D_0D005470, 8, 8, 8, 8); return; } if (gPlayerPositions[arg1] == 0) { - func_8004C450(temp_f12, temp_a0, temp_a1, 8, 8, &D_0D02D0D8); + func_8004C450((s32) temp_a0, (s32) temp_a1, 8U, 8U, (s32) D_0D02D0D8); return; } - func_8004C364(temp_f12, temp_a0, temp_a1, 8, 8, &D_0D02D0D8); - // Duplicate return node #10. Try simplifying control flow for better match + func_8004C364((s32) temp_a0, (s32) temp_a1, 8U, 8U, (s32) D_0D02D0D8); } } #else @@ -4114,163 +3216,133 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004F168.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_8004F168(s32, s16, u16); // extern -extern s16 gGPCurrentRacePlayerIdByRank; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_8004F168(s32, s16, u16); /* extern */ extern s32 D_8018D158; void func_8004F3E4(s32 arg0) { Player *temp_v0_3; - s16 *temp_s0; - s16 *temp_s0_2; - s16 *temp_s0_3; + s16 *var_s0_2; + s16 *var_s0_4; + s16 *var_s0_5; s16 temp_a1; s16 temp_a1_2; s16 temp_a1_3; - s16 temp_s1_3; + s16 var_s1; + s16 var_s1_2; s32 temp_s1; - s32 temp_s1_2; - s32 temp_s1_4; s32 temp_v0; - s32 temp_v1; + s32 var_s0; + s32 var_s0_3; + s32 var_s1_3; void *temp_v0_2; - s32 phi_s0; - s16 phi_s1; - s32 phi_v1; - s16 *phi_s0_2; - s32 phi_s0_3; - Player *phi_v0; - s16 phi_s1_2; - Player *phi_v0_2; - s16 *phi_s0_4; - s32 phi_s1_3; - s16 *phi_s0_5; temp_v0 = gModeSelection; - if (temp_v0 != GRAND_PRIX) { - phi_s1 = 0; - phi_s1_2 = 0; - if (temp_v0 != TIME_TRIALS) { - if (temp_v0 != VERSUS) { - if (temp_v0 != BATTLE) { - return; + if (temp_v0 != 0) { + var_s1 = 0; + switch (temp_v0) { /* irregular */ + case 1: + var_s0 = 0; + do { + if ((*(var_s0 + gPlayerOne) & 0x100) == 0x100) { + func_8004F168(arg0, var_s1, 8U); } - temp_v1 = gPlayerCountSelection1; - phi_s0 = 0; - phi_v1 = temp_v1; - if (temp_v1 > 0) { - do { - temp_v0_2 = phi_s0 + gPlayerOne; - if ((temp_v0_2->unk0 & 0x40) == 0) { - func_8004F168(arg0, phi_s1, temp_v0_2->unk254); - phi_v1 = gPlayerCountSelection1; - } - temp_s1 = phi_s1 + 1; - phi_s0 += 0xDD8; - phi_s1 = temp_s1; - } while (temp_s1 < phi_v1); - } - // Duplicate return node #31. Try simplifying control flow for better match - return; - } - temp_s1_2 = gPlayerCountSelection1 - 1; - if (temp_s1_2 >= 0) { - phi_s0_2 = (temp_s1_2 * 2) + &gGPCurrentRacePlayerIdByRank; - do { - temp_a1 = *phi_s0_2; - func_8004F168(arg0, temp_a1, gPlayerOne[temp_a1].characterId); - temp_s0 = phi_s0_2 - 2; - phi_s0_2 = temp_s0; - } while (temp_s0 >= &gGPCurrentRacePlayerIdByRank); - return; - } - // Duplicate return node #31. Try simplifying control flow for better match + var_s1 += 1; + var_s0 += 0xDD8; + } while (var_s1 != (s16) 8U); + func_8004F168(arg0, 0, gPlayerOne->characterId); return; + case 2: + temp_s1 = gPlayerCountSelection1 - 1; + if (temp_s1 >= 0) { + var_s0_2 = &gGPCurrentRacePlayerIdByRank[temp_s1]; + do { + temp_a1 = *var_s0_2; + func_8004F168(arg0, temp_a1, gPlayerOne[temp_a1].characterId); + var_s0_2 -= 2; + } while ((u32) var_s0_2 >= (u32) gGPCurrentRacePlayerIdByRank); + return; + } + break; + case 3: + var_s1_2 = 0; + var_s0_3 = 0; + if (gPlayerCountSelection1 > 0) { + do { + temp_v0_2 = var_s0_3 + gPlayerOne; + if (!(temp_v0_2->unk0 & 0x40)) { + func_8004F168(arg0, var_s1_2, temp_v0_2->unk254); + } + var_s1_2 += 1; + var_s0_3 += 0xDD8; + } while (var_s1_2 < gPlayerCountSelection1); + } + break; + } + } else { + var_s1_3 = D_8018D158 - 1; + if (var_s1_3 >= 0) { + var_s0_4 = &gGPCurrentRacePlayerIdByRank[var_s1_3]; + do { + temp_a1_2 = *var_s0_4; + if (gPlayerOne[temp_a1_2].unk_000 & 0x1000) { + func_8004F168(arg0, temp_a1_2, 8U); + } + var_s0_4 -= 2; + } while ((u32) var_s0_4 >= (u32) gGPCurrentRacePlayerIdByRank); + var_s1_3 = D_8018D158 - 1; + } + if (var_s1_3 >= 0) { + var_s0_5 = &gGPCurrentRacePlayerIdByRank[var_s1_3]; + do { + temp_a1_3 = *var_s0_5; + temp_v0_3 = &gPlayerOne[temp_a1_3]; + if ((temp_v0_3->unk_000 & 0x1000) != 0x1000) { + func_8004F168(arg0, temp_a1_3, temp_v0_3->characterId); + } + var_s0_5 -= 2; + } while ((u32) var_s0_5 >= (u32) gGPCurrentRacePlayerIdByRank); } - phi_s0_3 = 0; - phi_v0 = gPlayerOne; - do { - phi_v0_2 = phi_v0; - if ((*(phi_s0_3 + phi_v0) & 0x100) == 0x100) { - func_8004F168(arg0, phi_s1_2, 8); - phi_v0_2 = gPlayerOne; - } - temp_s1_3 = phi_s1_2 + 1; - phi_s0_3 += 0xDD8; - phi_v0 = phi_v0_2; - phi_s1_2 = temp_s1_3; - } while (temp_s1_3 != 8); - func_8004F168(arg0, 0, phi_v0_2->characterId); - return; - } - temp_s1_4 = D_8018D158 - 1; - phi_s1_3 = temp_s1_4; - if (temp_s1_4 >= 0) { - phi_s0_4 = (temp_s1_4 * 2) + &gGPCurrentRacePlayerIdByRank; - do { - temp_a1_2 = *phi_s0_4; - if ((gPlayerOne[temp_a1_2].unk_000 & 0x1000) != 0) { - func_8004F168(arg0, temp_a1_2, 8); - } - temp_s0_2 = phi_s0_4 - 2; - phi_s0_4 = temp_s0_2; - } while (temp_s0_2 >= &gGPCurrentRacePlayerIdByRank); - phi_s1_3 = D_8018D158 - 1; - } - if (phi_s1_3 >= 0) { - phi_s0_5 = (phi_s1_3 * 2) + &gGPCurrentRacePlayerIdByRank; - do { - temp_a1_3 = *phi_s0_5; - temp_v0_3 = &gPlayerOne[temp_a1_3]; - if ((temp_v0_3->unk_000 & 0x1000) != 0x1000) { - func_8004F168(arg0, temp_a1_3, temp_v0_3->characterId); - } - temp_s0_3 = phi_s0_5 - 2; - phi_s0_5 = temp_s0_3; - } while (temp_s0_3 >= &gGPCurrentRacePlayerIdByRank); } } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004F3E4.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 s32 func_8004F674(s32 *arg0, s32 arg1) { s32 temp_v0; + s32 ret; temp_v0 = *arg0; if (temp_v0 != 0) { + ret = temp_v0 / arg1; *arg0 = temp_v0 % arg1; - return temp_v0 / arg1; + } else { + *arg0 = 0; + ret = 0; } - *arg0 = 0; - return 0; + return ret; } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004F674.s") -#endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s8 func_8004F674(s32 *, ?); // extern -extern s8 D_801657D0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern ? D_801657D0; void func_8004F6D0(s32 arg0) { s32 sp24; sp24 = arg0; - if (arg0 >= 0x927BF) { - sp24 = 0x927BF; + if (arg0 >= 0x000927BF) { + sp24 = 0x000927BF; } - D_801657D0.unk0 = func_8004F674(&sp24, 0xEA60); - D_801657D0.unk1 = func_8004F674(&sp24, 0x1770); - D_801657D0.unk3 = func_8004F674(&sp24, 0x3E8); - D_801657D0.unk4 = func_8004F674(&sp24, 0x64); - D_801657D0.unk6 = func_8004F674(&sp24, 0xA); - D_801657D0.unk2 = 0xA; - D_801657D0.unk5 = 0xB; - D_801657D0.unk7 = sp24; + D_801657D0.unk0 = func_8004F674(&sp24, 0x0000EA60); + D_801657D0.unk1 = func_8004F674(&sp24, 0x00001770); + D_801657D0.unk3 = func_8004F674(&sp24, 0x000003E8); + D_801657D0.unk4 = func_8004F674(&sp24, 0x00000064); + D_801657D0.unk6 = func_8004F674(&sp24, 0x0000000A); + D_801657D0.unk2 = 0x0A; + D_801657D0.unk5 = 0x0B; + D_801657D0.unk7 = (s8) sp24; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004F6D0.s") @@ -4351,9 +3423,7 @@ void func_8004F9CC(s32 arg0, s32 arg1, s32 arg2) { } #ifdef MIPS_TO_C -//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b -extern ? D_0D00BD58; -extern ? D_0D00C158; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern s32 D_80165658; extern s8 D_801657E3; extern s8 D_801657E5; @@ -4368,7 +3438,7 @@ void func_8004FA78(s32 playerId) { struct_8018CA70_entry *var_s2; temp_v0 = gModeSelection; - if ((temp_v0 != VERSUS) && (temp_v0 != BATTLE)) { + if ((temp_v0 != 2) && (temp_v0 != 3)) { temp_s4 = &D_8018CA70[playerId]; if (D_8018D320 == temp_s4->lapCount) { var_s3 = &D_80165658; @@ -4387,7 +3457,7 @@ void func_8004FA78(s32 playerId) { var_s1 += 2; var_s2 += 4; } while (var_s0 != 0x30); - func_8004CB90(temp_s4->totalTimeX - 0x13, temp_s4->timerY + 0x38, (s32) &D_0D00BD58); + func_8004CB90(temp_s4->totalTimeX - 0x13, temp_s4->timerY + 0x38, (s32) D_0D00BD58); if (D_801657E5 != 0) { func_8004F9CC((s32) temp_s4->totalTimeX, temp_s4->timerY + 0x30, (s32) temp_s4->someTimer); return; @@ -4396,7 +3466,7 @@ void func_8004FA78(s32 playerId) { } } else { if (temp_s4->blinkTimer == 0) { - func_8004CB90(temp_s4->timerX - 0x13, temp_s4->timerY + 8, (s32) &D_0D00C158); + func_8004CB90(temp_s4->timerX - 0x13, temp_s4->timerY + 8, (s32) D_0D00C158); print_timer((s32) temp_s4->timerX, (s32) temp_s4->timerY, (s32) temp_s4->someTimer); return; } @@ -4427,320 +3497,315 @@ void func_8004FC78(s16 arg0, s16 arg1, s8 arg2) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80042330(s32, s32, ?, ?); // extern -void func_80044924(? *, ?, ?); // extern -void func_800452A4(? *, ?, ?); // extern -void func_8004B35C(s32, s32, s32, s32); // extern -extern Gfx D_0D006980; -extern Gfx D_0D0069E0; -extern Gfx D_0D0069F8; -extern Gfx D_0D007A60; -extern Gfx D_0D007CB8; -extern Gfx D_0D007DB8; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80044924(s8 *, ?, ?); /* extern */ extern ? D_0D019458; extern ? D_0D019658; -extern s8 D_0D01A2D8; -extern s8 D_0D01B4D8; -extern s8 D_0D01DAD8; -extern u32 D_800E457C; -extern ? D_800E459C; extern s32 D_8018D3E0; extern s32 D_8018D3E4; extern s32 D_8018D3E8; extern s32 D_8018D3EC; -extern s32 *gDisplayListHead; +static u32 D_800E457C[8] = { + (u32) D_0D01A4D8, + (u32) D_0D01A6D8, + (u32) D_0D01ACD8, + (u32) D_0D01AAD8, + (u32) D_0D01AED8, + (u32) D_0D01B0D8, + (u32) D_0D01A8D8, + (u32) D_0D01B2D8, +}; +static s8 *D_800E459C[9] = { + D_0D01B6D8, + D_0D01BAD8, + D_0D01C6D8, + D_0D01C2D8, + D_0D01CAD8, + D_0D01CED8, + D_0D01BED8, + D_0D01D2D8, + NULL, +}; +s16 gCurrentCourseId; /* unable to generate initializer */ void func_8004FDB4(f32 arg0, f32 arg1, s16 arg2, s16 arg3, s16 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { s32 sp34; s32 sp30; - ? *sp2C; - ? *sp28; - s32 *temp_s0; - s32 *temp_s0_10; - s32 *temp_s0_11; - s32 *temp_s0_12; - s32 *temp_s0_13; - s32 *temp_s0_14; - s32 *temp_s0_15; - s32 *temp_s0_16; - s32 *temp_s0_17; - s32 *temp_s0_18; - s32 *temp_s0_19; - s32 *temp_s0_20; - s32 *temp_s0_21; - s32 *temp_s0_22; - s32 *temp_s0_23; - s32 *temp_s0_24; - s32 *temp_s0_25; - s32 *temp_s0_26; - s32 *temp_s0_27; - s32 *temp_s0_28; - s32 *temp_s0_2; - s32 *temp_s0_3; - s32 *temp_s0_4; - s32 *temp_s0_5; - s32 *temp_s0_6; - s32 *temp_s0_7; - s32 *temp_s0_8; - s32 *temp_s0_9; + Gfx *sp2C; + Gfx *sp28; + Gfx *temp_s0; + Gfx *temp_s0_10; + Gfx *temp_s0_11; + Gfx *temp_s0_12; + Gfx *temp_s0_13; + Gfx *temp_s0_14; + Gfx *temp_s0_15; + Gfx *temp_s0_16; + Gfx *temp_s0_17; + Gfx *temp_s0_18; + Gfx *temp_s0_19; + Gfx *temp_s0_20; + Gfx *temp_s0_21; + Gfx *temp_s0_22; + Gfx *temp_s0_23; + Gfx *temp_s0_24; + Gfx *temp_s0_25; + Gfx *temp_s0_26; + Gfx *temp_s0_27; + Gfx *temp_s0_28; + Gfx *temp_s0_2; + Gfx *temp_s0_3; + Gfx *temp_s0_4; + Gfx *temp_s0_5; + Gfx *temp_s0_6; + Gfx *temp_s0_7; + Gfx *temp_s0_8; + Gfx *temp_s0_9; s32 temp_f10; s32 temp_f8; - s32 temp_t6; - s32 *phi_s0; - s32 *phi_s0_2; if ((gCurrentCourseId == 4) && (arg3 < 3) && (arg8 == 0)) { - func_80042330(arg0, arg1, 0, 0x3F800000); + func_80042330((s32) arg0, (s32) arg1, 0U, 1.0f); temp_s0 = gDisplayListHead; gDisplayListHead = temp_s0 + 8; - temp_s0->unk4 = &D_0D007DB8; - temp_s0->unk0 = 0x6000000; - func_8004B35C(0xFF, 0xFF, 0xFF, D_8018D3E0); + temp_s0->words.w1 = (u32) D_0D007DB8; + temp_s0->words.w0 = 0x06000000; + func_8004B35C(0x000000FF, 0x000000FF, 0x000000FF, D_8018D3E0); temp_s0_2 = gDisplayListHead; gDisplayListHead = temp_s0_2 + 8; - temp_s0_2->unk0 = 0xFD100000; - temp_s0_2->unk4 = &D_0D01B4D8; + temp_s0_2->words.w0 = 0xFD100000; + temp_s0_2->words.w1 = (u32) D_0D01B4D8; temp_s0_3 = gDisplayListHead; gDisplayListHead = temp_s0_3 + 8; - temp_s0_3->unk4 = 0; - temp_s0_3->unk0 = 0xE8000000; + temp_s0_3->words.w1 = 0; + temp_s0_3->words.w0 = 0xE8000000; temp_s0_4 = gDisplayListHead; gDisplayListHead = temp_s0_4 + 8; - temp_s0_4->unk4 = 0x7000000; - temp_s0_4->unk0 = 0xF5000100; + temp_s0_4->words.w1 = 0x07000000; + temp_s0_4->words.w0 = 0xF5000100; temp_s0_5 = gDisplayListHead; gDisplayListHead = temp_s0_5 + 8; - temp_s0_5->unk4 = 0; - temp_s0_5->unk0 = 0xE6000000; + temp_s0_5->words.w1 = 0; + temp_s0_5->words.w0 = 0xE6000000; temp_s0_6 = gDisplayListHead; gDisplayListHead = temp_s0_6 + 8; - temp_s0_6->unk4 = 0x73FC000; - temp_s0_6->unk0 = 0xF0000000; + temp_s0_6->words.w1 = 0x073FC000; + temp_s0_6->words.w0 = 0xF0000000; temp_s0_7 = gDisplayListHead; gDisplayListHead = temp_s0_7 + 8; - temp_s0_7->unk4 = 0; - temp_s0_7->unk0 = 0xE7000000; - func_800452A4(&D_0D01DAD8, 0x20, 0x20); + temp_s0_7->words.w1 = 0; + temp_s0_7->words.w0 = 0xE7000000; + func_800452A4(D_0D01DAD8, 0x00000020, 0x00000020); temp_s0_8 = gDisplayListHead; gDisplayListHead = temp_s0_8 + 8; - temp_s0_8->unk4 = &D_0D0069E0; - phi_s0_2 = temp_s0_8; + temp_s0_8->words.w1 = (u32) D_0D0069E0; } else { - temp_f8 = arg0; - temp_f10 = arg1; + temp_f8 = (s32) arg0; + temp_f10 = (s32) arg1; sp34 = temp_f8; sp30 = temp_f10; - func_80042330(temp_f8, temp_f10, 0, 0x3F800000); + func_80042330(temp_f8, temp_f10, 0U, 1.0f); temp_s0_9 = gDisplayListHead; gDisplayListHead = temp_s0_9 + 8; - temp_s0_9->unk4 = &D_0D007DB8; - temp_s0_9->unk0 = 0x6000000; - sp2C = &D_0D007DB8; - func_8004B35C(0xFF, 0xFF, 0xFF, arg5); + temp_s0_9->words.w1 = (u32) D_0D007DB8; + temp_s0_9->words.w0 = 0x06000000; + sp2C = D_0D007DB8; + func_8004B35C(0x000000FF, 0x000000FF, 0x000000FF, arg5); temp_s0_10 = gDisplayListHead; gDisplayListHead = temp_s0_10 + 8; - temp_s0_10->unk0 = 0xFD100000; - temp_t6 = arg4 * 4; - temp_s0_10->unk4 = *(&D_800E457C + temp_t6); + temp_s0_10->words.w0 = 0xFD100000; + temp_s0_10->words.w1 = D_800E457C[arg4]; temp_s0_11 = gDisplayListHead; gDisplayListHead = temp_s0_11 + 8; - temp_s0_11->unk4 = 0; - temp_s0_11->unk0 = 0xE8000000; + temp_s0_11->words.w1 = 0; + temp_s0_11->words.w0 = 0xE8000000; temp_s0_12 = gDisplayListHead; gDisplayListHead = temp_s0_12 + 8; - temp_s0_12->unk4 = 0x7000000; - temp_s0_12->unk0 = 0xF5000100; + temp_s0_12->words.w1 = 0x07000000; + temp_s0_12->words.w0 = 0xF5000100; temp_s0_13 = gDisplayListHead; gDisplayListHead = temp_s0_13 + 8; - temp_s0_13->unk4 = 0; - temp_s0_13->unk0 = 0xE6000000; + temp_s0_13->words.w1 = 0; + temp_s0_13->words.w0 = 0xE6000000; temp_s0_14 = gDisplayListHead; gDisplayListHead = temp_s0_14 + 8; - temp_s0_14->unk4 = 0x73FC000; - temp_s0_14->unk0 = 0xF0000000; + temp_s0_14->words.w1 = 0x073FC000; + temp_s0_14->words.w0 = 0xF0000000; temp_s0_15 = gDisplayListHead; gDisplayListHead = temp_s0_15 + 8; - temp_s0_15->unk4 = 0; - temp_s0_15->unk0 = 0xE7000000; - func_800452A4(*(&D_800E459C + temp_t6), 0x20, 0x20); + temp_s0_15->words.w1 = 0; + temp_s0_15->words.w0 = 0xE7000000; + func_800452A4(D_800E459C[arg4], 0x00000020, 0x00000020); if (arg7 != 0) { temp_s0_16 = gDisplayListHead; gDisplayListHead = temp_s0_16 + 8; - temp_s0_16->unk4 = &D_0D0069F8; - phi_s0 = temp_s0_16; + temp_s0_16->words.w1 = (u32) D_0D0069F8; } else { temp_s0_17 = gDisplayListHead; gDisplayListHead = temp_s0_17 + 8; - temp_s0_17->unk4 = &D_0D0069E0; - phi_s0 = temp_s0_17; + temp_s0_17->words.w1 = (u32) D_0D0069E0; } - *phi_s0 = 0x6000000; + gDisplayListHead->words.w0 = 0x06000000; if (arg6 != 0) { - sp28 = &D_0D0069E0; - func_80042330(sp34, sp30, 0, 0x3F800000); + sp28 = D_0D0069E0; + func_80042330(sp34, sp30, 0U, 1.0f); temp_s0_18 = gDisplayListHead; gDisplayListHead = temp_s0_18 + 8; - temp_s0_18->unk4 = &D_0D007A60; - temp_s0_18->unk0 = 0x6000000; - func_8004B35C(D_8018D3E4, D_8018D3E8, D_8018D3EC, 0xFF); - func_80044924(&D_0D01A2D8, 0x20, 0x20); + temp_s0_18->words.w1 = (u32) D_0D007A60; + temp_s0_18->words.w0 = 0x06000000; + func_8004B35C(D_8018D3E4, D_8018D3E8, D_8018D3EC, 0x000000FF); + func_80044924(D_0D01A2D8, 0x20, 0x20); temp_s0_19 = gDisplayListHead; gDisplayListHead = temp_s0_19 + 8; - temp_s0_19->unk0 = 0x6000000; - temp_s0_19->unk4 = sp28; + temp_s0_19->words.w0 = 0x06000000; + temp_s0_19->words.w1 = (u32) sp28; } temp_s0_20 = gDisplayListHead; gDisplayListHead = temp_s0_20 + 8; - temp_s0_20->unk0 = 0x6000000; - temp_s0_20->unk4 = sp2C; - func_8004B35C(0xFF, 0xFF, 0xFF, arg5); + temp_s0_20->words.w0 = 0x06000000; + temp_s0_20->words.w1 = (u32) sp2C; + func_8004B35C(0x000000FF, 0x000000FF, 0x000000FF, arg5); temp_s0_21 = gDisplayListHead; gDisplayListHead = temp_s0_21 + 8; - temp_s0_21->unk4 = &D_0D007CB8; - temp_s0_21->unk0 = 0x6000000; + temp_s0_21->words.w1 = (u32) D_0D007CB8; + temp_s0_21->words.w0 = 0x06000000; temp_s0_22 = gDisplayListHead; gDisplayListHead = temp_s0_22 + 8; - temp_s0_22->unk0 = 0xFD100000; - temp_s0_22->unk4 = &D_0D019458; + temp_s0_22->words.w0 = 0xFD100000; + temp_s0_22->words.w1 = (u32) &D_0D019458; temp_s0_23 = gDisplayListHead; gDisplayListHead = temp_s0_23 + 8; - temp_s0_23->unk4 = 0; - temp_s0_23->unk0 = 0xE8000000; + temp_s0_23->words.w1 = 0; + temp_s0_23->words.w0 = 0xE8000000; temp_s0_24 = gDisplayListHead; gDisplayListHead = temp_s0_24 + 8; - temp_s0_24->unk4 = 0x7000000; - temp_s0_24->unk0 = 0xF5000100; + temp_s0_24->words.w1 = 0x07000000; + temp_s0_24->words.w0 = 0xF5000100; temp_s0_25 = gDisplayListHead; gDisplayListHead = temp_s0_25 + 8; - temp_s0_25->unk4 = 0; - temp_s0_25->unk0 = 0xE6000000; + temp_s0_25->words.w1 = 0; + temp_s0_25->words.w0 = 0xE6000000; temp_s0_26 = gDisplayListHead; gDisplayListHead = temp_s0_26 + 8; - temp_s0_26->unk4 = 0x73FC000; - temp_s0_26->unk0 = 0xF0000000; + temp_s0_26->words.w1 = 0x073FC000; + temp_s0_26->words.w0 = 0xF0000000; temp_s0_27 = gDisplayListHead; gDisplayListHead = temp_s0_27 + 8; - temp_s0_27->unk4 = 0; - temp_s0_27->unk0 = 0xE7000000; - func_800452A4((arg2 << 8) + &D_0D019658, 0x10, 0x10); + temp_s0_27->words.w1 = 0; + temp_s0_27->words.w0 = 0xE7000000; + func_800452A4((arg2 << 8) + &D_0D019658, 0x00000010, 0x00000010); if (arg7 != 0) { - func_80042330(arg0 + 9.0f, arg1 + 7.0f, 0, 0x3F800000); + func_80042330((s32) (arg0 + 9.0f), (s32) (arg1 + 7.0f), 0U, 1.0f); } else { - func_80042330(arg0 - 9.0f, arg1 + 7.0f, 0, 0x3F800000); + func_80042330((s32) (arg0 - 9.0f), (s32) (arg1 + 7.0f), 0U, 1.0f); } temp_s0_28 = gDisplayListHead; gDisplayListHead = temp_s0_28 + 8; - temp_s0_28->unk4 = &D_0D006980; - phi_s0_2 = temp_s0_28; + temp_s0_28->words.w1 = (u32) D_0D006980; } - *phi_s0_2 = 0x6000000; + gDisplayListHead->words.w0 = 0x06000000; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8004FDB4.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -void func_8004FDB4(f32, f32, s32, s32, s16, s16, s32, s32, s32, s32, s32); /* extern */ -extern s16 gGPCurrentRacePlayerIdByRank; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_8004FDB4(f32, f32, s32, s32, s16, s16, s32, s32, s32, s32, s32); /* extern */ extern s8 D_801657E2; -extern f32 D_8018D028; +extern ? D_8018D028; extern f32 D_8018D050; extern ? D_8018D078; extern s32 D_8018D3E0; +extern ? gGPCurrentRaceRanks; void func_80050320(void) { Gfx *temp_v1_3; f32 *temp_t0; f32 *temp_t0_2; + f32 *var_s2; + f32 *var_s2_2; f32 temp_f14; f32 temp_f14_2; - s16 temp_s0; - s16 temp_s0_2; s16 temp_v0; s16 temp_v1; s16 temp_v1_2; + s16 var_s0; + s16 var_s0_2; s32 temp_a1; s32 temp_a1_2; - f32 *phi_s2; - s32 phi_s1; - s16 phi_s0; - s32 phi_a0; - f32 *phi_s2_2; - s32 phi_s1_2; - s16 phi_s0_2; - s32 phi_a0_2; + s32 var_a0; + s32 var_a0_2; + s32 var_s1; + s32 var_s1_2; if (D_801657E2 == 0) { - phi_s2 = &D_8018D050; - phi_s1 = 0; - phi_s0 = 0; + var_s2 = &D_8018D050; + var_s0 = 0; + var_s1 = 0; do { - temp_f14 = *phi_s2; - phi_a0 = 0; + temp_f14 = *var_s2; + var_a0 = 0; if (temp_f14 >= 0.0f) { - temp_t0 = phi_s1 + &D_8018D028; - if (*(&D_8018D078 + phi_s1) < 0.0) { - phi_a0 = 1; + temp_t0 = var_s1 + &D_8018D028; + if ((f64) *(&D_8018D078 + var_s1) < 0.0) { + var_a0 = 1; } - temp_v1 = gGPCurrentRaceRanks[phi_s0]; - temp_a1 = gLapCountByPlayerId[*((phi_s0 * 2) + &gGPCurrentRacePlayerIdByRank)]; + temp_v1 = *((var_s0 * 2) + &gGPCurrentRaceRanks); + temp_a1 = gLapCountByPlayerId[gGPCurrentRacePlayerIdByRank[var_s0]]; if (temp_v1 == gPlayerOne->characterId) { - func_8004FDB4(*temp_t0, temp_f14, phi_a0, temp_a1, phi_s0, temp_a1, temp_v1, 0xFF, 1, phi_a0, 0); + func_8004FDB4(*temp_t0, temp_f14, var_a0, temp_a1, var_s0, (s16) temp_a1, (s32) temp_v1, 0x000000FF, 1, var_a0, 0); } else { - func_8004FDB4(*temp_t0, temp_f14, phi_a0, temp_a1, phi_s0, temp_a1, temp_v1, D_8018D3E0, 0, phi_a0, 0); + func_8004FDB4(*temp_t0, temp_f14, var_a0, temp_a1, var_s0, (s16) temp_a1, (s32) temp_v1, D_8018D3E0, 0, var_a0, 0); } } - temp_s0 = phi_s0 + 1; - phi_s2 += 4; - phi_s1 += 4; - phi_s0 = temp_s0; - } while (temp_s0 != 4); + var_s0 += 1; + var_s1 += 4; + var_s2 += 4; + } while (var_s0 != 4); } else { - phi_s2_2 = &D_8018D050; - phi_s1_2 = 0; - phi_s0_2 = 0; + var_s2_2 = &D_8018D050; + var_s0_2 = 0; + var_s1_2 = 0; do { - temp_f14_2 = *phi_s2_2; - phi_a0_2 = 0; + temp_f14_2 = *var_s2_2; + var_a0_2 = 0; if (temp_f14_2 >= 0.0f) { - temp_t0_2 = phi_s1_2 + &D_8018D028; - if (*(&D_8018D078 + phi_s1_2) <= 0.0) { - phi_a0_2 = 1; + temp_t0_2 = var_s1_2 + &D_8018D028; + if ((f64) *(&D_8018D078 + var_s1_2) <= 0.0) { + var_a0_2 = 1; } - temp_v0 = *((phi_s0_2 * 2) + &gGPCurrentRacePlayerIdByRank); + temp_v0 = gGPCurrentRacePlayerIdByRank[var_s0_2]; temp_a1_2 = gLapCountByPlayerId[temp_v0]; - temp_v1_2 = gPlayerOne[temp_v0].characterId; + temp_v1_2 = (s16) gPlayerOne[temp_v0].characterId; if (temp_v0 == 0) { - func_8004FDB4(*temp_t0_2, temp_f14_2, phi_a0_2, temp_a1_2, phi_s0_2, temp_a1_2, temp_v1_2, 0xFF, 1, phi_a0_2, 1); + func_8004FDB4(*temp_t0_2, temp_f14_2, var_a0_2, temp_a1_2, var_s0_2, (s16) temp_a1_2, (s32) temp_v1_2, 0x000000FF, 1, var_a0_2, 1); } else { - func_8004FDB4(*temp_t0_2, temp_f14_2, phi_a0_2, temp_a1_2, phi_s0_2, temp_a1_2, temp_v1_2, 0xFF, 0, phi_a0_2, 1); + func_8004FDB4(*temp_t0_2, temp_f14_2, var_a0_2, temp_a1_2, var_s0_2, (s16) temp_a1_2, (s32) temp_v1_2, 0x000000FF, 0, var_a0_2, 1); } } - temp_s0_2 = phi_s0_2 + 1; - phi_s2_2 += 4; - phi_s1_2 += 4; - phi_s0_2 = temp_s0_2; - } while (temp_s0_2 != 8); + var_s0_2 += 1; + var_s1_2 += 4; + var_s2_2 += 4; + } while (var_s0_2 != 8); } temp_v1_3 = gDisplayListHead; gDisplayListHead = temp_v1_3 + 8; temp_v1_3->words.w0 = 0xBB000000; - temp_v1_3->words.w1 = 0x10001; + temp_v1_3->words.w1 = 0x00010001; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80050320.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b -s32 func_80050644(s32 playerId, s32 *arg1, s32 *arg2) { +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +s32 func_80050644(s32 arg0, s32 *arg1, s32 *arg2) { s32 temp_a3; s32 temp_t6; s32 var_v0; - temp_t6 = playerId & 0xFFFF; + temp_t6 = arg0 & 0xFFFF; temp_a3 = gLapCountByPlayerId[temp_t6]; var_v0 = 0; if (temp_a3 < 3) { @@ -4824,7 +3889,7 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800507D8.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b u32 func_80050644(s32, s32 *, s32 *); /* extern */ extern s16 D_80164378; @@ -4845,7 +3910,7 @@ void func_800508C0(void) { u16 var_s1_2; u16 var_s2_2; - if (gModeSelection == 1) { + if (gModeSelection == TIME_TRIALS) { var_s0 = D_80164378; } else { var_s0 = *gGPCurrentRacePlayerIdByRank; @@ -4926,23 +3991,25 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800508C0.s") #endif #ifdef MIPS_TO_C -UNUSED void func_80050C68(void) { +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800507D8(s32, s32 *, s32 *); /* extern */ +extern ? D_80163DE8; + +void func_80050C68(void) { s32 sp88; s32 sp84; ? *var_s2; - f32 temp_f20; + Gfx *temp_v0_2; + Gfx *temp_v0_3; + Gfx *temp_v0_4; + Gfx *temp_v0_5; + Gfx *temp_v0_6; + Gfx *temp_v0_7; + Gfx *temp_v0_8; + Gfx *temp_v0_9; s32 var_s1; u16 temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - void *temp_v0_8; - void *temp_v0_9; - temp_f20 = D_800EE064; var_s2 = &D_80163DE8; var_s1 = 0; do { @@ -4951,38 +4018,38 @@ UNUSED void func_80050C68(void) { func_800507D8(var_s1 & 0xFFFF, &sp88, &sp84); temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk4 = &D_0D007DB8; - temp_v0_2->unk0 = 0x06000000; + temp_v0_2->words.w1 = (u32) D_0D007DB8; + temp_v0_2->words.w0 = 0x06000000; temp_v0_3 = gDisplayListHead; gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = &D_0D01B4D8; - temp_v0_3->unk0 = 0xFD100000; + temp_v0_3->words.w1 = (u32) D_0D01B4D8; + temp_v0_3->words.w0 = 0xFD100000; temp_v0_4 = gDisplayListHead; gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = 0; - temp_v0_4->unk0 = 0xE8000000; + temp_v0_4->words.w1 = 0; + temp_v0_4->words.w0 = 0xE8000000; temp_v0_5 = gDisplayListHead; gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = 0x07000000; - temp_v0_5->unk0 = 0xF5000100; + temp_v0_5->words.w1 = 0x07000000; + temp_v0_5->words.w0 = 0xF5000100; temp_v0_6 = gDisplayListHead; gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk4 = 0; - temp_v0_6->unk0 = 0xE6000000; + temp_v0_6->words.w1 = 0; + temp_v0_6->words.w0 = 0xE6000000; temp_v0_7 = gDisplayListHead; gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk4 = 0x073FC000; - temp_v0_7->unk0 = 0xF0000000; + temp_v0_7->words.w1 = 0x073FC000; + temp_v0_7->words.w0 = 0xF0000000; temp_v0_8 = gDisplayListHead; gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->unk4 = 0; - temp_v0_8->unk0 = 0xE7000000; - func_800452A4(&D_0D01D6D8, 0x20, 0x20); - func_80042330(sp88 + 0x20, sp84 + 0x12, 0, temp_f20); + temp_v0_8->words.w1 = 0; + temp_v0_8->words.w0 = 0xE7000000; + func_800452A4(D_0D01D6D8, 0x00000020, 0x00000020); + func_80042330(sp88 + 0x20, sp84 + 0x12, 0U, 0.6f); temp_v0_9 = gDisplayListHead; gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk4 = &D_0D0069E0; - temp_v0_9->unk0 = 0x06000000; + temp_v0_9->words.w1 = (u32) D_0D0069E0; + temp_v0_9->words.w0 = 0x06000000; } var_s1 += 1; var_s2 += 0x54; @@ -4993,47 +4060,27 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80050C68.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -void func_80044924(? *, ?, ?); /* extern */ -void func_800452A4(? *, ?, ?); /* extern */ -void func_8004B2BC(s16, u16 *, u16 *, ?); /* extern */ -void func_8004B35C(s32, s32, s32, ?); /* extern */ -void func_8004B614(u16, u16, u16, ?, s32, s32, s32); /* extern */ +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80044924(s8 *, ?, ?); /* extern */ s32 func_80050644(s32, s32 *, s32 *, s32); /* extern */ -extern Gfx D_0D006950; -extern Gfx D_0D0069E0; -extern Gfx D_0D0069F8; -extern Gfx D_0D007A40; -extern Gfx D_0D007DB8; extern ? D_0D019E58; extern ? D_0D01A058; -extern s8 D_0D01A2D8; -extern s8 D_0D01A4D8; -extern s8 D_0D01A6D8; -extern s8 D_0D01A8D8; -extern s8 D_0D01AAD8; -extern s8 D_0D01ACD8; -extern s8 D_0D01AED8; -extern s8 D_0D01B0D8; -extern s8 D_0D01B2D8; -extern s8 D_0D01B4D8; -extern s8 D_0D01DAD8; extern u16 D_801656C0; extern u16 D_801656D0; extern u16 D_801656E0; -extern s32 D_8018CE24; +extern ? D_8018CE24; extern s32 D_8018D3E4; extern s32 D_8018D3E8; extern s32 D_8018D3EC; static u32 D_800E457C[8] = { - (u32) &D_0D01A4D8, - (u32) &D_0D01A6D8, - (u32) &D_0D01ACD8, - (u32) &D_0D01AAD8, - (u32) &D_0D01AED8, - (u32) &D_0D01B0D8, - (u32) &D_0D01A8D8, - (u32) &D_0D01B2D8, + (u32) D_0D01A4D8, + (u32) D_0D01A6D8, + (u32) D_0D01ACD8, + (u32) D_0D01AAD8, + (u32) D_0D01AED8, + (u32) D_0D01B0D8, + (u32) D_0D01A8D8, + (u32) D_0D01B2D8, }; static ? D_800E459C; /* unable to generate initializer */ s16 gCurrentCourseId; /* unable to generate initializer */ @@ -5047,7 +4094,7 @@ void func_80050E34(s32 playerId, s32 arg1) { Player *spAC; s32 sp3C; /* compiler-managed */ s16 *sp38; - ? *sp34; + Gfx *sp34; Gfx *temp_v0_10; Gfx *temp_v0_11; Gfx *temp_v0_12; @@ -5104,11 +4151,11 @@ void func_80050E34(s32 playerId, s32 arg1) { temp_v0_3 = gDisplayListHead; gDisplayListHead = temp_v0_3 + 8; temp_v0_3->words.w0 = 0x06000000; - temp_v0_3->words.w1 = (u32) &D_0D007DB8; + temp_v0_3->words.w1 = (u32) D_0D007DB8; temp_v0_4 = gDisplayListHead; gDisplayListHead = temp_v0_4 + 8; temp_v0_4->words.w0 = 0xFD100000; - temp_v0_4->words.w1 = (u32) &D_0D01B4D8; + temp_v0_4->words.w1 = (u32) D_0D01B4D8; temp_v0_5 = gDisplayListHead; gDisplayListHead = temp_v0_5 + 8; temp_v0_5->words.w1 = 0; @@ -5130,16 +4177,16 @@ void func_80050E34(s32 playerId, s32 arg1) { temp_v0_9->words.w1 = 0; temp_v0_9->words.w0 = 0xE7000000; spD4 = spD4; - func_800452A4(&D_0D01DAD8, 0x20, 0x20); + func_800452A4(D_0D01DAD8, 0x00000020, 0x00000020); temp_s1_2 = &D_80165C18[spD4]; temp_s1_2->unk_004[0] = temp_s1_2->unk_028[0] + (f32) (spD0 + 0x20); temp_s1_2->unk_004[2] = temp_s1_2->unk_028[2]; temp_s1_2->unk_004[1] = temp_s1_2->unk_028[1] + (f32) (spC4 + spCC); - func_80042E00(temp_s1_2->unk_004, (s16 *) &temp_s1_2->unk_0BE, temp_s1_2->unk_000); + func_80042E00(temp_s1_2->unk_004, (s16 *) temp_s1_2->unk_0BE, temp_s1_2->unk_000); temp_v0_10 = gDisplayListHead; gDisplayListHead = temp_v0_10 + 8; temp_v0_10->words.w0 = 0x06000000; - temp_v0_10->words.w1 = (u32) &D_0D0069E0; + temp_v0_10->words.w1 = (u32) D_0D0069E0; return; } temp_v0_11 = gDisplayListHead; @@ -5168,16 +4215,16 @@ void func_80050E34(s32 playerId, s32 arg1) { temp_v0_16->words.w0 = 0xE7000000; temp_v0_17 = gDisplayListHead; gDisplayListHead = temp_v0_17 + 8; - temp_v0_17->words.w1 = (u32) &D_0D007DB8; + temp_v0_17->words.w1 = (u32) D_0D007DB8; temp_v0_17->words.w0 = 0x06000000; if (spAC->unk_0BC & 0x200) { sp3C = temp_t2; - func_8004B614(D_801656C0, D_801656D0, D_801656E0, 0x80, 0x00000080, 0x00000080, (s32) D_80165C18[spD4].unk_0A0); + func_8004B614((s32) D_801656C0, (s32) D_801656D0, (s32) D_801656E0, 0x00000080, 0x00000080, 0x00000080, (s32) D_80165C18[spD4].unk_0A0); } else { sp3C = temp_t2; - func_8004B2BC(D_80165C18[spD4].unk_0A0, &D_801656D0, &D_801656E0, 0x80); + func_8004B2BC((s32) D_80165C18[spD4].unk_0A0); } - func_800452A4(*(&D_800E459C + sp3C), 0x20, 0x20); + func_800452A4(*(&D_800E459C + sp3C), 0x00000020, 0x00000020); temp_a0 = &D_80165C18[spD4] + 4; temp_a1 = &D_80165C18[spD4] + 0xBE; sp38 = temp_a1; @@ -5189,12 +4236,12 @@ void func_80050E34(s32 playerId, s32 arg1) { if (spB8 != 0) { temp_v0_18 = gDisplayListHead; gDisplayListHead = temp_v0_18 + 8; - temp_v0_18->words.w1 = (u32) &D_0D0069F8; + temp_v0_18->words.w1 = (u32) D_0D0069F8; temp_v0_18->words.w0 = 0x06000000; } else { temp_v0_19 = gDisplayListHead; gDisplayListHead = temp_v0_19 + 8; - temp_v0_19->words.w1 = (u32) &D_0D0069E0; + temp_v0_19->words.w1 = (u32) D_0D0069E0; temp_v0_19->words.w0 = 0x06000000; } temp_v0_20 = gDisplayListHead; @@ -5230,15 +4277,15 @@ void func_80050E34(s32 playerId, s32 arg1) { temp_v0_26 = gDisplayListHead; gDisplayListHead = temp_v0_26 + 8; temp_v0_26->words.w0 = 0x06000000; - temp_v0_26->words.w1 = (u32) &D_0D006950; - if ((spAC == gPlayerOne) && (gScreenModeSelection == SCREEN_MODE_1P)) { + temp_v0_26->words.w1 = (u32) D_0D006950; + if ((spAC == gPlayerOne) && (gScreenModeSelection == 0)) { temp_v0_27 = gDisplayListHead; gDisplayListHead = temp_v0_27 + 8; - temp_v0_27->words.w1 = (u32) &D_0D007A40; + temp_v0_27->words.w1 = (u32) D_0D007A40; temp_v0_27->words.w0 = 0x06000000; - sp34 = &D_0D0069E0; - func_8004B35C(D_8018D3E4, D_8018D3E8, D_8018D3EC, 0xFF); - func_80044924(&D_0D01A2D8, 0x20, 0x20); + sp34 = D_0D0069E0; + func_8004B35C(D_8018D3E4, D_8018D3E8, D_8018D3EC, 0x000000FF); + func_80044924(D_0D01A2D8, 0x20, 0x20); func_80042E00(sp3C, sp38, D_80165C18[spD4].unk_000); temp_v0_28 = gDisplayListHead; gDisplayListHead = temp_v0_28 + 8; @@ -5251,45 +4298,39 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80050E34.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800508C0(); // extern -void func_80050E34(s16, s32); // extern -extern s16 gGPCurrentRacePlayerIdByRank; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800508C0(); /* extern */ +? func_80050E34(s16, s32); /* extern */ extern s32 D_80164408; - void func_800514BC(void) { + Gfx *temp_v1; + s16 *var_s2; s16 temp_a0; - s32 temp_s0; - s32 temp_s1; - void *temp_v1; - s32 phi_s3; - s16 *phi_s2; - s32 phi_s0; - s32 phi_s1; + s32 var_s0; + s32 var_s1; + s32 var_s3; if (gScreenModeSelection == SCREEN_MODE_1P) { func_800508C0(); } - phi_s3 = 8; - phi_s1 = 0; + var_s3 = 8; + var_s1 = 0; if ((gPlayerCountSelection1 == 2) && (gActiveScreenMode == SCREEN_MODE_2P_SPLITSCREEN_VERTICAL)) { - phi_s3 = 0; + var_s3 = 0; } - temp_s0 = phi_s3 - 1; - phi_s0 = temp_s0; - if (phi_s3 > 0) { - phi_s2 = (temp_s0 * 2) + &gGPCurrentRacePlayerIdByRank; + var_s0 = var_s3 - 1; + if (var_s3 > 0) { + var_s2 = &gGPCurrentRacePlayerIdByRank[var_s0]; do { - temp_a0 = *phi_s2; - if (((gPlayerOne[temp_a0].unk_000 & 0x8000) != 0) && ((temp_a0 != 0) || (gPlayerCountSelection1 != 1))) { - func_80050E34(temp_a0, phi_s0); + temp_a0 = *var_s2; + if ((gPlayerOne[temp_a0].unk_000 & 0x8000) && ((temp_a0 != 0) || (gPlayerCountSelection1 != 1))) { + func_80050E34(temp_a0, var_s0); } - temp_s1 = phi_s1 + 1; - phi_s2 += -2; - phi_s0 += -1; - phi_s1 = temp_s1; - } while (temp_s1 != phi_s3); + var_s1 += 1; + var_s0 -= 1; + var_s2 -= 2; + } while (var_s1 != var_s3); } if (gModeSelection == TIME_TRIALS) { func_80050E34(0, D_80164408); @@ -5298,19 +4339,15 @@ void func_800514BC(void) { } temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0xBB000000; - temp_v1->unk4 = 0x10001; + temp_v1->words.w0 = 0xBB000000; + temp_v1->words.w1 = 0x00010001; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800514BC.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -void func_80043D50(? *, ?, ?); /* extern */ -extern Gfx D_0D0069C8; -extern Gfx D_0D0079C8; -extern s8 D_0D028DD8; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern s32 D_8018C970; void func_80051638(s32 arg0) { @@ -5325,13 +4362,13 @@ void func_80051638(s32 arg0) { temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->words.w1 = (u32) &D_0D0079C8; + temp_v1->words.w1 = (u32) D_0D0079C8; temp_v1->words.w0 = 0x06000000; temp_v1_2 = gDisplayListHead; gDisplayListHead = temp_v1_2 + 8; temp_v1_2->words.w1 = 0x00003000; temp_v1_2->words.w0 = 0xB6000000; - func_80043D50(&D_0D028DD8, 0x20, 0x10); + func_80043D50(D_0D028DD8, 0x00000020, 0x00000010); var_s0 = &D_8018C970; do { temp_a0 = *var_s0; @@ -5341,7 +4378,7 @@ void func_80051638(s32 arg0) { func_80043104(temp_a0); temp_v1_3 = gDisplayListHead; gDisplayListHead = temp_v1_3 + 8; - temp_v1_3->words.w1 = (u32) &D_0D0069C8; + temp_v1_3->words.w1 = (u32) D_0D0069C8; temp_v1_3->words.w0 = 0x06000000; } } @@ -5361,93 +4398,79 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80051638.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80043104(s32); // extern -void func_80044F34(? *, ?, ?); // extern -extern Gfx D_0D006980; -extern Gfx D_0D007AE0; -extern s8 D_0D0293D8; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80044F34(s8 *, ?, ?); /* extern */ extern s32 D_8018C1B0; extern ? D_8018C278; - void func_800517C8(void) { - s32 *temp_s0; + Gfx *temp_v1; + Gfx *temp_v1_2; + Gfx *temp_v1_3; + Gfx *temp_v1_4; + s32 *var_s0; s32 temp_a0; - void *temp_v1; - void *temp_v1_2; - void *temp_v1_3; - void *temp_v1_4; - s32 *phi_s0; temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk4 = &D_0D007AE0; - temp_v1->unk0 = 0x6000000; + temp_v1->words.w1 = (u32) D_0D007AE0; + temp_v1->words.w0 = 0x06000000; temp_v1_2 = gDisplayListHead; gDisplayListHead = temp_v1_2 + 8; - temp_v1_2->unk4 = -0xC07; - temp_v1_2->unk0 = 0xFC627EC4; - func_80044F34(&D_0D0293D8, 0x10, 0x10); - phi_s0 = &D_8018C1B0; + temp_v1_2->words.w1 = -0x00000C07U; + temp_v1_2->words.w0 = 0xFC627EC4; + func_80044F34(D_0D0293D8, 0x10, 0x10); + var_s0 = &D_8018C1B0; do { - temp_a0 = *phi_s0; - if ((&D_80165C18 + (temp_a0 * 0xE0))->unkA6 >= 2) { + temp_a0 = *var_s0; + if (D_80165C18[temp_a0].unk_0A6 >= 2) { func_80043104(temp_a0); temp_v1_3 = gDisplayListHead; gDisplayListHead = temp_v1_3 + 8; - temp_v1_3->unk4 = &D_0D006980; - temp_v1_3->unk0 = 0x6000000; + temp_v1_3->words.w1 = (u32) D_0D006980; + temp_v1_3->words.w0 = 0x06000000; } - temp_s0 = phi_s0 + 4; - phi_s0 = temp_s0; - } while (temp_s0 != &D_8018C278); + var_s0 += 4; + } while (var_s0 != &D_8018C278); temp_v1_4 = gDisplayListHead; gDisplayListHead = temp_v1_4 + 8; - temp_v1_4->unk0 = 0xBB000000; - temp_v1_4->unk4 = 0x10001; + temp_v1_4->words.w0 = 0xBB000000; + temp_v1_4->words.w1 = 0x00010001; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800517C8.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80042330(s16, s16, ?, s32); // extern -void func_80044DA0(s32, u8, u8); // extern -extern Gfx D_0D006940; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80044DA0(s32 *, u8, u8); /* extern */ extern u8 D_8018D228; - void func_800518F8(s32 arg0, s16 arg1, s16 arg2) { - void *sp18; - s32 temp_t6; + struct_80165C18_entry *sp18; + Gfx *temp_v0_2; + Gfx *temp_v0_3; + struct_80165C18_entry *temp_t0; u8 temp_v0; - void *temp_t0; - void *temp_v0_2; - void *temp_v0_3; - temp_t6 = arg0 * 0xE0; - temp_t0 = temp_t6 + &D_80165C18; - if ((temp_t0->unk54 & 0x10) != 0) { - temp_v0 = temp_t0->unkD5; + temp_t0 = &D_80165C18[arg0]; + if (temp_t0->unk_054 & 0x10) { + temp_v0 = temp_t0->unk_0D5; if (D_8018D228 != temp_v0) { D_8018D228 = temp_v0; sp18 = temp_t0; - func_80044DA0(temp_t0->unk64, temp_t0->unkD9, temp_t0->unkDA); + func_80044DA0(temp_t0->unk_064, temp_t0->unk_0D9, temp_t0->unk_0DA); } - sp18 = temp_t6 + &D_80165C18; - func_80042330(arg1, arg2, 0, (temp_t6 + &D_80165C18)->unk0); + sp18 = temp_t0; + func_80042330((s32) arg1, (s32) arg2, 0U, temp_t0->unk_000); temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x400103F; - temp_v0_2->unk4 = (temp_t6 + &D_80165C18)->unk74; + temp_v0_2->words.w0 = 0x0400103F; + temp_v0_2->words.w1 = (u32) temp_t0->unk_074; temp_v0_3 = gDisplayListHead; gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = &D_0D006940; - temp_v0_3->unk0 = 0x6000000; + temp_v0_3->words.w1 = (u32) D_0D006940; + temp_v0_3->words.w0 = 0x06000000; } } #else @@ -5455,38 +4478,33 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800518F8.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80042330(s16, s16, ?, s32); // extern -void func_80044DA0(s32, u8, u8); // extern -void func_8004B138(?, ?, ?, s16); // extern -extern Gfx D_0D006940; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80044DA0(s32 *, u8, u8); /* extern */ extern u8 D_8018D228; - void func_800519D4(s32 arg0, s16 arg1, s16 arg2) { + Gfx *temp_v0_2; + Gfx *temp_v0_3; + struct_80165C18_entry *temp_s0; u8 temp_v0; - void *temp_s0; - void *temp_v0_2; - void *temp_v0_3; - temp_s0 = (arg0 * 0xE0) + &D_80165C18; - if ((temp_s0->unk54 & 0x10) != 0) { - temp_v0 = temp_s0->unkD5; + temp_s0 = &D_80165C18[arg0]; + if (temp_s0->unk_054 & 0x10) { + temp_v0 = temp_s0->unk_0D5; if (D_8018D228 != temp_v0) { D_8018D228 = temp_v0; - func_80044DA0(temp_s0->unk64, temp_s0->unkD9, temp_s0->unkDA); + func_80044DA0(temp_s0->unk_064, temp_s0->unk_0D9, temp_s0->unk_0DA); } - func_8004B138(0xFF, 0xFF, 0xFF, temp_s0->unkA0); - func_80042330(arg1, arg2, 0, temp_s0->unk0); + func_8004B138(0x000000FF, 0x000000FF, 0x000000FF, (s32) temp_s0->unk_0A0); + func_80042330((s32) arg1, (s32) arg2, 0U, temp_s0->unk_000); temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x400103F; - temp_v0_2->unk4 = temp_s0->unk74; + temp_v0_2->words.w0 = 0x0400103F; + temp_v0_2->words.w1 = (u32) temp_s0->unk_074; temp_v0_3 = gDisplayListHead; gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = &D_0D006940; - temp_v0_3->unk0 = 0x6000000; + temp_v0_3->words.w1 = (u32) D_0D006940; + temp_v0_3->words.w0 = 0x06000000; } } #else @@ -5494,67 +4512,57 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800519D4.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_8004B414(?, ?, ?, ?); // extern -void func_8004B6C4(?, ?, ?); // extern -void func_800518F8(s32, s16, s16); // extern -void func_800519D4(s32, s16, s16); // extern -extern Gfx D_0D007A60; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800518F8(s32, s16, s16); /* extern */ +? func_800519D4(s32, s16, s16); /* extern */ +extern ? D_0D007A60; extern ? D_8018CC80; extern s32 D_8018D1F0; extern s8 D_8018D228; extern u8 D_8018D230; - void func_80051ABC(s16 arg0, s32 arg1) { + Gfx *temp_v1; + s32 *var_s1; + s32 *var_s1_2; s32 temp_a0; s32 temp_a0_2; - s32 temp_s0; - s32 temp_s0_2; - void *temp_v0; - void *temp_v0_2; - void *temp_v1; - s32 *phi_s1; - s32 phi_s0; - s32 *phi_s1_2; - s32 phi_s0_2; + s32 var_s0; + s32 var_s0_2; + struct_80165C18_entry *temp_v0; + struct_80165C18_entry *temp_v0_2; D_8018D228 = 0xFF; temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007A60; + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) &D_0D007A60; if (D_8018D230 != 0) { - func_8004B414(0xFF, 0xFF, 0xFF, 0xFF); - phi_s0 = 0; + func_8004B414(0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF); + var_s0 = 0; if (D_8018D1F0 > 0) { - phi_s1 = (arg1 * 4) + &D_8018CC80; + var_s1 = (arg1 * 4) + &D_8018CC80; do { - temp_a0 = *phi_s1; - temp_v0 = &D_80165C18 + (temp_a0 * 0xE0); - func_800519D4(temp_a0, temp_v0->unk9C, arg0 - temp_v0->unk9E); - temp_s0 = phi_s0 + 1; - phi_s1 += 4; - phi_s0 = temp_s0; - } while (temp_s0 < D_8018D1F0); - return; + temp_a0 = *var_s1; + temp_v0 = &D_80165C18[temp_a0]; + func_800519D4(temp_a0, temp_v0->unk_09C, (s16) (arg0 - temp_v0->unk_09E)); + var_s0 += 1; + var_s1 += 4; + } while (var_s0 < D_8018D1F0); + } + } else { + func_8004B6C4(0x000000FF, 0x000000FF, 0x000000FF); + var_s0_2 = 0; + if (D_8018D1F0 > 0) { + var_s1_2 = (arg1 * 4) + &D_8018CC80; + do { + temp_a0_2 = *var_s1_2; + temp_v0_2 = &D_80165C18[temp_a0_2]; + func_800518F8(temp_a0_2, temp_v0_2->unk_09C, (s16) (arg0 - temp_v0_2->unk_09E)); + var_s0_2 += 1; + var_s1_2 += 4; + } while (var_s0_2 < D_8018D1F0); } - // Duplicate return node #8. Try simplifying control flow for better match - return; - } - func_8004B6C4(0xFF, 0xFF, 0xFF); - phi_s0_2 = 0; - if (D_8018D1F0 > 0) { - phi_s1_2 = (arg1 * 4) + &D_8018CC80; - do { - temp_a0_2 = *phi_s1_2; - temp_v0_2 = &D_80165C18 + (temp_a0_2 * 0xE0); - func_800518F8(temp_a0_2, temp_v0_2->unk9C, arg0 - temp_v0_2->unk9E); - temp_s0_2 = phi_s0_2 + 1; - phi_s1_2 += 4; - phi_s0_2 = temp_s0_2; - } while (temp_s0_2 < D_8018D1F0); } } #else @@ -5562,166 +4570,152 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80051ABC.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_8004B414(?, ?, ?, ?); // extern -void func_8004B6C4(?, ?, ?); // extern -void func_800518F8(s32, s16, s16); // extern -void func_800519D4(s32, s16, s16); // extern -extern Gfx D_0D007A60; -extern s8 D_801658FE; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800518F8(s32, s16, s16); /* extern */ +? func_800519D4(s32, s16, s16); /* extern */ +extern ? D_0D007A60; extern ? D_8018CC80; extern s32 D_8018D1F0; extern s8 D_8018D228; extern u8 D_8018D230; - +s16 gCurrentCourseId; /* unable to generate initializer */ void func_80051C60(s16 arg0, s32 arg1) { + Gfx *temp_v1; s16 temp_v0; + s16 var_s5; + s32 *var_s1; + s32 *var_s1_2; s32 temp_a0; s32 temp_a0_2; - s32 temp_s0; - s32 temp_s0_2; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v1; - s32 *phi_s1; - s16 phi_s5; - s32 phi_s0; - s32 *phi_s1_2; - s32 phi_s0_2; + s32 var_s0; + s32 var_s0_2; + struct_80165C18_entry *temp_v0_2; + struct_80165C18_entry *temp_v0_3; if (D_801658FE == 0) { temp_v0 = gCurrentCourseId; if (temp_v0 == 6) { - phi_s5 = arg0; + var_s5 = arg0; } else if (temp_v0 == 9) { - phi_s5 = arg0 - 0x10; + var_s5 = arg0 - 0x10; } else if (temp_v0 == 4) { - phi_s5 = arg0 - 0x10; + var_s5 = arg0 - 0x10; } else { - phi_s5 = arg0 + 0x10; + var_s5 = arg0 + 0x10; } } else if (gCurrentCourseId == 6) { - phi_s5 = (arg0 << 0x11) >> 0x10; + var_s5 = arg0 * 2; } else { - phi_s5 = arg0 + 0x20; + var_s5 = arg0 + 0x20; } D_8018D228 = 0xFF; temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007A60; + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) &D_0D007A60; if (D_8018D230 != 0) { - func_8004B414(0xFF, 0xFF, 0xFF, 0xFF); - phi_s0 = 0; + func_8004B414(0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF); + var_s0 = 0; if (D_8018D1F0 > 0) { - phi_s1 = (arg1 * 4) + &D_8018CC80; + var_s1 = (arg1 * 4) + &D_8018CC80; do { - temp_a0 = *phi_s1; - temp_v0_2 = &D_80165C18 + (temp_a0 * 0xE0); - func_800519D4(temp_a0, temp_v0_2->unk9C, (phi_s5 - temp_v0_2->unk9E) / 2); - temp_s0 = phi_s0 + 1; - phi_s1 += 4; - phi_s0 = temp_s0; - } while (temp_s0 < D_8018D1F0); - return; + temp_a0 = *var_s1; + temp_v0_2 = &D_80165C18[temp_a0]; + func_800519D4(temp_a0, temp_v0_2->unk_09C, (s16) ((s32) (var_s5 - temp_v0_2->unk_09E) / 2)); + var_s0 += 1; + var_s1 += 4; + } while (var_s0 < D_8018D1F0); + } + } else { + func_8004B6C4(0x000000FF, 0x000000FF, 0x000000FF); + var_s0_2 = 0; + if (D_8018D1F0 > 0) { + var_s1_2 = (arg1 * 4) + &D_8018CC80; + do { + temp_a0_2 = *var_s1_2; + temp_v0_3 = &D_80165C18[temp_a0_2]; + func_800518F8(temp_a0_2, temp_v0_3->unk_09C, (s16) ((s32) (var_s5 - temp_v0_3->unk_09E) / 2)); + var_s0_2 += 1; + var_s1_2 += 4; + } while (var_s0_2 < D_8018D1F0); } - // Duplicate return node #19. Try simplifying control flow for better match - return; - } - func_8004B6C4(0xFF, 0xFF, 0xFF); - phi_s0_2 = 0; - if (D_8018D1F0 > 0) { - phi_s1_2 = (arg1 * 4) + &D_8018CC80; - do { - temp_a0_2 = *phi_s1_2; - temp_v0_3 = &D_80165C18 + (temp_a0_2 * 0xE0); - func_800518F8(temp_a0_2, temp_v0_3->unk9C, (phi_s5 - temp_v0_3->unk9E) / 2); - temp_s0_2 = phi_s0_2 + 1; - phi_s1_2 += 4; - phi_s0_2 = temp_s0_2; - } while (temp_s0_2 < D_8018D1F0); } } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80051C60.s") #endif -void func_80051ABC(s16, s32); // extern - void func_80051EBC(void) { func_80051ABC(240 - D_800DC5EC->cameraHeight, 0); // 28 } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80051ABC(s16, ?); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern void *D_800DC5EC; +s16 gCurrentCourseId; /* unable to generate initializer */ void func_80051EF8(void) { s16 temp_a0; s16 temp_v0; - s16 phi_a0; + s16 var_a0; temp_v0 = gCurrentCourseId; temp_a0 = 0xF0 - D_800DC5EC->unk28; if (temp_v0 == 6) { - phi_a0 = temp_a0 - 0x30; + var_a0 = temp_a0 - 0x30; } else if (temp_v0 == 9) { - phi_a0 = temp_a0 - 0x40; + var_a0 = temp_a0 - 0x40; } else if (temp_v0 == 4) { - phi_a0 = temp_a0 - 0x40; + var_a0 = temp_a0 - 0x40; } else { - phi_a0 = temp_a0 - 0x30; + var_a0 = temp_a0 - 0x30; } - func_80051ABC(phi_a0, 0); + func_80051ABC(var_a0, 0); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80051EF8.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80051ABC(s16, s32); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern void *D_800DC5F0; extern s32 D_8018D1F0; +s16 gCurrentCourseId; /* unable to generate initializer */ void func_80051F9C(void) { s16 temp_a0; s16 temp_v0; - s16 phi_a0; + s16 var_a0; temp_v0 = gCurrentCourseId; temp_a0 = 0xF0 - D_800DC5F0->unk28; if (temp_v0 == 6) { - phi_a0 = temp_a0 - 0x30; + var_a0 = temp_a0 - 0x30; } else if (temp_v0 == 9) { - phi_a0 = temp_a0 - 0x40; + var_a0 = temp_a0 - 0x40; } else if (temp_v0 == 4) { - phi_a0 = temp_a0 - 0x40; + var_a0 = temp_a0 - 0x40; } else { - phi_a0 = temp_a0 - 0x30; + var_a0 = temp_a0 - 0x30; } - func_80051ABC(phi_a0, D_8018D1F0); + func_80051ABC(var_a0, D_8018D1F0); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80051F9C.s") #endif -void func_80051C60(s16, s32); - void func_80052044(void) { func_80051C60(240 - D_800DC5EC->cameraHeight, 0); } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80051C60(s16, s32); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern void *D_800DC5F0; extern s32 D_8018D1F0; void func_80052080(void) { - func_80051C60(0xF0 - D_800DC5F0->unk28, D_8018D1F0); + func_80051C60((s16) (0xF0 - D_800DC5F0->unk28), D_8018D1F0); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80052080.s") @@ -5779,7 +4773,7 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800520C0.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b ? func_800520C0(s32); /* extern */ extern ? D_06007650; extern ? D_060078C0; @@ -5883,30 +4877,25 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8005217C.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_800484BC(void *, void *, s32, s16, s32, s32, s32, s32, s32, s32, s32); // extern -void func_8004A630(? *, void *, ?); // extern -s32 func_8007223C(s32, ?); // extern -extern struct_80165C18_entry D_80165C18; -extern ? D_8018C830; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern UnkActorInner D_8018C830; void func_800523B8(s32 arg0, s32 arg1, u32 arg2) { - void *sp3C; - void *sp38; - s16 temp_v0; - void *temp_a0; - void *temp_v1; + struct_80165C18_entry *sp3C; + f32 *sp38; + f32 *temp_a0; + s32 temp_v0; + struct_80165C18_entry *temp_v1; - temp_v1 = (arg0 * 0xE0) + &D_80165C18; + temp_v1 = &D_80165C18[arg0]; sp3C = temp_v1; - temp_v0 = func_800418AC(temp_v1->unk4, temp_v1->unkC, (arg1 * 0xB8) + camera1); - temp_a0 = temp_v1 + 4; + temp_v0 = func_800418AC(temp_v1->unk_004[0], temp_v1->unk_004[2], camera1[arg1].pos); + temp_a0 = temp_v1->unk_004; sp38 = temp_a0; - temp_v1->unkB4 = temp_v0; - func_800484BC(temp_a0, temp_v1 + 0xB2, temp_v1->unk0, temp_v1->unkA0, temp_v1->unk60, temp_v1->unk64, temp_v1->unk74, 0x30, 0x28, 0x30, 0x28); - if ((func_8007223C(arg0, 0x20) != 0) && (arg2 < 0x15F91)) { - func_8004A630(&D_8018C830, sp38, 0x3ECCCCCD); + temp_v1->unk_0B4 = (u16) temp_v0; + func_800484BC((s32) temp_a0, (s32) &temp_v1->unk_0B2, temp_v1->unk_000, (s32) temp_v1->unk_0A0, (s32) temp_v1->unk_060, (s32) temp_v1->unk_064, (Vtx *) temp_v1->unk_074, 0x00000030, 0x00000028, 0x00000030, 0x00000028); + if ((func_8007223C(arg0, 0x00000020) != 0) && (arg2 < 0x15F91U)) { + func_8004A630(&D_8018C830, sp38, 0.4f); } } #else @@ -5914,46 +4903,34 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800523B8.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800523B8(s32, s32, s32); // extern -s32 func_8007223C(s32, ?); // extern -s32 func_8008A364(s32, s32, ?, ?); // extern -extern struct_80165C18_entry D_80165C18; -extern s32 D_8018BFA8; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800523B8(s32, s32, u32); /* extern */ extern ? D_8018BFD0; void func_800524B4(s32 arg0) { - s32 *temp_s1; + s32 *var_s1; s32 temp_s0; - s32 temp_s2; - s32 *phi_s1; + u32 temp_s2; - phi_s1 = &D_8018BFA8; + var_s1 = D_8018BFA8; do { - temp_s0 = *phi_s1; - if ((&D_80165C18 + (temp_s0 * 0xE0))->unkA6 >= 2) { - temp_s2 = func_8008A364(temp_s0, arg0, 0x4000, 0x320); - if (func_8007223C(temp_s0, 0x40000) != 0) { + temp_s0 = *var_s1; + if (D_80165C18[temp_s0].unk_0A6 >= 2) { + temp_s2 = func_8008A364(temp_s0, arg0, 0x4000U, 0x00000320); + if (func_8007223C(temp_s0, 0x00040000) != 0) { func_800523B8(temp_s0, arg0, temp_s2); } } - temp_s1 = phi_s1 + 4; - phi_s1 = temp_s1; - } while (temp_s1 != &D_8018BFD0); + var_s1 += 4; + } while (var_s1 != &D_8018BFD0); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800524B4.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_800431B0(void *, ? *, s32, ? *); // extern -void func_80046F60(s32, s32, ?, ?, s32); // extern -extern Vtx D_0D0062B0; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern s16 D_80183E80; -extern s32 D_80183EA0; extern s32 D_8018C3F0; extern ? D_8018C490; extern s32 D_8018C630; @@ -5962,86 +4939,76 @@ extern s16 D_8018CFB0; extern s16 D_8018CFC8; extern s16 D_8018CFE8; extern s16 D_8018D000; -extern s32 D_8018D120; - -void func_80052590(s32 arg0) { - s32 *temp_s1; - s32 *temp_s1_2; - s32 temp_s7; +void func_80052590(s32 cameraId) { + Camera *temp_s7; + Gfx *temp_v1; + s32 *var_s1; + s32 *var_s1_2; s32 temp_v0; s32 temp_v0_2; - void *temp_s0; - void *temp_s0_2; - void *temp_s0_3; - void *temp_v1; - s32 *phi_s1; - s32 *phi_s1_2; + struct_80165C18_entry *temp_s0; + struct_80165C18_entry *temp_s0_2; + struct_80165C18_entry *temp_s0_3; - temp_s0 = &D_80165C18 + (D_80183EA0 * 0xE0); - temp_s7 = (arg0 * 0xB8) + camera1; - func_80046F60(temp_s0->unk60, temp_s0->unk64, 0x20, 0x40, 5); - D_80183E80.unk0 = temp_s0->unkB2; - D_80183E80.unk4 = temp_s0->unkB6; - phi_s1 = &D_8018C3F0; + temp_s0 = &D_80165C18[*D_80183EA0]; + temp_s7 = &camera1[cameraId]; + func_80046F60((s32) temp_s0->unk_060, (s32) temp_s0->unk_064, 0x00000020, 0x00000040, 5); + D_80183E80.unk0 = (s16) temp_s0->unk_0B2[0]; + D_80183E80.unk4 = (u16) temp_s0->unk_0B2[2]; + var_s1 = &D_8018C3F0; if ((D_8018CFB0 != 0) || (D_8018CFC8 != 0)) { do { - temp_v0 = *phi_s1; + temp_v0 = *var_s1; if (temp_v0 != -1) { - temp_s0_2 = &D_80165C18 + (temp_v0 * 0xE0); - if ((temp_s0_2->unkA6 >= 2) && (D_8018D120 < 0x2EF)) { - D_80183E80.unk2 = func_800418AC(temp_s0_2->unk4, temp_s0_2->unkC, temp_s7); - func_800431B0(temp_s0_2 + 4, &D_80183E80, temp_s0_2->unk0, &D_0D0062B0); + temp_s0_2 = &D_80165C18[temp_v0]; + if ((temp_s0_2->unk_0A6 >= 2) && (D_8018D120 < 0x2EF)) { + D_80183E80.unk2 = func_800418AC(temp_s0_2->unk_004[0], temp_s0_2->unk_004[2], temp_s7->pos); + func_800431B0(temp_s0_2->unk_004, &D_80183E80, temp_s0_2->unk_000, D_0D0062B0); } } - temp_s1 = phi_s1 + 4; - phi_s1 = temp_s1; - } while (temp_s1 != &D_8018C490); + var_s1 += 4; + } while (var_s1 != &D_8018C490); } if ((D_8018CFE8 != 0) || (D_8018D000 != 0)) { - phi_s1_2 = &D_8018C630; + var_s1_2 = &D_8018C630; do { - temp_v0_2 = *phi_s1_2; + temp_v0_2 = *var_s1_2; if (temp_v0_2 != -1) { - temp_s0_3 = &D_80165C18 + (temp_v0_2 * 0xE0); - if ((temp_s0_3->unkA6 >= 2) && (D_8018D120 < 0x2EF)) { - D_80183E80.unk2 = func_800418AC(temp_s0_3->unk4, temp_s0_3->unkC, temp_s7); - func_800431B0(temp_s0_3 + 4, &D_80183E80, temp_s0_3->unk0, &D_0D0062B0); + temp_s0_3 = &D_80165C18[temp_v0_2]; + if ((temp_s0_3->unk_0A6 >= 2) && (D_8018D120 < 0x2EF)) { + D_80183E80.unk2 = func_800418AC(temp_s0_3->unk_004[0], temp_s0_3->unk_004[2], temp_s7->pos); + func_800431B0(temp_s0_3->unk_004, &D_80183E80, temp_s0_3->unk_000, D_0D0062B0); } } - temp_s1_2 = phi_s1_2 + 4; - phi_s1_2 = temp_s1_2; - } while (temp_s1_2 != &D_8018C6A8); + var_s1_2 += 4; + } while (var_s1_2 != &D_8018C6A8); } temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0xBB000000; - temp_v1->unk4 = 0x10001; + temp_v1->words.w0 = 0xBB000000; + temp_v1->words.w1 = 0x00010001; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80052590.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80043220(void *, void *, s32, s32); // extern -s32 func_8007223C(s32, ?); // extern -u32 func_8008A364(s32, s32, ?, ?); // extern -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern s32 D_80183EA4; void func_800527D8(s32 arg0) { s32 sp1C; s32 temp_a0; - void *temp_v0; + struct_80165C18_entry *temp_v0; temp_a0 = D_80183EA4; sp1C = temp_a0; - func_8008A364(temp_a0, arg0, 0x5555, 0x320); - if (func_8007223C(temp_a0, 0x40000) != 0) { - temp_v0 = (sp1C * 0xE0) + &D_80165C18; - if (temp_v0->unkA6 >= 2) { - func_80043220(temp_v0 + 4, temp_v0 + 0xB2, temp_v0->unk0, temp_v0->unk70); + func_8008A364(temp_a0, arg0, 0x5555U, 0x00000320); + if (func_8007223C(temp_a0, 0x00040000) != 0) { + temp_v0 = &D_80165C18[sp1C]; + if (temp_v0->unk_0A6 >= 2) { + func_80043220(temp_v0->unk_004, (s16 *) &temp_v0->unk_0B2, temp_v0->unk_000, (Gfx *) temp_v0->unk_070); } } } @@ -6050,205 +5017,188 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800527D8.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80043500(? *, ? *, ?, ? *); // extern -extern ? D_06007218; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern Gfx D_06007218; extern f32 D_80183E40; extern s16 D_80183E80; -void func_8005285C(s32 arg0) { +void func_8005285C(s32 playerId) { Player *temp_v0; - temp_v0 = &gPlayerOne[arg0]; - D_80183E40.unk0 = temp_v0->posX; - D_80183E40.unk4 = temp_v0->posY; + temp_v0 = &gPlayerOne[playerId]; + D_80183E40.unk0 = temp_v0->pos[0]; + D_80183E40.unk4 = (f32) temp_v0->pos[1]; D_80183E80.unk0 = 0; D_80183E80.unk2 = 0; D_80183E80.unk4 = 0; - D_80183E40.unk8 = temp_v0->posZ; - func_80043500(&D_80183E40, &D_80183E80, 0x3CA3D70A, &D_06007218); + D_80183E40.unk8 = (f32) temp_v0->pos[2]; + func_80043500(&D_80183E40, &D_80183E80, 0.02f, &D_06007218); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8005285C.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80042E00(void *, ? *, s32); // extern -void func_800441E0(? *, ?, ?); // extern -extern s32 D_060068E8; -extern Vtx D_0D005BD0; -extern Gfx D_0D006930; -extern Gfx D_0D007B00; -extern ? D_800E4620; -extern ? D_800E4628; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern s8 D_060068E8; extern ? D_8016582C; -extern struct_80165C18_entry D_80165C18; extern s16 D_80183E80; extern s32 D_8018C3F0; extern ? D_8018C5F0; -extern s32 D_8018D120; - +static ? D_800E4620; /* unable to generate initializer */ +static ? D_800E4628; /* unable to generate initializer */ void func_800528EC(s32 arg0) { - s32 *temp_s3; - s32 *temp_s3_2; + Gfx *temp_v0; + Gfx *temp_v0_10; + Gfx *temp_v0_12; + Gfx *temp_v0_13; + Gfx *temp_v0_14; + Gfx *temp_v0_15; + Gfx *temp_v0_16; + Gfx *temp_v0_2; + Gfx *temp_v0_3; + Gfx *temp_v0_4; + Gfx *temp_v0_5; + Gfx *temp_v0_6; + Gfx *temp_v0_7; + Gfx *temp_v0_9; + s32 *var_s3; + s32 *var_s3_2; s32 temp_v0_11; s32 temp_v0_8; - void *temp_v0; - void *temp_v0_10; - void *temp_v0_12; - void *temp_v0_13; - void *temp_v0_14; - void *temp_v0_15; - void *temp_v0_16; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - void *temp_v0_9; - void *temp_v1; - void *temp_v1_2; - s32 *phi_s3; - s32 *phi_s3_2; + struct_80165C18_entry *temp_v1; + struct_80165C18_entry *temp_v1_2; temp_v0 = gDisplayListHead; - D_80183E80.unk0 = D_8016582C.unk0; - D_80183E80.unk2 = D_8016582C.unk2; + D_80183E80.unk0 = (s16) D_8016582C.unk0; + D_80183E80.unk2 = (u16) D_8016582C.unk2; gDisplayListHead = temp_v0 + 8; - D_80183E80.unk4 = D_8016582C.unk4; - temp_v0->unk0 = 0x6000000; - temp_v0->unk4 = &D_0D007B00; + D_80183E80.unk4 = (u16) D_8016582C.unk4; + temp_v0->words.w0 = 0x06000000; + temp_v0->words.w1 = (u32) D_0D007B00; temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk4 = 0x80000040; - temp_v0_2->unk0 = 0xBC000002; + temp_v0_2->words.w1 = 0x80000040; + temp_v0_2->words.w0 = 0xBC000002; temp_v0_3 = gDisplayListHead; gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = &D_800E4628; - temp_v0_3->unk0 = 0x3860010; + temp_v0_3->words.w1 = (u32) &D_800E4628; + temp_v0_3->words.w0 = 0x03860010; temp_v0_4 = gDisplayListHead; gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = &D_800E4620; - temp_v0_4->unk0 = 0x3880010; + temp_v0_4->words.w1 = (u32) &D_800E4620; + temp_v0_4->words.w0 = 0x03880010; temp_v0_5 = gDisplayListHead; gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = 0xFF33FFFF; - temp_v0_5->unk0 = 0xFC121824; + temp_v0_5->words.w1 = 0xFF33FFFF; + temp_v0_5->words.w0 = 0xFC121824; temp_v0_6 = gDisplayListHead; gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk4 = 0x3000; - temp_v0_6->unk0 = 0xB6000000; + temp_v0_6->words.w1 = 0x00003000; + temp_v0_6->words.w0 = 0xB6000000; temp_v0_7 = gDisplayListHead; gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk0 = 0xB7000000; - temp_v0_7->unk4 = 0x20204; - func_800441E0(&D_060068E8, 0x20, 0x20); - phi_s3_2 = &D_8018C3F0; + temp_v0_7->words.w0 = 0xB7000000; + temp_v0_7->words.w1 = 0x00020204; + func_800441E0(&D_060068E8, 0x00000020, 0x00000020); + var_s3 = &D_8018C3F0; if (gPlayerCountSelection1 < 3) { - phi_s3 = &D_8018C3F0; + var_s3_2 = &D_8018C3F0; do { - temp_v0_8 = *phi_s3; + temp_v0_8 = *var_s3_2; if (temp_v0_8 != -1) { - temp_v1 = &D_80165C18 + (temp_v0_8 * 0xE0); - if (temp_v1->unkA6 > 0) { - func_80042E00(temp_v1 + 4, &D_80183E80, temp_v1->unk0); + temp_v1 = &D_80165C18[temp_v0_8]; + if (temp_v1->unk_0A6 > 0) { + func_80042E00(temp_v1->unk_004, &D_80183E80, temp_v1->unk_000); temp_v0_9 = gDisplayListHead; gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk4 = &D_0D005BD0; - temp_v0_9->unk0 = 0x4000C2F; + temp_v0_9->words.w1 = (u32) D_0D005BD0; + temp_v0_9->words.w0 = 0x04000C2F; temp_v0_10 = gDisplayListHead; gDisplayListHead = temp_v0_10 + 8; - temp_v0_10->unk4 = &D_0D006930; - temp_v0_10->unk0 = 0x6000000; + temp_v0_10->words.w1 = (u32) D_0D006930; + temp_v0_10->words.w0 = 0x06000000; } } - temp_s3 = phi_s3 + 4; - phi_s3 = temp_s3; - } while (temp_s3 != &D_8018C5F0); + var_s3_2 += 4; + } while (var_s3_2 != &D_8018C5F0); } else { do { - temp_v0_11 = *phi_s3_2; + temp_v0_11 = *var_s3; if (temp_v0_11 != -1) { - temp_v1_2 = &D_80165C18 + (temp_v0_11 * 0xE0); - if ((temp_v1_2->unkA6 > 0) && (arg0 == temp_v1_2->unk92) && (D_8018D120 < 0x2EF)) { - func_80042E00(temp_v1_2 + 4, &D_80183E80, temp_v1_2->unk0); + temp_v1_2 = &D_80165C18[temp_v0_11]; + if ((temp_v1_2->unk_0A6 > 0) && (arg0 == temp_v1_2->unk_084[7]) && (D_8018D120 < 0x2EF)) { + func_80042E00(temp_v1_2->unk_004, &D_80183E80, temp_v1_2->unk_000); temp_v0_12 = gDisplayListHead; gDisplayListHead = temp_v0_12 + 8; - temp_v0_12->unk4 = &D_0D005BD0; - temp_v0_12->unk0 = 0x4000C2F; + temp_v0_12->words.w1 = (u32) D_0D005BD0; + temp_v0_12->words.w0 = 0x04000C2F; temp_v0_13 = gDisplayListHead; gDisplayListHead = temp_v0_13 + 8; - temp_v0_13->unk4 = &D_0D006930; - temp_v0_13->unk0 = 0x6000000; + temp_v0_13->words.w1 = (u32) D_0D006930; + temp_v0_13->words.w0 = 0x06000000; } } - temp_s3_2 = phi_s3_2 + 4; - phi_s3_2 = temp_s3_2; - } while (temp_s3_2 != &D_8018C5F0); + var_s3 += 4; + } while (var_s3 != &D_8018C5F0); } temp_v0_14 = gDisplayListHead; gDisplayListHead = temp_v0_14 + 8; - temp_v0_14->unk4 = 0x2000; - temp_v0_14->unk0 = 0xB7000000; + temp_v0_14->words.w1 = 0x00002000; + temp_v0_14->words.w0 = 0xB7000000; temp_v0_15 = gDisplayListHead; gDisplayListHead = temp_v0_15 + 8; - temp_v0_15->unk4 = 0x20000; - temp_v0_15->unk0 = 0xB6000000; + temp_v0_15->words.w1 = 0x00020000; + temp_v0_15->words.w0 = 0xB6000000; temp_v0_16 = gDisplayListHead; gDisplayListHead = temp_v0_16 + 8; - temp_v0_16->unk0 = 0xBB000000; - temp_v0_16->unk4 = 0x10001; + temp_v0_16->words.w0 = 0xBB000000; + temp_v0_16->words.w1 = 0x00010001; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800528EC.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_8005285C(s32); // extern -void func_800528EC(s32); // extern -s32 func_80072320(s32, ?); // extern -extern ? D_800E4620; -extern ? D_800E4628; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_8005285C(s32); /* extern */ +? func_800528EC(s32); /* extern */ extern ? D_80165840; extern s32 D_80183DB8; - +static ? D_800E4620; /* unable to generate initializer */ +static ? D_800E4628; /* unable to generate initializer */ void func_80052C60(s32 arg0) { + Gfx *temp_v0; + Gfx *temp_v0_2; + s32 *var_s1; s32 temp_s0; - s32 temp_s2; - void *temp_v0; - void *temp_v0_2; - s32 *phi_s1; - s32 phi_s2; + s32 var_s2; temp_v0 = gDisplayListHead; gDisplayListHead = temp_v0 + 8; - D_800E4620.unk10 = D_80165840.unk0; - D_800E4620.unk11 = D_80165840.unk1; - D_800E4620.unk12 = D_80165840.unk2; - temp_v0->unk0 = 0x3860010; - temp_v0->unk4 = &D_800E4628; + D_800E4620.unk10 = (s8) D_80165840.unk0; + D_800E4620.unk11 = (s8) D_80165840.unk1; + D_800E4620.unk12 = (s8) D_80165840.unk2; + temp_v0->words.w0 = 0x03860010; + temp_v0->words.w1 = (u32) &D_800E4628; temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x3880010; - temp_v0_2->unk4 = &D_800E4620; - phi_s1 = &D_80183DB8; - phi_s2 = 0; + temp_v0_2->words.w0 = 0x03880010; + temp_v0_2->words.w1 = (u32) &D_800E4620; + var_s1 = &D_80183DB8; + var_s2 = 0; if (gPlayerCountSelection1 > 0) { do { - temp_s0 = *phi_s1; + temp_s0 = *var_s1; if (func_80072320(temp_s0, 4) != 0) { - func_8005285C(phi_s2); + func_8005285C(var_s2); } - func_80072320(temp_s0, 0x10); - temp_s2 = phi_s2 + 1; - phi_s1 += 4; - phi_s2 = temp_s2; - } while (temp_s2 < gPlayerCountSelection1); + func_80072320(temp_s0, 0x00000010); + var_s2 += 1; + var_s1 += 4; + } while (var_s2 < gPlayerCountSelection1); } func_800528EC(arg0); } @@ -6257,25 +5207,23 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80052C60.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800435A0(? *, ? *, ?, ? *, s32); // extern -s32 func_80072320(s32, ?); // extern -extern ? D_06007218; -extern s32 D_80183DB8; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern Gfx D_06007218; +extern ? D_80183DB8; extern f32 D_80183E40; -extern s16 D_80183E80; +extern u16 D_80183E80; -void func_80052D70(s32 arg0) { +void func_80052D70(s32 playerId) { Player *sp20; Player *temp_v1; - temp_v1 = &gPlayerOne[arg0]; + temp_v1 = &gPlayerOne[playerId]; sp20 = temp_v1; - if (func_80072320(*(&D_80183DB8 + (arg0 * 4)), 8) != 0) { - D_80183E40.unk0 = temp_v1->posX; - D_80183E40.unk4 = temp_v1->unk_074 - 6.5; - D_80183E40.unk8 = temp_v1->posZ; - func_800435A0(&D_80183E40, &D_80183E80, 0x3CA3D70A, &D_06007218, 0xFF); + if (func_80072320(*(&D_80183DB8 + (playerId * 4)), 8) != 0) { + D_80183E40.unk0 = temp_v1->pos[0]; + D_80183E40.unk4 = (f32) ((f64) temp_v1->unk_074 - 6.5); + D_80183E40.unk8 = (f32) temp_v1->pos[2]; + func_800435A0(&D_80183E40, &D_80183E80, 0.02f, &D_06007218, 0x000000FF); } } #else @@ -6327,106 +5275,87 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80052E30.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_80043104(s32); // extern -void func_80046E60(? *, ? *, ?, ?); // extern -s32 func_8007223C(s32, ?); // extern -u32 func_8008A364(s32, s32, ?, ?); // extern -extern s32 D_06006D20; -extern s32 D_06006F20; -extern Gfx D_0D0069E0; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern ? D_06006D20; +extern ? D_06006F20; extern s32 D_8018C3F0; extern ? D_8018C5F0; - -void func_80052F20(s32 arg0) { - s32 sp44; - s32 *temp_s2; +void func_80052F20(s32 cameraId) { + Camera *sp44; + Gfx *temp_v1; + Gfx *temp_v1_2; + s32 *var_s2; s32 temp_s0; - void *temp_s1; - void *temp_v1; - void *temp_v1_2; - s32 *phi_s2; + struct_80165C18_entry *temp_s1; - sp44 = (arg0 * 0xB8) + camera1; - func_80046E60(&D_06006D20, &D_06006F20, 0x20, 0x20); - phi_s2 = &D_8018C3F0; + sp44 = &camera1[cameraId]; + func_80046E60((s32) &D_06006D20, (s32) &D_06006F20, 0x00000020, 0x00000020); + var_s2 = &D_8018C3F0; do { - temp_s0 = *phi_s2; + temp_s0 = *var_s2; if (temp_s0 != -1) { - temp_s1 = &D_80165C18 + (temp_s0 * 0xE0); - if (temp_s1->unkA6 > 0) { - func_8008A364(temp_s0, arg0, 0x2AAB, 0x1F4); - if (func_8007223C(temp_s0, 0x40000) != 0) { - temp_s1->unkB4 = func_800418AC(temp_s1->unk4, temp_s1->unkC, sp44); + temp_s1 = &D_80165C18[temp_s0]; + if (temp_s1->unk_0A6 > 0) { + func_8008A364(temp_s0, cameraId, 0x2AABU, 0x000001F4); + if (func_8007223C(temp_s0, 0x00040000) != 0) { + temp_s1->unk_0B2[1] = func_800418AC(temp_s1->unk_004[0], temp_s1->unk_004[2], sp44->pos); func_80043104(temp_s0); temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk4 = &D_0D0069E0; - temp_v1->unk0 = 0x6000000; + temp_v1->words.w1 = (u32) D_0D0069E0; + temp_v1->words.w0 = 0x06000000; } } } - temp_s2 = phi_s2 + 4; - phi_s2 = temp_s2; - } while (temp_s2 != &D_8018C5F0); + var_s2 += 4; + } while (var_s2 != &D_8018C5F0); temp_v1_2 = gDisplayListHead; gDisplayListHead = temp_v1_2 + 8; - temp_v1_2->unk0 = 0xBB000000; - temp_v1_2->unk4 = 0x10001; + temp_v1_2->words.w0 = 0xBB000000; + temp_v1_2->words.w1 = 0x00010001; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80052F20.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_800480B4(void *, ? *, s32, s32, s32, s32, s32, s32, s32, s32); // extern -s32 func_8007223C(s32, ?); // extern -u32 func_8008A364(s32, s32, ?, ?); // extern -extern struct_80165C18_entry D_80165C18; -extern s16 D_80183E80; -extern s32 D_80183EA0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern ? D_80183E80; extern ? D_80183EEC; -extern s32 D_80183F28; -void func_8005309C(s32 arg0) { - s32 *temp_s3; - s32 temp_fp; +void func_8005309C(s32 cameraId) { + Camera *temp_fp; + s32 *var_s3; s32 temp_s1; - void *temp_s0; - void *temp_s0_2; - s32 *phi_s3; - s32 phi_s4; + s32 var_s4; + struct_80165C18_entry *temp_s0; + struct_80165C18_entry *temp_s0_2; - temp_fp = (arg0 * 0xB8) + camera1; - phi_s3 = &D_80183EA0; - phi_s4 = 0; + var_s3 = D_80183EA0; + var_s4 = 0; + temp_fp = &camera1[cameraId]; do { - temp_s1 = *phi_s3; - temp_s0 = &D_80165C18 + (temp_s1 * 0xE0); - if (temp_s0->unkA6 >= 2) { - func_8008A364(temp_s1, arg0, 0x2AAB, 0x258); - if (func_8007223C(temp_s1, 0x40000) != 0) { - D_80183E80.unk0 = temp_s0->unkB2; - D_80183E80.unk2 = func_800418AC(temp_s0->unk4, temp_s0->unkC, temp_fp); - D_80183E80.unk4 = temp_s0->unkB6; - if (func_8007223C(temp_s1, 0x10) != 0) { - func_800480B4(temp_s0 + 4, &D_80183E80, temp_s0->unk0, temp_s0->unk60, temp_s0->unk64, temp_s0->unk74, 0x40, 0x40, 0x40, 0x20); + temp_s1 = *var_s3; + temp_s0 = &D_80165C18[temp_s1]; + if (temp_s0->unk_0A6 >= 2) { + func_8008A364(temp_s1, cameraId, 0x2AABU, 0x00000258); + if (func_8007223C(temp_s1, 0x00040000) != 0) { + D_80183E80.unk0 = (u16) temp_s0->unk_0B2; + D_80183E80.unk2 = func_800418AC(temp_s0->unk_004[0], temp_s0->unk_004[2], temp_fp->pos); + D_80183E80.unk4 = (u16) temp_s0->unk_0B6; + if (func_8007223C(temp_s1, 0x00000010) != 0) { + func_800480B4((s32) temp_s0->unk_004, (s32) &D_80183E80, temp_s0->unk_000, (s32) temp_s0->unk_060, (s32) temp_s0->unk_064, temp_s0->unk_074, 0x00000040, 0x00000040, 0x00000040, 0x00000020); } - temp_s0_2 = &D_80165C18 + (*(phi_s4 + &D_80183F28) * 0xE0); - D_80183E80.unk0 = temp_s0_2->unkB2; - D_80183E80.unk4 = temp_s0_2->unkB6; - func_800480B4(temp_s0_2 + 4, &D_80183E80, temp_s0_2->unk0, temp_s0_2->unk60, temp_s0_2->unk64, temp_s0_2->unk74, 0x40, 0x40, 0x40, 0x20); + temp_s0_2 = &D_80165C18[*(var_s4 + D_80183F28)]; + D_80183E80.unk0 = (u16) temp_s0_2->unk_0B2; + D_80183E80.unk4 = (u16) temp_s0_2->unk_0B6; + func_800480B4((s32) temp_s0_2->unk_004, (s32) &D_80183E80, temp_s0_2->unk_000, (s32) temp_s0_2->unk_060, (s32) temp_s0_2->unk_064, temp_s0_2->unk_074, 0x00000040, 0x00000040, 0x00000040, 0x00000020); } } - temp_s3 = phi_s3 + 4; - phi_s3 = temp_s3; - phi_s4 += 4; - } while (temp_s3 != &D_80183EEC); + var_s3 += 4; + var_s4 += 4; + } while (var_s3 != &D_80183EEC); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8005309C.s") @@ -6438,8 +5367,7 @@ void func_8005327C(s32 arg0) { } #ifdef MIPS_TO_C -//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b -? func_8004A630(f32, void *, f32 *, ?); /* extern */ +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern ? D_80183DB8; extern ? D_8018C0B0; extern void *D_8018CF14; @@ -6468,11 +5396,11 @@ void func_800532A4(s32 cameraId) { if (func_80072354(sp44, 2) != 0) { temp_v1 = temp_s0->unk_0DA; temp_v0 = temp_s0->unk_0D9; - func_800480B4((s32) temp_s0->unk_004, (s32) &temp_s0->unk_0B2, temp_s0->unk_000, (s32) temp_s0->unk_060, (s32) temp_s0->unk_064, temp_s0->unk_074, (s32) temp_v0, (s32) temp_v1, (s32) temp_v0, (s32) temp_v1 / 2); + func_800480B4((s32) temp_s0->unk_004, (s32) &temp_s0->unk_0B2, temp_s0->unk_000, (s32) temp_s0->unk_060, (s32) temp_s0->unk_064, (Vtx *) temp_s0->unk_074, (s32) temp_v0, (s32) temp_v1, (s32) temp_v0, (s32) temp_v1 / 2); } else { temp_v1_2 = temp_s0->unk_0DA; temp_v0_2 = temp_s0->unk_0D9; - func_800485C4((s32) temp_s0->unk_004, (s32) &temp_s0->unk_0B2, temp_s0->unk_000, (s32) temp_s0->unk_0A0, (s32) temp_s0->unk_060, (s32) temp_s0->unk_064, temp_s0->unk_074, (s32) temp_v0_2, (s32) temp_v1_2, (s32) temp_v0_2, (s32) temp_v1_2 / 2); + func_800485C4((s32) temp_s0->unk_004, (s32) &temp_s0->unk_0B2, temp_s0->unk_000, (s32) temp_s0->unk_0A0, (s32) temp_s0->unk_060, (s32) temp_s0->unk_064, (Vtx *) temp_s0->unk_074, (s32) temp_v0_2, (s32) temp_v1_2, (s32) temp_v0_2, (s32) temp_v1_2 / 2); } if (gScreenModeSelection == 0) { temp_v0_3 = D_8018CF14; @@ -6485,7 +5413,7 @@ void func_800532A4(s32 cameraId) { var_f2 = -var_f2; } if ((f64) (var_f0 + var_f2) <= 200.0) { - func_8004A630(0.0f, (cameraId << 6) + &D_8018C0B0, temp_s0->unk_004, 0x3EB33333); + func_8004A630((cameraId << 6) + &D_8018C0B0, temp_s0->unk_004, 0.35f); } } } @@ -6495,16 +5423,15 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800532A4.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800419F8(); // extern -extern ? D_800E4638; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern ? D_80165840; +static ? D_800E4638; /* unable to generate initializer */ void func_800534A4(s32 arg0) { func_800419F8(); - D_800E4638.unk10 = D_80165840.unk0; - D_800E4638.unk11 = D_80165840.unk1; - D_800E4638.unk12 = D_80165840.unk2; + D_800E4638.unk10 = (s8) D_80165840.unk0; + D_800E4638.unk11 = (s8) D_80165840.unk1; + D_800E4638.unk12 = (s8) D_80165840.unk2; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800534A4.s") @@ -6546,10 +5473,8 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800534E8.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b -? func_8004A7AC(s32, ?); /* extern */ +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern ? D_06006F38; -extern ? D_0D007828; void func_800536C8(s32 objectIndex) { Gfx *sp20; @@ -6566,13 +5491,13 @@ void func_800536C8(s32 objectIndex) { temp_s0 = &D_80165C18[objectIndex]; if ((temp_s0->unk_0A6 >= 2) && (func_80072354(objectIndex, 0x00000040) != 0)) { - func_8004A7AC(objectIndex, 0x3FE00000); + func_8004A7AC(objectIndex, 1.75f); func_80042E00(temp_s0->unk_004, (s16 *) &temp_s0->unk_0B2, temp_s0->unk_000); func_800534E8(objectIndex); temp_v0 = gDisplayListHead; gDisplayListHead = temp_v0 + 8; temp_v0->words.w0 = 0x06000000; - temp_v0->words.w1 = (u32) &D_0D007828; + temp_v0->words.w1 = (u32) D_0D007828; temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; temp_v0_2->words.w1 = 0x00008000; @@ -6614,15 +5539,10 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800536C8.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b ? func_800534A4(s32); /* extern */ ? func_800536C8(s32); /* extern */ extern s8 D_06006738; -extern Vtx D_0D005AE0; -extern ? D_0D005C00; -extern ? D_0D006930; -extern ? D_0D0079C8; -extern ? D_0D007AE0; extern s16 D_80165750; extern s16 D_80183E80; extern s32 D_8018C3F0; @@ -6703,7 +5623,7 @@ void func_80053870(s32 cameraId) { temp_v0_3 = gDisplayListHead; gDisplayListHead = temp_v0_3 + 8; temp_v0_3->words.w0 = 0x06000000; - temp_v0_3->words.w1 = (u32) &D_0D0079C8; + temp_v0_3->words.w1 = (u32) D_0D0079C8; temp_v0_4 = gDisplayListHead; gDisplayListHead = temp_v0_4 + 8; temp_v0_4->words.w1 = 0xFF33FFFF; @@ -6740,10 +5660,10 @@ void func_80053870(s32 cameraId) { temp_v0_10 = gDisplayListHead; gDisplayListHead = temp_v0_10 + 8; temp_v0_10->words.w0 = 0x04000C2F; - temp_v0_10->words.w1 = (u32) &D_0D005C00; + temp_v0_10->words.w1 = (u32) D_0D005C00; temp_v0_11 = gDisplayListHead; gDisplayListHead = temp_v0_11 + 8; - temp_v0_11->words.w1 = (u32) &D_0D006930; + temp_v0_11->words.w1 = (u32) D_0D006930; temp_v0_11->words.w0 = 0x06000000; } } @@ -6764,7 +5684,7 @@ void func_80053870(s32 cameraId) { temp_v0_15 = gDisplayListHead; gDisplayListHead = temp_v0_15 + 8; temp_v0_15->words.w0 = 0x06000000; - temp_v0_15->words.w1 = (u32) &D_0D007AE0; + temp_v0_15->words.w1 = (u32) D_0D007AE0; func_800444B0(D_8018D490, 0x00000020, 0x00000020); func_8004B3C8(0); D_80183E80.unk0 = 0; @@ -6777,7 +5697,7 @@ void func_80053870(s32 cameraId) { if ((temp_s0_2->unk_0A6 >= 2) && (temp_s0_2->unk_0D5 == 2) && (D_8018D120 < 0x2EF)) { func_8004B138(0x000000FF, 0x000000FF, 0x000000FF, (s32) temp_s0_2->unk_0A0); D_80183E80.unk2 = func_800418AC(temp_s0_2->unk_004[0], temp_s0_2->unk_004[2], sp84->pos); - func_800431B0(temp_s0_2->unk_004, &D_80183E80, temp_s0_2->unk_000, &D_0D005AE0); + func_800431B0(temp_s0_2->unk_004, &D_80183E80, temp_s0_2->unk_000, D_0D005AE0); } } var_s3 += 4; @@ -6819,105 +5739,85 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80053D74.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800452A4(s32, ?, ?); // extern -void func_8004B614(?, ?, ?, ?, s32, s32, s32); // extern -void func_80053D74(s32, s32, ?); // extern -extern Gfx D_0D007E98; -extern ? D_800E52D0; -extern s16 D_80165738; -extern struct_80165C18_entry D_80165C18; -extern s16 D_80183E80; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80053D74(s32, s32, ?); /* extern */ +extern ? D_0D007E98; +extern ? D_80183E80; extern s32 D_8018C630; -extern s32 D_8018D4BC; -extern s32 D_8018D4C0; - +extern s8 *D_8018D4BC; +extern s8 *D_8018D4C0; +static ? D_800E52D0; /* unable to generate initializer */ void func_80053E6C(s32 arg0) { - s16 temp_v0_8; - s16 temp_v0_9; + Gfx *temp_v0; + Gfx *temp_v0_2; + Gfx *temp_v0_3; + Gfx *temp_v0_4; + Gfx *temp_v0_5; + Gfx *temp_v0_6; + Gfx *temp_v0_7; + s32 *var_s0; + s32 *var_s0_2; s32 temp_a0; s32 temp_a0_2; - s32 temp_s1; - s32 temp_s1_2; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - s32 *phi_s0; - s32 phi_s1; - s32 phi_v0; - s32 *phi_s0_2; - s32 phi_s1_2; - s32 phi_v0_2; + s32 var_s1; temp_v0 = gDisplayListHead; gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x6000000; - temp_v0->unk4 = &D_0D007E98; + temp_v0->words.w0 = 0x06000000; + temp_v0->words.w1 = (u32) &D_0D007E98; temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0xFD100000; - temp_v0_2->unk4 = &D_800E52D0; + temp_v0_2->words.w0 = 0xFD100000; + temp_v0_2->words.w1 = (u32) &D_800E52D0; temp_v0_3 = gDisplayListHead; gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = 0; - temp_v0_3->unk0 = 0xE8000000; + temp_v0_3->words.w1 = 0; + temp_v0_3->words.w0 = 0xE8000000; temp_v0_4 = gDisplayListHead; gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = 0x7000000; - temp_v0_4->unk0 = 0xF5000100; + temp_v0_4->words.w1 = 0x07000000; + temp_v0_4->words.w0 = 0xF5000100; temp_v0_5 = gDisplayListHead; gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = 0; - temp_v0_5->unk0 = 0xE6000000; + temp_v0_5->words.w1 = 0; + temp_v0_5->words.w0 = 0xE6000000; temp_v0_6 = gDisplayListHead; gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk4 = 0x73FC000; - temp_v0_6->unk0 = 0xF0000000; + temp_v0_6->words.w1 = 0x073FC000; + temp_v0_6->words.w0 = 0xF0000000; temp_v0_7 = gDisplayListHead; gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk4 = 0; - temp_v0_7->unk0 = 0xE7000000; + temp_v0_7->words.w1 = 0; + temp_v0_7->words.w0 = 0xE7000000; func_8004B614(0, 0, 0, 0, 0, 0, 0); D_80183E80.unk0 = 0; D_80183E80.unk2 = 0x8000; - func_800452A4(D_8018D4BC, 0x40, 0x20); - temp_v0_8 = D_80165738; - phi_s0 = &D_8018C630; - phi_s1 = 0; - phi_v0 = temp_v0_8; - if (temp_v0_8 > 0) { + func_800452A4(D_8018D4BC, 0x00000040, 0x00000020); + var_s0 = &D_8018C630; + var_s1 = 0; + if (D_80165738 > 0) { do { - temp_a0 = *phi_s0; - if ((temp_a0 != -1) && ((&D_80165C18 + (temp_a0 * 0xE0))->unkA6 >= 2)) { + temp_a0 = *var_s0; + if ((temp_a0 != -1) && (D_80165C18[temp_a0].unk_0A6 >= 2)) { func_80053D74(temp_a0, arg0, 0); - phi_v0 = D_80165738; } - temp_s1 = phi_s1 + 1; - phi_s0 += 4; - phi_s1 = temp_s1; - } while (temp_s1 < phi_v0); + var_s1 += 1; + var_s0 += 4; + } while (var_s1 < D_80165738); + var_s1 = 0; } - func_800452A4(D_8018D4C0, 0x40, 0x20); - temp_v0_9 = D_80165738; - phi_s0_2 = &D_8018C630; - phi_s1_2 = 0; - phi_v0_2 = temp_v0_9; - if (temp_v0_9 > 0) { + func_800452A4(D_8018D4C0, 0x00000040, 0x00000020); + var_s0_2 = &D_8018C630; + if (D_80165738 > 0) { do { - temp_a0_2 = *phi_s0_2; - if ((temp_a0_2 != -1) && ((&D_80165C18 + (temp_a0_2 * 0xE0))->unkA6 >= 2)) { + temp_a0_2 = *var_s0_2; + if ((temp_a0_2 != -1) && (D_80165C18[temp_a0_2].unk_0A6 >= 2)) { func_80053D74(temp_a0_2, arg0, 4); - phi_v0_2 = D_80165738; } - temp_s1_2 = phi_s1_2 + 1; - phi_s0_2 += 4; - phi_s1_2 = temp_s1_2; - } while (temp_s1_2 < phi_v0_2); + var_s1 += 1; + var_s0_2 += 4; + } while (var_s1 < D_80165738); } } #else @@ -6925,30 +5825,25 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80053E6C.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_800431B0(void *, ? *, s32, ? *); // extern -void func_8004B1C8(s16, s16, s16, ?, s32, s32, s32); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern Vtx D_0D005AE0; -extern struct_80165C18_entry D_80165C18; extern s16 D_80183E80; -extern s32 D_8018D120; -void func_800540CC(s32 arg0, s32 arg1) { - s32 sp2C; - void *sp28; +void func_800540CC(s32 objectIndex, s32 cameraId) { + Camera *sp2C; + struct_80165C18_entry *sp28; s16 temp_a0; - void *temp_v1; + struct_80165C18_entry *temp_v1; - sp2C = (arg1 * 0xB8) + camera1; - if (arg0 != -1) { - temp_v1 = (arg0 * 0xE0) + &D_80165C18; - if ((temp_v1->unkA6 >= 2) && (temp_v1->unkD5 == 1) && (D_8018D120 < 0x2EF)) { - temp_a0 = temp_v1->unkA4; + sp2C = &camera1[cameraId]; + if (objectIndex != -1) { + temp_v1 = &D_80165C18[objectIndex]; + if ((temp_v1->unk_0A6 >= 2) && (temp_v1->unk_0D5 == 1) && (D_8018D120 < 0x2EF)) { + temp_a0 = temp_v1->unk_0A4; sp28 = temp_v1; - func_8004B1C8(temp_a0, temp_a0, temp_a0, 0, 0, 0, temp_v1->unkA0); - D_80183E80.unk2 = func_800418AC(temp_v1->unk4, temp_v1->unkC, sp2C); - func_800431B0(temp_v1 + 4, &D_80183E80, temp_v1->unk0, &D_0D005AE0); + func_8004B1C8((s32) temp_a0, (s32) temp_a0, (s32) temp_a0, 0, 0, 0, (s32) temp_v1->unk_0A0); + D_80183E80.unk2 = func_800418AC(temp_v1->unk_004[0], temp_v1->unk_004[2], sp2C->pos); + func_800431B0(temp_v1->unk_004, &D_80183E80, temp_v1->unk_000, &D_0D005AE0); } } } @@ -6957,56 +5852,48 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800540CC.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_80041980(? *, s32, ?); // extern -void func_8004477C(? *, ?, ?, void **); // extern -void func_8004B72C(?, ?, ?, ?, s32, s32, s32); // extern -void func_800540CC(s32, s32); // extern -extern Gfx D_0D007AE0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800540CC(s32, s32); /* extern */ +extern ? D_0D007AE0; extern s8 D_0D029458; extern f32 D_801635A4; extern s32 D_801636A0; -extern ? D_801636B0; +extern f32 D_801636B0; extern s32 D_801637AC; -extern s16 D_80183E80; +extern ? D_80183E80; extern s32 D_8018C3F0; extern ? D_8018C5F0; extern s32 D_8018C630; extern ? D_8018C830; - -void func_800541BC(s32 arg0) { - s32 sp3C; - s32 *temp_s0; - s32 *temp_s0_2; - void *temp_v1; - s32 *phi_s0; - s32 *phi_s0_2; +void func_800541BC(s32 cameraId) { + Camera *sp3C; + Gfx *temp_v1; + s32 *var_s0; + s32 *var_s0_2; temp_v1 = gDisplayListHead; - sp3C = (arg0 * 0xB8) + camera1; + sp3C = &camera1[cameraId]; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007AE0; - func_8004477C(&D_0D029458, 0x20, 0x20, &gDisplayListHead); - func_8004B72C(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF); + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) &D_0D007AE0; + func_8004477C(&D_0D029458, 0x00000020, 0x00000020); + func_8004B72C(0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF); D_80183E80.unk0 = 0; D_80183E80.unk4 = 0x8000; - if ((D_801636A0 != 0) && (func_80041980(&D_801635A4, sp3C, 0x4000) != 0)) { - phi_s0 = &D_8018C3F0; + if ((D_801636A0 != 0) && (func_80041980(&D_801635A4, sp3C, 0x4000U) != 0)) { + var_s0 = &D_8018C3F0; do { - func_800540CC(*phi_s0, arg0); - temp_s0 = phi_s0 + 4; - phi_s0 = temp_s0; - } while (temp_s0 != &D_8018C5F0); + func_800540CC(*var_s0, cameraId); + var_s0 += 4; + } while (var_s0 != &D_8018C5F0); } - if ((D_801637AC != 0) && (func_80041980(&D_801636B0, sp3C, 0x4000) != 0)) { - phi_s0_2 = &D_8018C630; + if ((D_801637AC != 0) && (func_80041980(&D_801636B0, sp3C, 0x4000U) != 0)) { + var_s0_2 = &D_8018C630; do { - func_800540CC(*phi_s0_2, arg0); - temp_s0_2 = phi_s0_2 + 4; - phi_s0_2 = temp_s0_2; - } while (temp_s0_2 != &D_8018C830); + func_800540CC(*var_s0_2, cameraId); + var_s0_2 += 4; + } while (var_s0_2 != &D_8018C830); } } #else @@ -7014,32 +5901,27 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800541BC.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_800431B0(void *, ? *, s32, ? *); // extern -void func_8004B1C8(s16, s16, s16, s16, s32, s32, s32); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern Vtx D_0D005AE0; -extern struct_80165C18_entry D_80165C18; extern s16 D_80183E80; -extern s32 D_8018D120; -void func_80054324(s32 arg0, s32 arg1) { - s32 sp2C; - void *sp28; +void func_80054324(s32 objectIndex, s32 cameraId) { + Camera *sp2C; + struct_80165C18_entry *sp28; s16 temp_a0; s16 temp_a3; - void *temp_v1; + struct_80165C18_entry *temp_v1; - sp2C = (arg1 * 0xB8) + camera1; - if (arg0 != -1) { - temp_v1 = (arg0 * 0xE0) + &D_80165C18; - if ((temp_v1->unkA6 >= 2) && (temp_v1->unkD5 == 6) && (D_8018D120 < 0x2EF)) { - temp_a0 = temp_v1->unkA4; - temp_a3 = temp_v1->unkA2; + sp2C = &camera1[cameraId]; + if (objectIndex != -1) { + temp_v1 = &D_80165C18[objectIndex]; + if ((temp_v1->unk_0A6 >= 2) && (temp_v1->unk_0D5 == 6) && (D_8018D120 < 0x2EF)) { + temp_a0 = temp_v1->unk_0A4; + temp_a3 = temp_v1->unk_0A2; sp28 = temp_v1; - func_8004B1C8(temp_a0, temp_a0, temp_a0, temp_a3, temp_a3, temp_a3, temp_v1->unkA0); - D_80183E80.unk2 = func_800418AC(temp_v1->unk4, temp_v1->unkC, sp2C); - func_800431B0(temp_v1 + 4, &D_80183E80, temp_v1->unk0, &D_0D005AE0); + func_8004B1C8((s32) temp_a0, (s32) temp_a0, (s32) temp_a0, (s32) temp_a3, (s32) temp_a3, (s32) temp_a3, (s32) temp_v1->unk_0A0); + D_80183E80.unk2 = func_800418AC(temp_v1->unk_004[0], temp_v1->unk_004[2], sp2C->pos); + func_800431B0(temp_v1->unk_004, &D_80183E80, temp_v1->unk_000, &D_0D005AE0); } } } @@ -7048,56 +5930,48 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80054324.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_80041980(? *, s32, ?); // extern -void func_8004477C(? *, ?, ?, void **); // extern -void func_8004B72C(?, ?, ?, ?, s32, s32, s32); // extern -void func_80054324(s32, s32); // extern -extern Gfx D_0D007AE0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80054324(s32, s32); /* extern */ +extern ? D_0D007AE0; extern s8 D_0D029458; -extern ? D_801637C4; +extern f32 D_801637C4; extern s32 D_801637E8; -extern ? D_801637F0; +extern f32 D_801637F0; extern s32 D_80163814; -extern s16 D_80183E80; +extern ? D_80183E80; extern s32 D_8018C3F0; extern ? D_8018C5F0; extern s32 D_8018C630; extern ? D_8018C830; - -void func_80054414(s32 arg0) { - s32 sp3C; - s32 *temp_s0; - s32 *temp_s0_2; - void *temp_v1; - s32 *phi_s0; - s32 *phi_s0_2; +void func_80054414(s32 cameraId) { + Camera *sp3C; + Gfx *temp_v1; + s32 *var_s0; + s32 *var_s0_2; temp_v1 = gDisplayListHead; - sp3C = (arg0 * 0xB8) + camera1; + sp3C = &camera1[cameraId]; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007AE0; - func_8004477C(&D_0D029458, 0x20, 0x20, &gDisplayListHead); - func_8004B72C(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF); + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) &D_0D007AE0; + func_8004477C(&D_0D029458, 0x00000020, 0x00000020); + func_8004B72C(0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF); D_80183E80.unk0 = 0; D_80183E80.unk4 = 0x8000; - if ((D_801637E8 != 0) && (func_80041980(&D_801637C4, sp3C, 0x4000) != 0)) { - phi_s0 = &D_8018C3F0; + if ((D_801637E8 != 0) && (func_80041980(&D_801637C4, sp3C, 0x4000U) != 0)) { + var_s0 = &D_8018C3F0; do { - func_80054324(*phi_s0, arg0); - temp_s0 = phi_s0 + 4; - phi_s0 = temp_s0; - } while (temp_s0 != &D_8018C5F0); + func_80054324(*var_s0, cameraId); + var_s0 += 4; + } while (var_s0 != &D_8018C5F0); } - if ((D_80163814 != 0) && (func_80041980(&D_801637F0, sp3C, 0x4000) != 0)) { - phi_s0_2 = &D_8018C630; + if ((D_80163814 != 0) && (func_80041980(&D_801637F0, sp3C, 0x4000U) != 0)) { + var_s0_2 = &D_8018C630; do { - func_80054324(*phi_s0_2, arg0); - temp_s0_2 = phi_s0_2 + 4; - phi_s0_2 = temp_s0_2; - } while (temp_s0_2 != &D_8018C830); + func_80054324(*var_s0_2, cameraId); + var_s0_2 += 4; + } while (var_s0_2 != &D_8018C830); } } #else @@ -7105,30 +5979,24 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80054414.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_800431B0(void *, ? *, s32, ? *); // extern -void func_8004B138(?, s16, ?, s16); // extern -void func_8004B72C(?, s16, ?, s16, s32, s32, s32); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern Vtx D_0D005AE0; -extern struct_80165C18_entry D_80165C18; extern s16 D_80183E80; -extern s32 D_8018D120; -void func_8005457C(s32 arg0, s32 arg1) { - s32 sp34; - void *temp_s0; +void func_8005457C(s32 objectIndex, s32 cameraId) { + Camera *sp34; + struct_80165C18_entry *temp_s0; - sp34 = (arg1 * 0xB8) + camera1; + sp34 = &camera1[cameraId]; if (D_8018D120 < 0x2EF) { - temp_s0 = (arg0 * 0xE0) + &D_80165C18; - if (temp_s0->unkD5 == 9) { - func_8004B72C(0xFF, temp_s0->unkA4, 0, temp_s0->unkA2, 0, 0, temp_s0->unkA0); + temp_s0 = &D_80165C18[objectIndex]; + if (temp_s0->unk_0D5 == 9) { + func_8004B72C(0x000000FF, (s32) temp_s0->unk_0A4, 0, (s32) temp_s0->unk_0A2, 0, 0, (s32) temp_s0->unk_0A0); } else { - func_8004B138(0xFF, temp_s0->unkA4, 0, temp_s0->unkA0); + func_8004B138(0x000000FF, (s32) temp_s0->unk_0A4, 0, (s32) temp_s0->unk_0A0); } - D_80183E80.unk2 = func_800418AC(temp_s0->unk4, temp_s0->unkC, sp34); - func_800431B0(temp_s0 + 4, &D_80183E80, temp_s0->unk0, &D_0D005AE0); + D_80183E80.unk2 = func_800418AC(temp_s0->unk_004[0], temp_s0->unk_004[2], sp34->pos); + func_800431B0(temp_s0->unk_004, &D_80183E80, temp_s0->unk_000, &D_0D005AE0); } } #else @@ -7136,42 +6004,35 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8005457C.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_8004477C(void *, ?, ?, void **); // extern -void func_8004B414(?, ?, ?, ?); // extern -void func_8005457C(s32, s32); // extern -extern Gfx D_0D007AE0; -extern s8 D_0D02BC58; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_8005457C(s32, s32); /* extern */ +extern ? D_0D007AE0; +extern ? D_0D02BC58; extern s32 D_80165598; -extern struct_80165C18_entry D_80165C18; -extern s16 D_80183E80; +extern ? D_80183E80; extern s32 D_8018C1B0; -extern UnkActorInner D_8018C3B0; - void func_80054664(s32 arg0) { - s32 *temp_s0; + Gfx *temp_v1; + s32 *var_s0; s32 temp_a0; - void *temp_v1; - s32 *phi_s0; temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007AE0; - func_8004477C((D_80165598 << 0xA) + &D_0D02BC58, 0x20, 0x20, &gDisplayListHead); - func_8004B414(0, 0, 0, 0xFF); + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) &D_0D007AE0; + func_8004477C((D_80165598 << 0xA) + &D_0D02BC58, 0x00000020, 0x00000020); + func_8004B414(0, 0, 0, 0x000000FF); D_80183E80.unk0 = 0; D_80183E80.unk4 = 0x8000; - phi_s0 = &D_8018C1B0; + var_s0 = &D_8018C1B0; do { - temp_a0 = *phi_s0; - if ((temp_a0 != -1) && ((&D_80165C18 + (temp_a0 * 0xE0))->unkA6 >= 3)) { + temp_a0 = *var_s0; + if ((temp_a0 != -1) && (D_80165C18[temp_a0].unk_0A6 >= 3)) { func_8005457C(temp_a0, arg0); } - temp_s0 = phi_s0 + 4; - phi_s0 = temp_s0; - } while (temp_s0 != &D_8018C3B0); + var_s0 += 4; + } while (var_s0 != &D_8018C3B0); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80054664.s") @@ -7218,166 +6079,140 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8005477C.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_8004477C(void *, ?, ?, void **); // extern -void func_8004B72C(?, ?, ?, ?, s32, s32, s32); // extern -void func_8005477C(s32, u8, s32); // extern -s32 func_8007223C(s32, ?); // extern -u32 func_8008A364(s32, s32, ?, ?); // extern -extern Gfx D_0D007AE0; -extern s8 D_0D02BC58; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_8005477C(s32, u8, Camera *); /* extern */ +extern ? D_0D007AE0; +extern ? D_0D02BC58; extern s32 D_80165598; -extern struct_80165C18_entry D_80165C18; -extern s16 D_80183E80; +extern ? D_80183E80; extern s32 D_8018C870; -extern s32 D_8018C970; +extern ? D_8018C970; - -void func_80054938(s32 arg0) { - s32 sp54; - s32 *temp_s2; +void func_80054938(s32 cameraId) { + Camera *sp54; + Gfx *temp_v1; + s32 *var_s2; s32 temp_s0; - void *temp_s1; - void *temp_v1; - s32 *phi_s2; + struct_80165C18_entry *temp_s1; temp_v1 = gDisplayListHead; - sp54 = (arg0 * 0xB8) + camera1; + sp54 = &camera1[cameraId]; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007AE0; - func_8004477C((D_80165598 << 0xA) + &D_0D02BC58, 0x20, 0x20, &gDisplayListHead); - func_8004B72C(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF); + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) &D_0D007AE0; + func_8004477C((D_80165598 << 0xA) + &D_0D02BC58, 0x00000020, 0x00000020); + func_8004B72C(0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF); D_80183E80.unk0 = 0; D_80183E80.unk4 = 0x8000; - phi_s2 = &D_8018C870; + var_s2 = &D_8018C870; do { - temp_s0 = *phi_s2; + temp_s0 = *var_s2; if (temp_s0 != -1) { - temp_s1 = &D_80165C18 + (temp_s0 * 0xE0); - if (temp_s1->unkA6 >= 2) { - if (temp_s1->unkD8 == 3) { - func_8008A364(temp_s0, arg0, 0x4000, 0x514); + temp_s1 = &D_80165C18[temp_s0]; + if (temp_s1->unk_0A6 >= 2) { + if ((u8) temp_s1->unk_0D8 == 3) { + func_8008A364(temp_s0, cameraId, 0x4000U, 0x00000514); } else { - func_8008A364(temp_s0, arg0, 0x4000, 0x1F4); + func_8008A364(temp_s0, cameraId, 0x4000U, 0x000001F4); } - if (func_8007223C(temp_s0, 0x40000) != 0) { - func_8005477C(temp_s0, temp_s1->unkD8, sp54); + if (func_8007223C(temp_s0, 0x00040000) != 0) { + func_8005477C(temp_s0, (u8) temp_s1->unk_0D8, sp54); } } } - temp_s2 = phi_s2 + 4; - phi_s2 = temp_s2; - } while (temp_s2 != &D_8018C970); + var_s2 += 4; + } while (var_s2 != &D_8018C970); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80054938.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -s16 func_800418E8(f32, f32, s32); // extern -void func_80042E00(void *, ? *, s32); // extern -void func_8004B138(s16, s16, s16, s16); // extern -extern Vtx D_0D005AE0; -extern Gfx D_0D006940; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern ? D_0D005AE0; extern s16 D_80183E80; +void func_80054AFC(s32 objectIndex, Vec3f arg1) { + Gfx *temp_v0; + Gfx *temp_v0_2; + struct_80165C18_entry *temp_s0; -void func_80054AFC(s32 arg0, s32 arg1) { - void *temp_s0; - void *temp_v0; - void *temp_v0_2; - - temp_s0 = (arg0 * 0xE0) + &D_80165C18; - D_80183E80.unk0 = func_800418E8(temp_s0->unkC, temp_s0->unk8, arg1); - D_80183E80.unk2 = func_800418AC(temp_s0->unk4, temp_s0->unkC, arg1); - D_80183E80.unk4 = temp_s0->unkB6; - func_8004B138(temp_s0->unk84, temp_s0->unk86, temp_s0->unk88, temp_s0->unkA0); - func_80042E00(temp_s0 + 4, &D_80183E80, temp_s0->unk0); + temp_s0 = &D_80165C18[objectIndex]; + D_80183E80.unk0 = func_800418E8(temp_s0->unk_004[2], temp_s0->unk_004[1], arg1); + D_80183E80.unk2 = func_800418AC(temp_s0->unk_004[0], temp_s0->unk_004[2], arg1); + D_80183E80.unk4 = (u16) temp_s0->unk_0B6; + func_8004B138((s32) temp_s0->unk_084[0], (s32) temp_s0->unk_084[1], (s32) temp_s0->unk_084[2], (s32) temp_s0->unk_0A0); + func_80042E00(temp_s0->unk_004, &D_80183E80, temp_s0->unk_000); temp_v0 = gDisplayListHead; gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x400103F; - temp_v0->unk4 = &D_0D005AE0; + temp_v0->words.w0 = 0x0400103F; + temp_v0->words.w1 = (u32) &D_0D005AE0; temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x6000000; - temp_v0_2->unk4 = &D_0D006940; + temp_v0_2->words.w0 = 0x06000000; + temp_v0_2->words.w1 = (u32) D_0D006940; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80054AFC.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800444B0(s32, ?, ?); // extern -void func_8004B35C(?, ?, ?, ?); // extern -void func_80054AFC(s32, s32); // extern -extern Gfx D_0D007AE0; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80054AFC(s32, Camera *); /* extern */ +extern ? D_0D007AE0; extern s16 D_80183E80; extern s32 D_8018C630; extern ? D_8018C830; -extern s32 D_8018D488; +extern s8 *D_8018D488; - -void func_80054BE8(s32 arg0) { - s32 *temp_s0; +void func_80054BE8(s32 cameraId) { + Camera *temp_s5; + Gfx *temp_v1; + s32 *var_s0; s32 temp_a0; - s32 temp_s5; - void *temp_v1; - s32 *phi_s0; temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007AE0; - temp_s5 = (arg0 * 0xB8) + camera1; - func_800444B0(D_8018D488, 0x20, 0x20); - func_8004B35C(0xFF, 0xFF, 0, 0xFF); + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) &D_0D007AE0; + temp_s5 = &camera1[cameraId]; + func_800444B0(D_8018D488, 0x00000020, 0x00000020); + func_8004B35C(0x000000FF, 0x000000FF, 0, 0x000000FF); D_80183E80 = 0; - phi_s0 = &D_8018C630; + var_s0 = &D_8018C630; do { - temp_a0 = *phi_s0; - if ((temp_a0 != -1) && ((&D_80165C18 + (temp_a0 * 0xE0))->unkA6 >= 2)) { + temp_a0 = *var_s0; + if ((temp_a0 != -1) && (D_80165C18[temp_a0].unk_0A6 >= 2)) { func_80054AFC(temp_a0, temp_s5); } - temp_s0 = phi_s0 + 4; - phi_s0 = temp_s0; - } while (temp_s0 != &D_8018C830); + var_s0 += 4; + } while (var_s0 != &D_8018C830); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80054BE8.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, ? *, s32); // extern -void func_80048130(void *, ? *, s32, s32, s32, ? *, s32, s32, s32, s32, s32); // extern -s32 func_8007223C(s32, ?); // extern -u32 func_8008A364(?, ?); // extern -extern Vtx D_0D0062B0; -extern struct_80165C18_entry D_80165C18; -extern s16 D_80183E80; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern ? D_0D0062B0; +extern ? D_80183E80; -void func_80054D00(s32 arg0, s32 arg1) { - s32 sp3C; - void *sp38; - void *temp_v1; +void func_80054D00(s32 objectIndex, s32 cameraId) { + Camera *sp3C; + struct_80165C18_entry *sp38; + struct_80165C18_entry *temp_v1; - temp_v1 = (arg0 * 0xE0) + &D_80165C18; - sp3C = (arg1 * 0xB8) + camera1; - if (temp_v1->unkA6 >= 3) { + temp_v1 = &D_80165C18[objectIndex]; + sp3C = &camera1[cameraId]; + if (temp_v1->unk_0A6 >= 3) { sp38 = temp_v1; - func_8008A364(0x2AAB, 0x12C); - if (func_8007223C(arg0, 0x40000) != 0) { + func_8008A364(objectIndex, cameraId, 0x2AABU, 0x0000012C); + if (func_8007223C(objectIndex, 0x00040000) != 0) { sp38 = temp_v1; - D_80183E80.unk0 = temp_v1->unkB2; - D_80183E80.unk2 = func_800418AC(temp_v1->unk4, temp_v1->unkC, &D_80183E80, sp3C); - D_80183E80.unk4 = temp_v1->unkB6; - func_80048130(temp_v1 + 4, &D_80183E80, temp_v1->unk0, temp_v1->unk60, temp_v1->unk64, &D_0D0062B0, 0x20, 0x40, 0x20, 0x40, 5); + D_80183E80.unk0 = (u16) temp_v1->unk_0B2; + D_80183E80.unk2 = func_800418AC(temp_v1->unk_004[0], temp_v1->unk_004[2], sp3C->pos); + D_80183E80.unk4 = (u16) temp_v1->unk_0B6; + func_80048130((s32) temp_v1->unk_004, (s32) &D_80183E80, temp_v1->unk_000, (s32) temp_v1->unk_060, (s32) temp_v1->unk_064, (s32) &D_0D0062B0, 0x00000020, 0x00000040, 0x00000020, 0x00000040, 5); } } } @@ -7386,29 +6221,25 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80054D00.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_8004A9B8(f32, ? *); // extern -s32 func_8007223C(?); // extern -extern f64 D_800EE080; -extern struct_80165C18_entry D_80165C18; -extern f32 D_80183E50; -extern Vec3f D_80183E70; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern ? D_80183E50; +extern ? D_80183E70; -void func_80054E10(s32 arg0) { - void *sp1C; - void *temp_v1; +void func_80054E10(s32 objectIndex) { + struct_80165C18_entry *sp1C; + struct_80165C18_entry *temp_v1; - temp_v1 = (arg0 * 0xE0) + &D_80165C18; - if (temp_v1->unkA6 > 0) { + temp_v1 = &D_80165C18[objectIndex]; + if (temp_v1->unk_0A6 > 0) { sp1C = temp_v1; - if (func_8007223C(0x800000) != 0) { - D_80183E50.unk0 = temp_v1->unk4; - D_80183E50.unk4 = temp_v1->unk44 + D_800EE080; - D_80183E50.unk8 = temp_v1->unkC; - D_80183E70.unk0 = temp_v1->unk38; - D_80183E70.unk4 = temp_v1->unk3C; - D_80183E70.unk8 = temp_v1->unk40; - func_8004A9B8(temp_v1->unk0, &D_80183E70); + if (func_8007223C(objectIndex, 0x00800000) != 0) { + D_80183E50.unk0 = (f32) temp_v1->unk_004[0]; + D_80183E50.unk4 = (f32) ((f64) temp_v1->unk_044 + 0.8); + D_80183E50.unk8 = (f32) temp_v1->unk_004[2]; + D_80183E70.unk0 = (f32) temp_v1->unk_038[0]; + D_80183E70.unk4 = (f32) temp_v1->unk_038[1]; + D_80183E70.unk8 = (f32) temp_v1->unk_038[2]; + func_8004A9B8(temp_v1->unk_000); } } } @@ -7438,102 +6269,83 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80054EB8.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_80043104(s32); // extern -void func_80043D50(? *, ?, ?); // extern -s32 func_8007223C(s32, ?); // extern -u32 func_8008A364(s32, s32, ?, ?); // extern -extern s32 D_06013670; -extern Gfx D_0D006980; -extern Gfx D_0D0079C8; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern s8 D_06013670; +extern ? D_0D006980; +extern ? D_0D0079C8; extern s32 D_8018C3F0; extern ? D_8018C5F0; -extern s32 D_8018D120; - -void func_80054F04(s32 arg0) { - s32 sp44; - s32 *temp_s2; +void func_80054F04(s32 cameraId) { + Camera *sp44; + Gfx *temp_v1; + Gfx *temp_v1_2; + Gfx *temp_v1_3; + s32 *var_s2; s32 temp_s0; - void *temp_s1; - void *temp_v1; - void *temp_v1_2; - void *temp_v1_3; - s32 *phi_s2; + struct_80165C18_entry *temp_s1; temp_v1 = gDisplayListHead; - sp44 = (arg0 * 0xB8) + camera1; + sp44 = &camera1[cameraId]; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D0079C8; - func_80043D50(&D_06013670, 0x10, 0x10); - phi_s2 = &D_8018C3F0; + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) &D_0D0079C8; + func_80043D50(&D_06013670, 0x00000010, 0x00000010); + var_s2 = &D_8018C3F0; do { - temp_s0 = *phi_s2; - temp_s1 = &D_80165C18 + (temp_s0 * 0xE0); - if (temp_s1->unkA6 > 0) { - func_8008A364(temp_s0, arg0, 0x2AAB, 0xC8); - if ((func_8007223C(temp_s0, 0x40000) != 0) && (D_8018D120 < 0x2EF)) { - temp_s1->unkB4 = func_800418AC(temp_s1->unk4, temp_s1->unkC, sp44); + temp_s0 = *var_s2; + temp_s1 = &D_80165C18[temp_s0]; + if (temp_s1->unk_0A6 > 0) { + func_8008A364(temp_s0, cameraId, 0x2AABU, 0x000000C8); + if ((func_8007223C(temp_s0, 0x00040000) != 0) && (D_8018D120 < 0x2EF)) { + temp_s1->unk_0B4 = func_800418AC(temp_s1->unk_004[0], temp_s1->unk_004[2], sp44->pos); func_80043104(temp_s0); temp_v1_2 = gDisplayListHead; gDisplayListHead = temp_v1_2 + 8; - temp_v1_2->unk4 = &D_0D006980; - temp_v1_2->unk0 = 0x6000000; + temp_v1_2->words.w1 = (u32) &D_0D006980; + temp_v1_2->words.w0 = 0x06000000; } } - temp_s2 = phi_s2 + 4; - phi_s2 = temp_s2; - } while (temp_s2 != &D_8018C5F0); + var_s2 += 4; + } while (var_s2 != &D_8018C5F0); temp_v1_3 = gDisplayListHead; gDisplayListHead = temp_v1_3 + 8; - temp_v1_3->unk0 = 0xBB000000; - temp_v1_3->unk4 = 0x10001; + temp_v1_3->words.w0 = 0xBB000000; + temp_v1_3->words.w1 = 0x00010001; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80054F04.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80054D00(s32, s32); // extern -void func_80054EB8(s32); // extern -void func_80054F04(s32); // extern -extern s32 D_80183EA0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80054D00(s32, s32); /* extern */ +? func_80054EB8(s32); /* extern */ +? func_80054F04(s32); /* extern */ extern ? D_80183EC0; -extern s32 D_80183F28; extern ? D_80183F54; -extern s32 D_8018BFA8; extern ? D_8018BFD8; void func_800550A4(s32 arg0) { - s32 *temp_s0; - s32 *temp_s0_2; - s32 *temp_s0_3; - s32 *phi_s0; - s32 *phi_s0_2; - s32 *phi_s0_3; + s32 *var_s0; + s32 *var_s0_2; + s32 *var_s0_3; - phi_s0 = &D_80183EA0; + var_s0 = D_80183EA0; do { - func_80054D00(*phi_s0, arg0); - temp_s0 = phi_s0 + 4; - phi_s0 = temp_s0; - } while (temp_s0 < &D_80183EC0); - phi_s0_2 = &D_80183F28; + func_80054D00(*var_s0, arg0); + var_s0 += 4; + } while ((u32) var_s0 < (u32) &D_80183EC0); + var_s0_2 = D_80183F28; do { - func_80054D00(*phi_s0_2, arg0); - temp_s0_2 = phi_s0_2 + 4; - phi_s0_2 = temp_s0_2; - } while (temp_s0_2 < &D_80183F54); - phi_s0_3 = &D_8018BFA8; + func_80054D00(*var_s0_2, arg0); + var_s0_2 += 4; + } while ((u32) var_s0_2 < (u32) &D_80183F54); + var_s0_3 = D_8018BFA8; do { - func_80054D00(*phi_s0_3, arg0); - temp_s0_3 = phi_s0_3 + 4; - phi_s0_3 = temp_s0_3; - } while (temp_s0_3 != &D_8018BFD8); + func_80054D00(*var_s0_3, arg0); + var_s0_3 += 4; + } while (var_s0_3 != &D_8018BFD8); func_80054EB8(arg0); func_80054F04(arg0); } @@ -7542,34 +6354,28 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800550A4.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_80004DFC(s32, s32, ?, s16); // extern -void func_80042E00(void *, void *, s32, void *); // extern -extern Gfx D_0D0077A0; -extern u16 D_800DC5FC; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +s16 func_80004DFC(s32, s32, ?, s16); /* extern */ +void func_80055164(s32 objectIndex) { + struct_80165C18_entry *sp18; + Gfx *temp_a3; + struct_80165C18_entry *temp_v1; -void func_80055164(s32 arg0) { - void *sp18; - void *temp_a3; - void *temp_v1; - - temp_v1 = (arg0 * 0xE0) + &D_80165C18; - if (temp_v1->unkA6 >= 2) { + temp_v1 = &D_80165C18[objectIndex]; + if (temp_v1->unk_0A6 >= 2) { temp_a3 = gDisplayListHead; gDisplayListHead = temp_a3 + 8; - temp_a3->unk0 = 0x6000000; - temp_a3->unk4 = &D_0D0077A0; + temp_a3->words.w0 = 0x06000000; + temp_a3->words.w1 = (u32) D_0D0077A0; sp18 = temp_v1; - func_80042E00(temp_v1 + 4, temp_v1 + 0xBE, temp_v1->unk0, temp_a3); + func_80042E00(temp_v1->unk_004, (s16 *) temp_v1->unk_0BE, temp_v1->unk_000); if (D_800DC5FC == 0) { sp18 = temp_v1; - temp_v1->unkA2 = func_80004DFC(temp_v1->unk70, temp_v1->unk74, 0, temp_v1->unkA2); + temp_v1->unk_0A2 = func_80004DFC(temp_v1->unk_070, temp_v1->unk_074, 0, temp_v1->unk_0A2); return; } - func_80004DFC(temp_v1->unk70, temp_v1->unk74, 0, temp_v1->unkA2); - // Duplicate return node #4. Try simplifying control flow for better match + func_80004DFC(temp_v1->unk_070, temp_v1->unk_074, 0, temp_v1->unk_0A2); } } #else @@ -7577,62 +6383,51 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80055164.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80055164(s32); // extern -s32 func_8007223C(s32, ?); // extern -u32 func_8008A364(s32, s32, ?, ?); // extern -extern s32 D_80183EA0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80055164(s32); /* extern */ extern ? D_80183EB0; void func_80055228(s32 arg0) { - s32 *temp_s1; + s32 *var_s1; s32 temp_s0; - s32 *phi_s1; - phi_s1 = &D_80183EA0; + var_s1 = D_80183EA0; do { - temp_s0 = *phi_s1; - func_8008A364(temp_s0, arg0, 0x4000, 0x5DC); - if (func_8007223C(temp_s0, 0x40000) != 0) { + temp_s0 = *var_s1; + func_8008A364(temp_s0, arg0, 0x4000U, 0x000005DC); + if (func_8007223C(temp_s0, 0x00040000) != 0) { func_80055164(temp_s0); } - temp_s1 = phi_s1 + 4; - phi_s1 = temp_s1; - } while (temp_s1 != &D_80183EB0); + var_s1 += 4; + } while (var_s1 != &D_80183EB0); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80055228.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_80004DFC(s32, s32, ?, s16); // extern -void func_80042E00(void *, void *, s32); // extern -extern Gfx D_0D0077D0; -extern u16 D_800DC5FC; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +s16 func_80004DFC(s32, s32, ?, s16); /* extern */ +void func_800552BC(s32 objectIndex) { + struct_80165C18_entry *sp18; + Gfx *temp_a0; + struct_80165C18_entry *temp_v1; -void func_800552BC(s32 arg0) { - void *sp18; - void *temp_a0; - void *temp_v1; - - temp_v1 = (arg0 * 0xE0) + &D_80165C18; - if (temp_v1->unkA6 >= 2) { + temp_v1 = &D_80165C18[objectIndex]; + if (temp_v1->unk_0A6 >= 2) { sp18 = temp_v1; - func_80042E00(temp_v1 + 4, temp_v1 + 0xBE, temp_v1->unk0); + func_80042E00(temp_v1->unk_004, (s16 *) temp_v1->unk_0BE, temp_v1->unk_000); temp_a0 = gDisplayListHead; gDisplayListHead = temp_a0 + 8; - temp_a0->unk0 = 0x6000000; - temp_a0->unk4 = &D_0D0077D0; + temp_a0->words.w0 = 0x06000000; + temp_a0->words.w1 = (u32) D_0D0077D0; if (D_800DC5FC == 0) { sp18 = temp_v1; - temp_v1->unkA2 = func_80004DFC(temp_v1->unk70, temp_v1->unk74, 0, temp_v1->unkA2); + temp_v1->unk_0A2 = func_80004DFC(temp_v1->unk_070, temp_v1->unk_074, 0, temp_v1->unk_0A2); return; } - func_80004DFC(temp_v1->unk70, temp_v1->unk74, 0, temp_v1->unkA2); - // Duplicate return node #4. Try simplifying control flow for better match + func_80004DFC(temp_v1->unk_070, temp_v1->unk_074, 0, temp_v1->unk_0A2); } } #else @@ -7640,212 +6435,135 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800552BC.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800552BC(s32); // extern -s32 func_8007223C(s32, ?); // extern -void func_800722A4(s32, ?); // extern -s32 func_8008A364(s32, s32, ?, ?); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800552BC(s32); /* extern */ extern s8 D_80165908; -extern s32 D_80183F28; extern ? D_80183F50; void func_80055380(s32 arg0) { - s32 *temp_s1; + s32 *var_s1; s32 temp_s0; - s32 *phi_s1; - phi_s1 = &D_80183F28; + var_s1 = D_80183F28; do { - temp_s0 = *phi_s1; - if (func_8008A364(temp_s0, arg0, 0x5555, 0x5DC) < 0x9C401) { + temp_s0 = *var_s1; + if (func_8008A364(temp_s0, arg0, 0x5555U, 0x000005DC) < 0x9C401) { D_80165908 = 1; func_800722A4(temp_s0, 2); } - if (func_8007223C(temp_s0, 0x40000) != 0) { + if (func_8007223C(temp_s0, 0x00040000) != 0) { func_800552BC(temp_s0); } - temp_s1 = phi_s1 + 4; - phi_s1 = temp_s1; - } while (temp_s1 != &D_80183F50); + var_s1 += 4; + } while (var_s1 != &D_80183F50); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80055380.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_800480B4(void *, void *, s32, s32, s32, ? *, s32, s32, s32, s32); // extern -void func_8004A6EC(?); // extern -extern Vtx D_0D0060B0; -extern struct_80165C18_entry D_80165C18; +void func_80055458(s32 objectIndex, s32 cameraId) { + Camera *camera; -void func_80055458(s32 arg0, s32 arg1) { - s32 sp34; - void *sp30; - void *temp_v1; - - temp_v1 = (arg0 * 0xE0) + &D_80165C18; - if (temp_v1->unkA6 >= 2) { - sp34 = (arg1 * 0xB8) + camera1; - sp30 = temp_v1; - func_8004A6EC(0x3F000000); - temp_v1->unkB4 = func_800418AC(temp_v1->unk4, temp_v1->unkC, sp34); - func_800480B4(temp_v1 + 4, temp_v1 + 0xB2, temp_v1->unk0, temp_v1->unk60, temp_v1->unk64, &D_0D0060B0, 0x40, 0x40, 0x40, 0x20); + if (D_80165C18[objectIndex].unk_0A6 >= 2) { + camera = &camera1[cameraId]; + func_8004A6EC(objectIndex, 0.5f); + D_80165C18[objectIndex].unk_0B2[1] = func_800418AC(D_80165C18[objectIndex].unk_004[0], D_80165C18[objectIndex].unk_004[2], camera->pos); + func_800480B4(D_80165C18[objectIndex].unk_004, D_80165C18[objectIndex].unk_0B2, D_80165C18[objectIndex].unk_000, (s32) D_80165C18[objectIndex].unk_060, (s32) D_80165C18[objectIndex].unk_064, D_0D0060B0, 0x00000040, 0x00000040, 0x00000040, 0x00000020); } } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80055458.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80055458(s32, s32); // extern -s32 func_8007223C(s32, ?); // extern -u32 func_8008A364(s32, s32, ?, ?); // extern -extern s32 D_80183EA0; -extern ? D_80183EC8; void func_80055528(s32 arg0) { - s32 *temp_s1; - s32 temp_s0; - s32 *phi_s1; + s32 someIndex; + s32 test; - phi_s1 = &D_80183EA0; - do { - temp_s0 = *phi_s1; - func_8008A364(temp_s0, arg0, 0x2AAB, 0x320); - if (func_8007223C(temp_s0, 0x40000) != 0) { - func_80055458(temp_s0, arg0); + for (someIndex = 0; someIndex < 10; someIndex++) { + test = D_80183EA0[someIndex]; + func_8008A364(test, arg0, 0x2AABU, 0x00000320); + if (func_8007223C(test, 0x00040000) != 0) { + func_80055458(test, arg0); } - temp_s1 = phi_s1 + 4; - phi_s1 = temp_s1; - } while (temp_s1 != &D_80183EC8); -} -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80055528.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_800480B4(void *, void *, s32, s32, s32, s32, s32, s32, s32, s32); // extern -void func_8004A870(?); // extern -extern struct_80165C18_entry D_80165C18; - -void func_800555BC(s32 arg0, s32 arg1) { - s32 sp34; - void *sp30; - void *temp_v1; - - temp_v1 = (arg0 * 0xE0) + &D_80165C18; - if (temp_v1->unkA6 >= 2) { - sp34 = (arg1 * 0xB8) + camera1; - sp30 = temp_v1; - func_8004A870(0x3F333333); - temp_v1->unkB4 = func_800418AC(temp_v1->unk4, temp_v1->unkC, sp34); - func_800480B4(temp_v1 + 4, temp_v1 + 0xB2, temp_v1->unk0, temp_v1->unk60, temp_v1->unk64, temp_v1->unk74, 0x40, 0x40, 0x40, 0x20); } } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800555BC.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800555BC(s32, s32); // extern -void func_800721C0(s32, ?); // extern -void func_800721E8(s32, ?); // extern -s32 func_8007223C(s32, ?); // extern -u32 func_8008A364(s32, s32, ?, ?); // extern -extern s32 D_80183F28; -extern ? D_80183F64; +void func_800555BC(s32 objectIndex, s32 cameraId) { + Camera *camera; + + if (D_80165C18[objectIndex].unk_0A6 >= 2) { + camera = &camera1[cameraId]; + func_8004A870(objectIndex, 0.7f); + D_80165C18[objectIndex].unk_0B2[1] = func_800418AC(D_80165C18[objectIndex].unk_004[0], D_80165C18[objectIndex].unk_004[2], camera->pos); + func_800480B4(D_80165C18[objectIndex].unk_004, D_80165C18[objectIndex].unk_0B2, D_80165C18[objectIndex].unk_000, (s32) D_80165C18[objectIndex].unk_060, (s32) D_80165C18[objectIndex].unk_064, (Vtx *) D_80165C18[objectIndex].unk_074, 0x00000040, 0x00000040, 0x00000040, 0x00000020); + } +} void func_8005568C(s32 arg0) { - s32 *temp_s2; - s32 temp_s0; - u32 temp_s1; - s32 *phi_s2; + s32 test; + u32 something; + s32 someIndex; - phi_s2 = &D_80183F28; - do { - temp_s0 = *phi_s2; - temp_s1 = func_8008A364(temp_s0, arg0, 0x4000, 0x3E8); - if (func_8007223C(temp_s0, 0x40000) != 0) { - func_800721C0(temp_s0, 0x200000); - if (temp_s1 < 0x2711) { - func_800721C0(temp_s0, 0x20); + for (someIndex = 0; someIndex < 15; someIndex++) { + test = D_80183F28[someIndex]; + something = func_8008A364(test, arg0, 0x4000U, 0x000003E8); + if (func_8007223C(test, 0x00040000) != 0) { + func_800721C0(test, 0x00200000); + if (something < 0x2711U) { + func_800721C0(test, 0x00000020); } else { - func_800721E8(temp_s0, 0x20); + func_800721E8(test, 0x00000020); } - if (temp_s1 < 0x57E41) { - func_800721C0(temp_s0, 0x400000); + if (something < 0x57E41U) { + func_800721C0(test, 0x00400000); } - if (temp_s1 < 0x52211) { - func_800555BC(temp_s0, arg0); + if (something < 0x52211U) { + func_800555BC(test, arg0); } } - temp_s2 = phi_s2 + 4; - phi_s2 = temp_s2; - } while (temp_s2 != &D_80183F64); + } } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8005568C.s") -#endif UNUSED void func_800557AC() { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_80004DFC(s32, s32, u8, s8); // extern -void func_80042E00(void *, void *, s32); // extern -void func_80042F70(f32 *, void *, s32); // extern -void func_8004A7AC(s32, ?); // extern -s32 func_8007223C(?); // extern -s32 func_80072320(s32, ?); // extern -extern Gfx D_0D0077D0; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80004DFC(s32, s32, u8, s8); /* extern */ - -void func_800557B4(s32 arg0, u32 arg1, u32 arg2) { +void func_800557B4(s32 objectIndex, u32 arg1, u32 arg2) { f32 sp3C; f32 sp38; f32 sp34; - ? *sp20; - f32 *temp_a0; - void *temp_s0; - void *temp_v1; - void *temp_v1_2; + Gfx *sp20; + Gfx *temp_v1; + Gfx *temp_v1_2; + struct_80165C18_entry *temp_s0; - temp_s0 = (arg0 * 0xE0) + &D_80165C18; - if (temp_s0->unkA6 >= 2) { - if (func_8007223C(0x20) != 0) { - if (func_80072320(arg0, 4) != 0) { - temp_a0 = &sp34; + temp_s0 = &D_80165C18[objectIndex]; + if (temp_s0->unk_0A6 >= 2) { + if (func_8007223C(objectIndex, 0x00000020) != 0) { + if (func_80072320(objectIndex, 4) != 0) { if (arg2 >= arg1) { - sp34 = temp_s0->unk4; - sp3C = temp_s0->unkC; - sp38 = temp_s0->unk8 - 1.0; - func_80042F70(temp_a0, temp_s0 + 0xB2, temp_s0->unk0); + sp34 = temp_s0->unk_004[0]; + sp3C = temp_s0->unk_004[2]; + sp38 = (f32) ((f64) temp_s0->unk_004[1] - 1.0); + func_80042F70(&sp34, &temp_s0->unk_0B2, temp_s0->unk_000); temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D0077D0; - func_80004DFC(temp_s0->unk70, temp_s0->unk74, temp_s0->unkD8, temp_s0->unkD2); + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D0077D0; + func_80004DFC(temp_s0->unk_070, temp_s0->unk_074, (u8) temp_s0->unk_0D8, temp_s0->unk_0D2); } - } else if (arg1 < 0x15F91) { - func_8004A7AC(arg0, 0x3FC00000); + } else if (arg1 < 0x15F91U) { + func_8004A7AC(objectIndex, 1.5f); } } - sp20 = &D_0D0077D0; - func_80042E00(temp_s0 + 4, temp_s0 + 0xB2, temp_s0->unk0); + sp20 = D_0D0077D0; + func_80042E00(temp_s0->unk_004, (s16 *) &temp_s0->unk_0B2, temp_s0->unk_000); temp_v1_2 = gDisplayListHead; gDisplayListHead = temp_v1_2 + 8; - temp_v1_2->unk0 = 0x6000000; - temp_v1_2->unk4 = sp20; - func_80004DFC(temp_s0->unk70, temp_s0->unk74, temp_s0->unkD8, temp_s0->unkD2); + temp_v1_2->words.w0 = 0x06000000; + temp_v1_2->words.w1 = (u32) sp20; + func_80004DFC(temp_s0->unk_070, temp_s0->unk_074, (u8) temp_s0->unk_0D8, temp_s0->unk_0D2); } } #else @@ -7853,119 +6571,103 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800557B4.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800557B4(s32, s32, ?); // extern -s32 func_8007223C(s32, ?); // extern -s32 func_80072320(s32, ?); // extern -s32 func_8008A364(s32, s32, s32, ?); // extern -extern struct_80165C18_entry D_80165C18; -extern s32 D_80183EA0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800557B4(s32, u32, ?); /* extern */ extern ? D_80183EDC; void func_8005592C(s32 arg0) { - s32 *temp_s2; + ? var_s3; + s32 *var_s2; s32 temp_s0; - s32 temp_s1; s32 temp_v0; - s32 *phi_s2; - s32 phi_s1; - ? phi_a3; - ? phi_s3; + s32 var_a3; + s32 var_s1; + u32 temp_s1; temp_v0 = gPlayerCountSelection1; if (temp_v0 == 1) { - phi_s3 = 0x3D090; + var_s3 = 0x3D090; } else if (temp_v0 == 2) { - phi_s3 = 0x27100; + var_s3 = 0x27100; } else { - phi_s3 = 0x15F90; + var_s3 = 0x15F90; } - phi_s2 = &D_80183EA0; + var_s2 = D_80183EA0; do { - temp_s0 = *phi_s2; - if ((&D_80165C18 + (temp_s0 * 0xE0))->unkA6 >= 2) { + temp_s0 = *var_s2; + if (D_80165C18[temp_s0].unk_0A6 >= 2) { if (gPlayerCountSelection1 == 1) { - if (phi_s2 == &D_80183EA0) { - phi_s1 = 0x4000; - phi_a3 = 0x5DC; + var_s1 = 0x4000; + if (var_s2 == D_80183EA0) { + var_a3 = 0x000005DC; } else if (func_80072320(temp_s0, 8) != 0) { - phi_s1 = 0x4000; - phi_a3 = 0x320; + var_a3 = 0x00000320; } else { - phi_s1 = 0x4000; - phi_a3 = 0x3E8; + var_a3 = 0x000003E8; } } else { - phi_a3 = 0x258; + var_a3 = 0x00000258; if (func_80072320(temp_s0, 8) != 0) { - phi_s1 = 0x4000; - phi_a3 = 0x1F4; + var_a3 = 0x000001F4; + var_s1 = 0x4000; } else { - phi_s1 = 0x5555; + var_s1 = 0x5555; } } - temp_s1 = func_8008A364(temp_s0, arg0, phi_s1 & 0xFFFF, phi_a3); - if (func_8007223C(temp_s0, 0x40000) != 0) { - func_800557B4(temp_s0, temp_s1, phi_s3); + temp_s1 = func_8008A364(temp_s0, arg0, var_s1 & 0xFFFF, var_a3); + if (func_8007223C(temp_s0, 0x00040000) != 0) { + func_800557B4(temp_s0, temp_s1, var_s3); } } - temp_s2 = phi_s2 + 4; - phi_s2 = temp_s2; - } while (temp_s2 != &D_80183EDC); + var_s2 += 4; + } while (var_s2 != &D_80183EDC); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8005592C.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_80004DFC(s32, s32, ?, s8); // extern -s16 func_800418AC(f32, f32, ? *, ? *, s32); // extern -void func_80042E00(void *, void *, s32); // extern -void func_800468E0(? *, ? *, ?, ? *, ? *, s32, s32, s32, s32, s32); // extern -s32 func_8007223C(?, s32); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80004DFC(s32, s32, ?, s8); /* extern */ extern ? D_06012028; -extern Vtx D_0D0062B0; -extern Gfx D_0D0077D0; -extern struct_80165C18_entry D_80165C18; +extern ? D_0D0062B0; +extern ? D_0D0077D0; extern f32 D_80183E40; extern s16 D_80183E80; - -void func_80055AB8(s32 arg0, s32 arg1) { - s32 sp3C; - void *sp34; +void func_80055AB8(s32 objectIndex, s32 cameraId) { + Camera *sp3C; + struct_80165C18_entry *sp34; + Camera *temp_a2; + Gfx *temp_t0; f32 temp_f12; f32 temp_f14; - s32 temp_a2; - void *temp_t0; - void *temp_v1; + struct_80165C18_entry *temp_v1; - temp_v1 = (arg0 * 0xE0) + &D_80165C18; - temp_a2 = (arg1 * 0xB8) + camera1; - if (temp_v1->unkA6 >= 2) { + temp_v1 = &D_80165C18[objectIndex]; + temp_a2 = &camera1[cameraId]; + if (temp_v1->unk_0A6 >= 2) { sp34 = temp_v1; sp3C = temp_a2; - if (func_8007223C(0x100000, temp_a2) != 0) { - temp_f12 = temp_v1->unk4; - temp_f14 = temp_v1->unkC; + if (func_8007223C(objectIndex, 0x00100000) != 0) { + temp_f12 = temp_v1->unk_004[0]; + temp_f14 = temp_v1->unk_004[2]; D_80183E80.unk0 = 0; - D_80183E40.unk4 = temp_v1->unk8 + 16.0; + D_80183E40.unk4 = (f32) ((f64) temp_v1->unk_004[1] + 16.0); D_80183E40.unk0 = temp_f12; D_80183E40.unk8 = temp_f14; - D_80183E80.unk2 = func_800418AC(temp_f12, temp_f14, &D_80183E40, &D_80183E80, temp_a2); + D_80183E80.unk2 = func_800418AC(temp_f12, temp_f14, temp_a2->pos); D_80183E80.unk4 = 0x8000; - func_800468E0(&D_80183E40, &D_80183E80, 0x3F0A3D71, &D_06012028, &D_0D0062B0, 0x20, 0x40, 0x20, 0x40, 5); + func_800468E0(&D_80183E40, &D_80183E80, 0.54f, (s32) &D_06012028, (s32) &D_0D0062B0, 0x00000020, 0x00000040, 0x00000020, 0x00000040, 5); return; } sp34 = temp_v1; - func_80042E00(temp_v1 + 4, temp_v1 + 0xBE, temp_v1->unk0); + func_80042E00(temp_v1->unk_004, (s16 *) temp_v1->unk_0BE, temp_v1->unk_000); temp_t0 = gDisplayListHead; gDisplayListHead = temp_t0 + 8; - temp_t0->unk0 = 0x6000000; - temp_t0->unk4 = &D_0D0077D0; - func_80004DFC(temp_v1->unk70, temp_v1->unk74, 0, temp_v1->unkD2); - // Duplicate return node #4. Try simplifying control flow for better match + temp_t0->words.w0 = 0x06000000; + temp_t0->words.w1 = (u32) &D_0D0077D0; + func_80004DFC(temp_v1->unk_070, temp_v1->unk_074, 0, temp_v1->unk_0D2); } } #else @@ -7973,36 +6675,30 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80055AB8.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80055AB8(s32, s32); // extern -s32 func_8007223C(s32, ?); // extern -void func_8008A1D0(s32, s32, ?, ?); // extern -extern s32 D_80183F28; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_80055AB8(s32, s32); /* extern */ extern ? D_80183F34; void func_80055C38(s32 arg0) { - s32 *temp_s1; + s32 *var_s1; s32 temp_s0; - s32 *phi_s1; - phi_s1 = &D_80183F28; + var_s1 = D_80183F28; do { - temp_s0 = *phi_s1; - func_8008A1D0(temp_s0, arg0, 0x5DC, 0x9C4); - if (func_8007223C(temp_s0, 0x40000) != 0) { + temp_s0 = *var_s1; + func_8008A1D0(temp_s0, arg0, 0x000005DC, 0x000009C4); + if (func_8007223C(temp_s0, 0x00040000) != 0) { func_80055AB8(temp_s0, arg0); } - temp_s1 = phi_s1 + 4; - phi_s1 = temp_s1; - } while (temp_s1 != &D_80183F34); + var_s1 += 4; + } while (var_s1 != &D_80183F34); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80055C38.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b -? func_8004A6EC(s32, f32); /* extern */ +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern ? D_0600F650; extern Gfx D_0600F960; extern ? D_0600FA20; @@ -8077,26 +6773,13 @@ void func_80055EF4(s32 objectIndex, s32 arg1) { } } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80055EF4(s32, s32); // extern -extern s32 D_80183EA0; -extern s32 D_80183EAC; - void func_80055F48(s32 arg0) { - s32 *temp_s0; - s32 *phi_s0; + s32 someIndex; - phi_s0 = &D_80183EA0; - do { - func_80055EF4(*phi_s0, arg0); - temp_s0 = phi_s0 + 4; - phi_s0 = temp_s0; - } while (temp_s0 != &D_80183EAC); + for (someIndex = 0; someIndex < 3; someIndex++) { + func_80055EF4(D_80183EA0[someIndex], arg0); + } } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80055F48.s") -#endif void func_80055FA0(s32 objectIndex, s32 arg1) { Mat4 someMatrix1; @@ -8124,68 +6807,62 @@ void func_80056160(s32 arg0) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800480B4(void *, void *, s32, s32, s32, ? *, s32, s32, s32, s32); // extern -s32 func_80072270(s32, ?); // extern -s16 func_800872D8(s32, s32); // extern -s32 func_8008A140(s32, s32, ?); // extern -extern Vtx D_0D0060B0; -extern struct_80165C18_entry D_80165C18; -extern s32 D_80183EA0; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern ? D_80183EC8; -extern s8 D_8018E838; +extern ? D_8018E838; -void func_80056188(s32 arg0) { - s32 *temp_s2; +void func_80056188(s32 cameraId) { + Camera *temp_s3; + s32 *var_s2; s32 temp_s1; - s32 temp_s3; - void *temp_s0; - s32 *phi_s2; + struct_80165C18_entry *temp_s0; - temp_s3 = (arg0 * 0xB8) + camera1; - phi_s2 = &D_80183EA0; + var_s2 = D_80183EA0; + temp_s3 = &camera1[cameraId]; do { - temp_s1 = *phi_s2; - if (*(arg0 + &D_8018E838) == 0) { - temp_s0 = &D_80165C18 + (temp_s1 * 0xE0); - if ((temp_s0->unkA6 >= 2) && (func_80072270(temp_s1, 0x80000) != 0) && (func_8008A140(temp_s1, temp_s3, 0x2AAB) != 0)) { - temp_s0->unkB4 = func_800872D8(temp_s1, temp_s3); - func_800480B4(temp_s0 + 4, temp_s0 + 0xB2, temp_s0->unk0, temp_s0->unk60, temp_s0->unk64, &D_0D0060B0, 0x40, 0x40, 0x40, 0x20); + temp_s1 = *var_s2; + if (*(cameraId + &D_8018E838) == 0) { + temp_s0 = &D_80165C18[temp_s1]; + if ((temp_s0->unk_0A6 >= 2) && (func_80072270(temp_s1, 0x00080000) != 0) && (func_8008A140(temp_s1, temp_s3, 0x2AABU) != 0)) { + temp_s0->unk_0B4 = func_800872D8(temp_s1, temp_s3); + func_800480B4(temp_s0->unk_004, &temp_s0->unk_0B2, temp_s0->unk_000, (s32) temp_s0->unk_060, (s32) temp_s0->unk_064, D_0D0060B0, 0x00000040, 0x00000040, 0x00000040, 0x00000020); } } - temp_s2 = phi_s2 + 4; - phi_s2 = temp_s2; - } while (temp_s2 != &D_80183EC8); + var_s2 += 4; + } while (var_s2 != &D_80183EC8); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80056188.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80042E00(? *, ? *, ?); // extern -void func_80044BF8(void *, ?, ?); // extern -void func_8004B138(s32, s32, s32, ?); // extern -extern Vtx D_0D005AE0; -extern Gfx D_0D006940; -extern s8 D_0D02AC58; -extern ? D_800E46F8; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +struct _struct_D_800E46F8_0xC { + /* 0x0 */ s32 unk0; /* inferred */ + /* 0x4 */ s32 unk4; /* inferred */ + /* 0x8 */ s32 unk8; /* inferred */ +}; /* size = 0xC */ + extern s32 D_80165860; extern s32 D_8016586C; extern s32 D_80165878; extern f32 D_80183E40; extern s16 D_80183E80; +static struct _struct_D_800E46F8_0xC D_800E46F8[3] = { + { 0x000000FF, 0x000000FF, 0x000000FF }, + { 0x000000FF, 0x000000FF, 0 }, + { 0x000000FF, 0, 0 }, +}; - -void func_800562E4(s32 arg0, s32 arg1, ? arg2) { +void func_800562E4(s32 arg0, s32 arg1, s32 arg2) { + Gfx *temp_v0_2; + Gfx *temp_v0_3; s32 temp_a0; s32 temp_a1; s32 temp_a2; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; + struct _struct_D_800E46F8_0xC *temp_v0; - temp_v0 = (arg0 * 0xC) + &D_800E46F8; + temp_v0 = &D_800E46F8[arg0]; temp_a0 = temp_v0->unk0; temp_a1 = temp_v0->unk4; temp_a2 = temp_v0->unk8; @@ -8193,78 +6870,66 @@ void func_800562E4(s32 arg0, s32 arg1, ? arg2) { D_8016586C = temp_a1; D_80165878 = temp_a2; func_8004B138(temp_a0, temp_a1, temp_a2, arg2); - func_80042E00(&D_80183E40, &D_80183E80, 0x3E4CCCCD); - func_80044BF8((arg1 << 0xA) + &D_0D02AC58, 0x20, 0x20); + func_80042E00(&D_80183E40, &D_80183E80, 0.2f); + func_80044BF8((arg1 << 0xA) + D_0D02AC58, 0x00000020, 0x00000020); temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x400103F; - temp_v0_2->unk4 = &D_0D005AE0; + temp_v0_2->words.w0 = 0x0400103F; + temp_v0_2->words.w1 = (u32) D_0D005AE0; temp_v0_3 = gDisplayListHead; gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x6000000; - temp_v0_3->unk4 = &D_0D006940; + temp_v0_3->words.w0 = 0x06000000; + temp_v0_3->words.w1 = (u32) D_0D006940; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800562E4.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_80042E00(? *, ? *, ?); // extern -void func_80047270(? *, void *, ? *, ?, s32, s32, s32); // extern -void func_8004B310(?); // extern -void func_8004B414(?, ?, ?, ?); // extern -void func_800562E4(s32, s32, ?); // extern -extern Vtx D_0D005AE0; -extern Gfx D_0D007B00; -extern Gfx D_0D007E98; -extern s8 D_0D029858; -extern s8 D_0D02A858; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800562E4(s32, s32, s32); /* extern */ extern s32 D_801655CC; -extern struct_80165C18_entry D_80165C18; extern f32 D_80183E40; extern s16 D_80183E80; extern s32 D_8018D400; - -void func_800563DC(s32 arg0, s32 arg1, ? arg2) { +void func_800563DC(s32 objectIndex, s32 cameraId, s32 arg2) { + Gfx *temp_v0_2; + Gfx *temp_v0_3; + Gfx *temp_v0_6; f32 temp_f12; f32 temp_f14; s32 temp_s0; s32 temp_s0_2; s32 temp_v0_4; s32 temp_v0_5; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_6; + struct_80165C18_entry *temp_v0; - temp_v0 = (arg0 * 0xE0) + &D_80165C18; - temp_f12 = temp_v0->unk4; - temp_f14 = temp_v0->unkC; + temp_v0 = &D_80165C18[objectIndex]; + temp_f12 = temp_v0->unk_004[0]; + temp_f14 = temp_v0->unk_004[2]; temp_s0 = D_801655CC & 3; - D_80183E40.unk4 = temp_v0->unk8 + 1.0; + D_80183E40.unk4 = (f32) ((f64) temp_v0->unk_004[1] + 1.0); D_80183E80.unk0 = 0; D_80183E40.unk0 = temp_f12; D_80183E40.unk8 = temp_f14; - D_80183E80.unk2 = func_800418AC(temp_f12, temp_f14, (arg1 * 0xB8) + camera1); + D_80183E80.unk2 = func_800418AC(temp_f12, temp_f14, camera1[cameraId].pos); D_80183E80.unk4 = 0x8000; - func_80042E00(&D_80183E40, &D_80183E80, 0x3E4CCCCD); + func_80042E00(&D_80183E40, &D_80183E80, 0.2f); temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x6000000; - temp_v0_2->unk4 = &D_0D007E98; + temp_v0_2->words.w0 = 0x06000000; + temp_v0_2->words.w1 = (u32) D_0D007E98; func_8004B310(arg2); - func_80047270(&D_0D02A858, (temp_s0 << 0xA) + &D_0D029858, &D_0D005AE0, 0x20, 0x20, 0x20, 0x20); + func_80047270(D_0D02A858, (temp_s0 << 0xA) + D_0D029858, D_0D005AE0, 0x00000020, 0x00000020, 0x00000020, 0x00000020); temp_v0_3 = gDisplayListHead; temp_s0_2 = D_8018D400; gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x6000000; - temp_v0_3->unk4 = &D_0D007B00; + temp_v0_3->words.w0 = 0x06000000; + temp_v0_3->words.w1 = (u32) D_0D007B00; func_8004B414(0, 0, 0, arg2); D_80183E80.unk4 = 0; - D_80183E40.unk4 = D_80183E40.unk4 + 4.0; + D_80183E40.unk4 = (f32) ((f64) D_80183E40.unk4 + 4.0); func_800562E4(temp_s0_2 % 3, temp_s0_2 % 4, arg2); temp_v0_4 = temp_s0_2 + 1; D_80183E80.unk4 = 0x6000; @@ -8274,181 +6939,146 @@ void func_800563DC(s32 arg0, s32 arg1, ? arg2) { func_800562E4(temp_v0_5 % 3, temp_v0_5 % 4, arg2); temp_v0_6 = gDisplayListHead; gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk0 = 0xBB000000; - temp_v0_6->unk4 = 0x10001; + temp_v0_6->words.w0 = 0xBB000000; + temp_v0_6->words.w1 = 0x00010001; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800563DC.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800431B0(? *, ? *, ?, ? *); // extern -void func_80043D50(? *, ?, ?); // extern -void func_8004B310(?, void **); // extern -extern Vtx D_0D005770; -extern Gfx D_0D0079E8; -extern s8 D_0D02AA58; -extern struct_80165C18_entry D_80165C18; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern f32 D_80183E40; extern s16 D_80183E80; - -void func_8005669C(s32 arg0, ? arg1, ? arg2) { - void *temp_s1; - void *temp_v1; - void *temp_v1_2; +void func_8005669C(s32 objectIndex, s32 arg1, s32 arg2) { + Gfx *temp_v1; + Gfx *temp_v1_2; + struct_80165C18_entry *temp_s1; temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D0079E8; - func_8004B310(arg2, &gDisplayListHead); - func_80043D50(&D_0D02AA58, 0x10, 0x10); - temp_s1 = (arg0 * 0xE0) + &D_80165C18; - D_80183E40.unk4 = temp_s1->unk8 - 2.0; - D_80183E40.unk0 = temp_s1->unk4 + 2.0; - D_80183E40.unk8 = temp_s1->unkC + 2.0; - func_800431B0(&D_80183E40, &D_80183E80, 0x3E19999A, &D_0D005770); - D_80183E40.unk0 = temp_s1->unk4 + 2.0; - D_80183E40.unk8 = temp_s1->unkC - 2.0; - func_800431B0(&D_80183E40, &D_80183E80, 0x3E19999A, &D_0D005770); - D_80183E40.unk0 = temp_s1->unk4 - 2.0; - D_80183E40.unk8 = temp_s1->unkC - 2.0; - func_800431B0(&D_80183E40, &D_80183E80, 0x3E19999A, &D_0D005770); - D_80183E40.unk0 = temp_s1->unk4 - 2.0; - D_80183E40.unk8 = temp_s1->unkC + 2.0; - func_800431B0(&D_80183E40, &D_80183E80, 0x3E19999A, &D_0D005770); + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D0079E8; + func_8004B310(arg2); + func_80043D50(D_0D02AA58, 0x00000010, 0x00000010); + temp_s1 = &D_80165C18[objectIndex]; + D_80183E40.unk4 = (f32) ((f64) temp_s1->unk_004[1] - 2.0); + D_80183E40.unk0 = (f32) ((f64) temp_s1->unk_004[0] + 2.0); + D_80183E40.unk8 = (f32) ((f64) temp_s1->unk_004[2] + 2.0); + func_800431B0(&D_80183E40, &D_80183E80, 0.15f, D_0D005770); + D_80183E40.unk0 = (f32) ((f64) temp_s1->unk_004[0] + 2.0); + D_80183E40.unk8 = (f32) ((f64) temp_s1->unk_004[2] - 2.0); + func_800431B0(&D_80183E40, &D_80183E80, 0.15f, D_0D005770); + D_80183E40.unk0 = (f32) ((f64) temp_s1->unk_004[0] - 2.0); + D_80183E40.unk8 = (f32) ((f64) temp_s1->unk_004[2] - 2.0); + func_800431B0(&D_80183E40, &D_80183E80, 0.15f, D_0D005770); + D_80183E40.unk0 = (f32) ((f64) temp_s1->unk_004[0] - 2.0); + D_80183E40.unk8 = (f32) ((f64) temp_s1->unk_004[2] + 2.0); + func_800431B0(&D_80183E40, &D_80183E80, 0.15f, D_0D005770); temp_v1_2 = gDisplayListHead; gDisplayListHead = temp_v1_2 + 8; - temp_v1_2->unk0 = 0xBB000000; - temp_v1_2->unk4 = 0x10001; + temp_v1_2->words.w0 = 0xBB000000; + temp_v1_2->words.w1 = 0x00010001; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8005669C.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80022180(void *, ? *, s32 *); // extern -void func_80042A20(? *, f32 *, ? *, ?, f32); // extern -extern Gfx D_0D007B98; -extern f64 D_800EE088; -extern struct_80165C18_entry D_80165C18; -extern f32 D_80183E50; -extern s32 D_8018D120; +#ifdef NEEDS_RODATA +// data_0DD0A0_3_0_1.s +extern f64 D_800EE088;// = 0.8; +void func_800568A0(s32 objectIndex, s32 playerId) { + Mat4 sp30; + Player *player; -void func_800568A0(s32 arg0, s32 arg1) { - ? sp30; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - - temp_v0 = (arg0 * 0xE0) + &D_80165C18; - D_80183E50.unk0 = temp_v0->unk4; - D_80183E50.unk4 = temp_v0->unk44 + D_800EE088; - D_80183E50.unk8 = temp_v0->unkC; - func_80042A20(&sp30, &gPlayerOne[arg1].unk_140, &D_80183E50, 0, 0.5f); - func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp30, &D_8018D120); - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x1020040; - temp_v0_2->unk4 = (gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF; - temp_v0_3 = gDisplayListHead; - D_8018D120 = D_8018D120 + 1; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x6000000; - temp_v0_3->unk4 = &D_0D007B98; + player = &gPlayerOne[playerId]; + D_80183E50[0] = D_80165C18[objectIndex].unk_004[0]; + D_80183E50[1] = D_80165C18[objectIndex].unk_044 + 0.8; + D_80183E50[2] = D_80165C18[objectIndex].unk_004[2]; + func_80042A20(sp30, player->unk_110.unk60, D_80183E50, 0U, 0.5f); + func_80022180(&gGfxPool->mtxPool[D_8018D120 + 0xB], sp30); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_8018D120 + 0xB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + D_8018D120++; + gSPDisplayList(gDisplayListHead++, D_0D007B98); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800568A0.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -//void func_800723A4(s32, ?); // extern -//extern s16 D_80165CB8; -//extern s32 D_80183DD8; -//void func_800723A4(s32,s32); void func_800569F4(s32 arg0) { - s32 temp_a0 = D_80183DD8[arg0]; - //sp1C = temp_a0; - func_800723A4(temp_a0, 0); - D_80165CB8[temp_a0 * 0xE0] = 0; -} -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800569F4.s") -#endif + s32 objectIndex; -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -//void func_800723A4(s32, ?); // extern -//extern s16 D_80165CB8; -//extern s32 D_80183DD8; + objectIndex = D_80183DD8[arg0]; + func_800723A4(objectIndex, 0); + D_80165C18[objectIndex].unk_0A0 = 0; +} void func_80056A40(s32 arg0, s32 arg1) { - s32 sp1C; - s32 temp_a0; + s32 objectIndex; - temp_a0 = D_80183DD8[arg0]; - sp1C = temp_a0; - func_800723A4(temp_a0, 0); - D_80165CB8[temp_a0 * 0xE0] = arg1; + objectIndex = D_80183DD8[arg0]; + func_800723A4(objectIndex, 0); + D_80165C18[objectIndex].unk_0A0 = (s16) arg1; } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80056A40.s") -#endif void func_80056A94(s32 arg0) { func_80072428(D_80183DD8[arg0]); } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800563DC(s32, s32, s16); // extern -void func_8005669C(s32, s32, s16); // extern -void func_800568A0(s32, s32); // extern -extern struct_80165C18_entry D_80165C18; -extern s32 D_80183DD8; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800563DC(s32, s32, s16); /* extern */ +? func_8005669C(s32, s32, s16); /* extern */ void func_80056AC0(s32 arg0) { Player *temp_v0; s16 temp_s1; + s32 *var_s3; s32 temp_s0; - s32 temp_s2; - void *temp_v1; - s32 *phi_s3; - s32 phi_s2; + s32 var_s2; + struct_80165C18_entry *temp_v1; - phi_s3 = &D_80183DD8; - phi_s2 = 0; + var_s3 = D_80183DD8; + var_s2 = 0; do { - temp_s0 = *phi_s3; - temp_v1 = &D_80165C18 + (temp_s0 * 0xE0); - if (temp_v1->unkA6 != 0) { - temp_s1 = temp_v1->unkA0; - temp_v0 = &gPlayerOne[phi_s2]; - temp_v1->unk4 = temp_v0->posX; - temp_v1->unk8 = temp_v0->posY - 2.0; - temp_v1->unkC = temp_v0->posZ; - temp_v1->unk44 = temp_v0->unk_074; + temp_s0 = *var_s3; + temp_v1 = &D_80165C18[temp_s0]; + if (temp_v1->unk_0A6 != 0) { + temp_s1 = temp_v1->unk_0A0; + temp_v0 = &gPlayerOne[var_s2]; + temp_v1->unk_004[0] = temp_v0->pos[0]; + temp_v1->unk_004[1] = (f32) ((f64) temp_v0->pos[1] - 2.0); + temp_v1->unk_004[2] = temp_v0->pos[2]; + temp_v1->unk_044 = temp_v0->unk_074; func_800563DC(temp_s0, arg0, temp_s1); func_8005669C(temp_s0, arg0, temp_s1); func_800568A0(temp_s0, arg0); } - temp_s2 = phi_s2 + 1; - phi_s3 += 4; - phi_s2 = temp_s2; - } while (temp_s2 != 4); + var_s2 += 1; + var_s3 += 4; + } while (var_s2 != 4); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80056AC0.s") #endif #ifdef MIPS_TO_C -UNUSED void func_80056BF0(s32 arg0) { +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800562E4(s32, s32, ?); /* extern */ +extern ? D_80163DE8; +extern u32 D_801655CC; +extern f32 D_80183E40; +extern f32 D_80183E44; +extern u16 D_80183E80; +extern s16 D_80183E84; +extern s32 D_8018D400; +static ? D_800E471C; /* unable to generate initializer */ + +void func_80056BF0(s32 arg0) { f32 sp40; + Gfx *temp_v1; f32 *var_t6; s32 *var_t9; s32 temp_at; @@ -8456,7 +7086,6 @@ UNUSED void func_80056BF0(s32 arg0) { s32 temp_v0; s32 temp_v0_2; void *temp_t3; - void *temp_v1; var_t9 = (arg0 * 0x54) + &D_80163DE8; temp_t3 = var_t9 + 0x54; @@ -8472,13 +7101,13 @@ UNUSED void func_80056BF0(s32 arg0) { D_80183E40.unk0 = sp40; D_80183E40.unk4 = (f32) ((f64) sp44 + 1.0); D_80183E40.unk8 = sp48; - func_800480B4(&D_80183E40, &D_80183E80, 0x3E800000, &D_0D02A858, (*(&D_800E471C + ((u32) D_801655CC % 6U)) << 0xA) + &D_0D029858, &D_0D005AE0, 0x20, 0x20, 0x20, 0x20); + func_800480B4(&D_80183E40, &D_80183E80, 0.25f, (s32) D_0D02A858, (s32) ((*(&D_800E471C + ((u32) D_801655CC % 6U)) << 0xA) + D_0D029858), D_0D005AE0, 0x00000020, 0x00000020, 0x00000020, 0x00000020); temp_v1 = gDisplayListHead; temp_s0 = D_8018D400; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x06000000; - temp_v1->unk4 = &D_0D007B00; - func_8004B414(0, 0, 0, 0xFF); + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D007B00; + func_8004B414(0, 0, 0, 0x000000FF); D_80183E44 = (f32) ((f64) sp44 + 5.0); D_80183E84 = 0; func_800562E4(temp_s0 % 3, temp_s0 % 4, 0xFF); @@ -8494,182 +7123,158 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80056BF0.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_800431B0(f32 *, ? *, ?, ? *); // extern -void func_80043D50(? *, ?, ?); // extern -extern Vtx D_0D005770; -extern Gfx D_0D0079C8; -extern s8 D_0D02AA58; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern ? D_80163DE8; extern s16 D_80183E80; - -void func_80056E24(s32 arg0, s32 arg1) { +void func_80056E24(s32 arg0, f32 *arg1) { f32 sp5C; f32 sp50; f32 sp44; f32 sp38; ? sp2C; - ? *temp_t6; - s32 *temp_t9; - s32 *temp_t9_2; - void *temp_v1; - void *temp_v1_2; - s32 *phi_t9; - ? *phi_t6; + ? *var_t6; + Gfx *temp_v1; + Gfx *temp_v1_2; + s32 *var_t9; + s32 temp_at; + void *temp_t3; - temp_t9 = (arg0 * 0x54) + &D_80163DE8; - phi_t9 = temp_t9; - phi_t6 = &sp2C; + var_t9 = (arg0 * 0x54) + &D_80163DE8; + temp_t3 = var_t9 + 0x54; + var_t6 = &sp2C; do { - temp_t9_2 = phi_t9 + 0xC; - temp_t6 = phi_t6 + 0xC; - temp_t6->unk-C = *phi_t9; - temp_t6->unk-8 = temp_t9_2->unk-8; - temp_t6->unk-4 = temp_t9_2->unk-4; - phi_t9 = temp_t9_2; - phi_t6 = temp_t6; - } while (temp_t9_2 != (temp_t9 + 0x54)); + temp_at = *var_t9; + var_t9 += 0xC; + var_t6 += 0xC; + var_t6->unk-C = temp_at; + var_t6->unk-8 = (s32) var_t9->unk-8; + var_t6->unk-4 = (s32) var_t9->unk-4; + } while (var_t9 != temp_t3); temp_v1 = gDisplayListHead; D_80183E80.unk0 = 0; D_80183E80.unk4 = 0x8000; gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D0079C8; - func_80043D50(&D_0D02AA58, 0x10, 0x10); + temp_v1->words.w0 = 0x06000000; + temp_v1->words.w1 = (u32) D_0D0079C8; + func_80043D50(D_0D02AA58, 0x00000010, 0x00000010); D_80183E80.unk2 = func_800418AC(sp38, sp40, arg1); - func_800431B0(&sp38, &D_80183E80, 0x3E19999A, &D_0D005770); + func_800431B0(&sp38, &D_80183E80, 0.15f, D_0D005770); D_80183E80.unk2 = func_800418AC(sp44, sp4C, arg1); - func_800431B0(&sp44, &D_80183E80, 0x3E19999A, &D_0D005770); + func_800431B0(&sp44, &D_80183E80, 0.15f, D_0D005770); D_80183E80.unk2 = func_800418AC(sp50, sp58, arg1); - func_800431B0(&sp50, &D_80183E80, 0x3E19999A, &D_0D005770); + func_800431B0(&sp50, &D_80183E80, 0.15f, D_0D005770); D_80183E80.unk2 = func_800418AC(sp5C, sp64, arg1); - func_800431B0(&sp5C, &D_80183E80, 0x3E19999A, &D_0D005770); + func_800431B0(&sp5C, &D_80183E80, 0.15f, D_0D005770); temp_v1_2 = gDisplayListHead; gDisplayListHead = temp_v1_2 + 8; - temp_v1_2->unk0 = 0xBB000000; - temp_v1_2->unk4 = 0x10001; + temp_v1_2->words.w0 = 0xBB000000; + temp_v1_2->words.w1 = 0x00010001; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80056E24.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80022180(void *, ? *, s32 *); // extern -void func_80042A20(? *, void *, ? *, ?, f32); // extern -extern Gfx D_0D007B98; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +extern ? D_0D007B98; extern ? D_80163DE8; -extern UnkActorInner D_80164038; +extern ? D_80164038; extern f32 D_80183E50; -extern s32 D_8018D120; - void func_80056FCC(s32 arg0) { - ? sp30; + Gfx *temp_v0_2; + Gfx *temp_v0_3; void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; temp_v0 = (arg0 * 0x54) + &D_80163DE8; - D_80183E50[0] = temp_v0->unk0; - D_80183E50[1] = temp_v0->unk50 + 1.0; - D_80183E50[2] = temp_v0->unk8; - func_80042A20(&sp30, (arg0 << 6) + 0x30 + &D_80164038, &D_80183E50, 0, 0.5f); - func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp30, &D_8018D120); + D_80183E50.unk0 = temp_v0->unk0; + D_80183E50.unk4 = (f32) ((f64) temp_v0->unk50 + 1.0); + D_80183E50.unk8 = (f32) temp_v0->unk8; + func_80042A20((f32 (*)[4]) &sp30[0], (arg0 << 6) + 0x30 + &D_80164038, &D_80183E50, 0U, 0.5f); + func_80022180(&gGfxPool->mtxPool[D_8018D120] + 0x2C0, (f32 (*)[4]) &sp30[0]); temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x1020040; - temp_v0_2->unk4 = (gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF; + temp_v0_2->words.w0 = 0x01020040; + temp_v0_2->words.w1 = (s32) (&gGfxPool->mtxPool[D_8018D120] + 0x2C0) & 0x1FFFFFFF; temp_v0_3 = gDisplayListHead; - D_8018D120 = D_8018D120 + 1; + D_8018D120 += 1; gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x6000000; - temp_v0_3->unk4 = &D_0D007B98; + temp_v0_3->words.w0 = 0x06000000; + temp_v0_3->words.w1 = (u32) &D_0D007B98; } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80056FCC.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_800418AC(f32, f32, s32); // extern -void func_800563DC(s32, s32, ?); // extern -void func_80056E24(s32, s32); // extern -void func_80056FCC(s32); // extern -void func_800721C0(s32, ?); // extern -void func_800721E8(s32, ?); // extern -s32 func_8007223C(s32, ?); // extern -u32 func_8008A364(s32, s32, ?, ?); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +? func_800563DC(s32, s32, ?); /* extern */ +? func_80056E24(s32, Camera *); /* extern */ +? func_80056FCC(s32); /* extern */ extern ? D_80163DE8; -extern struct_80165C18_entry D_80165C18; -extern s32 D_80183DD8; -extern s16 D_80183E80; +extern ? D_80183E80; +extern s32 gGamestate; -void func_80057114(s32 arg0) { +void func_80057114(s32 cameraId) { + ? *var_s1_2; + Camera *temp_s7; + s32 *var_s1; s32 temp_s0; s32 temp_s0_2; - s32 temp_s2; - s32 temp_s2_2; - s32 temp_s7; + s32 var_fp; + s32 var_s2; + s32 var_s2_2; + struct_80165C18_entry *temp_v0; u16 temp_s5; u32 temp_s4; - void *temp_v0; - s32 phi_fp; - s32 *phi_s1; - s32 phi_s2; - ? *phi_s1_2; - s32 phi_s2_2; - phi_fp = arg0; - if (gGamestate == ENDING_SEQUENCE) { - phi_fp = 0; + var_fp = cameraId; + if (gGamestate == 5) { + var_fp = 0; } - temp_s7 = (phi_fp * 0xB8) + camera1; - if (phi_fp == 0) { - phi_s1 = &D_80183DD8; - phi_s2 = 0; + temp_s7 = &camera1[var_fp]; + if (var_fp == 0) { + var_s1 = D_80183DD8; + var_s2 = 0; do { - temp_s0 = *phi_s1; - if (func_8007223C(temp_s0, 0x200000) != 0) { - (&D_80163DE8 + (phi_s2 * 0x54))->unk4A = 0; - } else if (gGamestate != ENDING_SEQUENCE) { - (&D_80163DE8 + (phi_s2 * 0x54))->unk4A = 1; + temp_s0 = *var_s1; + if (func_8007223C(temp_s0, 0x00200000) != 0) { + (&D_80163DE8 + (var_s2 * 0x54))->unk4A = 0; + } else if (gGamestate != 5) { + (&D_80163DE8 + (var_s2 * 0x54))->unk4A = 1; } - func_800721E8(temp_s0, 0x200000); - temp_s2 = phi_s2 + 1; - phi_s1 += 4; - phi_s2 = temp_s2; - } while (temp_s2 != 7); + func_800721E8(temp_s0, 0x00200000); + var_s2 += 1; + var_s1 += 4; + } while (var_s2 != 7); } - phi_s1_2 = &D_80163DE8; - phi_s2_2 = 0; + var_s1_2 = &D_80163DE8; + var_s2_2 = 0; do { - temp_s5 = phi_s1_2->unk44; + temp_s5 = var_s1_2->unk44; if (temp_s5 != 0) { - temp_s0_2 = *(&D_80183DD8 + (phi_s2_2 * 4)); - temp_v0 = (temp_s0_2 * 0xE0) + &D_80165C18; - temp_v0->unk4 = phi_s1_2->unk0; - temp_v0->unk8 = phi_s1_2->unk4; - temp_v0->unkC = phi_s1_2->unk8; - temp_s4 = func_8008A364(temp_s0_2, phi_fp, 0x31C4, 0x1F4); - if (func_8007223C(temp_s0_2, 0x40000) != 0) { - func_800721C0(temp_s0_2, 0x200000); + temp_s0_2 = D_80183DD8[var_s2_2]; + temp_v0 = &D_80165C18[temp_s0_2]; + temp_v0->unk_004[0] = var_s1_2->unk0; + temp_v0->unk_004[1] = var_s1_2->unk4; + temp_v0->unk_004[2] = var_s1_2->unk8; + temp_s4 = func_8008A364(temp_s0_2, var_fp, 0x31C4U, 0x000001F4); + if (func_8007223C(temp_s0_2, 0x00040000) != 0) { + func_800721C0(temp_s0_2, 0x00200000); D_80183E80.unk0 = 0; - D_80183E80.unk2 = func_800418AC(phi_s1_2->unk0, phi_s1_2->unk8, temp_s7); + D_80183E80.unk2 = func_800418AC(var_s1_2->unk0, var_s1_2->unk8, temp_s7->pos); D_80183E80.unk4 = 0x8000; - func_800563DC(temp_s0_2, phi_fp, 0xFF); - func_80056E24(phi_s2_2, temp_s7); - if ((temp_s4 < 0x4E21) && (temp_s5 != 4)) { - func_80056FCC(phi_s2_2); + func_800563DC(temp_s0_2, var_fp, 0xFF); + func_80056E24(var_s2_2, temp_s7); + if ((temp_s4 < 0x4E21U) && (temp_s5 != 4)) { + func_80056FCC(var_s2_2); } } } - temp_s2_2 = phi_s2_2 + 1; - phi_s1_2 += 0x54; - phi_s2_2 = temp_s2_2; - } while (temp_s2_2 != 7); + var_s2_2 += 1; + var_s1_2 += 0x54; + } while (var_s2_2 != 7); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80057114.s") @@ -8720,34 +7325,28 @@ void func_80057454(s32 *arg0, s32 *arg1) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800573E4(s32, s32, s8); // extern -void func_80057454(s32 *, s32 *); // extern -extern ? D_800E5628; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b +static ? D_800E5628; /* unable to generate initializer */ void debug_print_string(s32 *arg0, s32 *arg1, s8 *arg2) { + s8 *var_s0; s8 temp_a2; - s8 temp_v0; - s8 temp_v0_2; - s8 phi_v0; - s8 *phi_s0; + s8 var_v0; - *arg0 = *arg0 + 0x14; - *arg1 = *arg1 + 0x14; - temp_v0 = *arg2; - phi_v0 = temp_v0; - phi_s0 = arg2; - if (temp_v0 != 0) { + var_s0 = arg2; + *arg0 += 0x14; + *arg1 += 0x14; + var_v0 = *arg2; + if (var_v0 != 0) { do { - temp_a2 = *(&D_800E5628 + phi_v0); + temp_a2 = *(&D_800E5628 + var_v0); if (temp_a2 >= 0) { func_800573E4(*arg0, *arg1, temp_a2); } func_80057454(arg0, arg1); - temp_v0_2 = phi_s0->unk1; - phi_v0 = temp_v0_2; - phi_s0 += 1; - } while (temp_v0_2 != 0); + var_v0 = var_s0->unk1; + var_s0 += 1; + } while (var_v0 != 0); } } #else @@ -8755,113 +7354,86 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/debug_print_string.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800573E4(s32, s32, s8); // extern -void func_80057454(s32 *, s32 *); // extern -extern s8 D_800E5655; +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern s8 D_801657B8; extern s8 D_801657B9; -// debug_number_sign_check or debug_print_number? -void debug_print_number(u32 arg3, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, u32 argD) { - s8 *temp_s0; - s8 temp_a2; - u32 temp_lo; - s32 phi_v0; - u32 phi_v0_2; - u32 phi_a3; - s8 *phi_s0; - s8 phi_a2; - s8 *phi_s0_2; - s8 *phi_s0_3; +static s8 D_800E5655[0x15] = { 0x2B, 0x24, 0x2D, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0x2C, 0x36, 0x3C, 0x2F, 0x3D, 0x28, 0x30, 0x0A, }; - phi_v0 = saved_reg_s0; - phi_a3 = arg3; - if (saved_reg_s0 < 0) { - argD = arg3; - func_800573E4(*saved_reg_s1, *saved_reg_s2, D_800E5655); - func_80057454(saved_reg_s1, saved_reg_s2); - phi_v0 = -saved_reg_s0; - phi_a3 = argD; +void debug_print_number(s32 *arg0, s32 *arg1, s32 arg2, u32 arg3) { + s32 var_v0; + s8 *var_s0; + s8 var_a2; + u32 temp_t6; + + func_80057454(arg0, arg1); + var_v0 = arg2; + if (arg2 < 0) { + func_800573E4(*arg0, *arg1, *D_800E5655); + func_80057454(arg0, arg1); + var_v0 = -arg2; } D_801657B8 = -1; - phi_v0_2 = phi_v0; - phi_s0 = &D_801657B8; - phi_s0_3 = &D_801657B8; - if (phi_v0 != 0) { - if (phi_v0 != 0) { + var_s0 = &D_801657B8; + if (var_v0 != 0) { + if (var_v0 != 0) { do { - temp_lo = phi_v0_2 / phi_a3; - phi_s0->unk1 = phi_v0_2 % phi_a3; - temp_s0 = phi_s0 + 1; - phi_v0_2 = temp_lo; - phi_s0 = temp_s0; - phi_s0_3 = temp_s0; - } while (temp_lo != 0); + temp_t6 = (u32) var_v0 % arg3; + var_v0 = (s32) ((u32) var_v0 / arg3); + var_s0->unk1 = (s8) temp_t6; + var_s0 += 1; + } while (var_v0 != 0); } } else { + var_s0 = &D_801657B9; D_801657B9 = 0; - phi_s0_3 = &D_801657B9; } - phi_a2 = *phi_s0_3; - phi_s0_2 = phi_s0_3; + var_a2 = *var_s0; do { - func_800573E4(*saved_reg_s1, *saved_reg_s2, phi_a2); - func_80057454(saved_reg_s1, saved_reg_s2); - temp_a2 = phi_s0_2->unk-1; - phi_a2 = temp_a2; - phi_s0_2 += -1; - } while (temp_a2 != -1); + var_s0 -= 1; + func_800573E4(*arg0, *arg1, var_a2); + func_80057454(arg0, arg1); + var_a2 = *var_s0; + } while (var_a2 != -1); } #else -GLOBAL_ASM("asm/non_matchings/code_800431B0/debug_number_sign_check.s") +GLOBAL_ASM("asm/non_matchings/code_800431B0/debug_print_number.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800573E4(s32, s32, s8); // extern -void func_80057454(s32 *, s32 *); // extern +//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b extern s8 D_801657B8; extern s8 D_801657B9; void func_8005762C(s32 *arg0, s32 *arg1, u32 arg2, u32 arg3) { - s8 *temp_s0; - s8 temp_a2; - u32 temp_lo; - u32 phi_v0; - s8 *phi_s0; - s8 phi_a2; - s8 *phi_s0_2; - s8 *phi_s0_3; + s8 *var_s0; + s8 var_a2; + u32 temp_t6; + u32 var_v0; - func_80057454(); + func_80057454(arg0, arg1); D_801657B8 = -1; - phi_v0 = arg2; - phi_s0 = &D_801657B8; - phi_s0_3 = &D_801657B8; + var_s0 = &D_801657B8; + var_v0 = arg2; if (arg2 != 0) { if (arg2 != 0) { do { - temp_lo = phi_v0 / arg3; - phi_s0->unk1 = phi_v0 % arg3; - temp_s0 = phi_s0 + 1; - phi_v0 = temp_lo; - phi_s0 = temp_s0; - phi_s0_3 = temp_s0; - } while (temp_lo != 0); + temp_t6 = var_v0 % arg3; + var_v0 = var_v0 / arg3; + var_s0->unk1 = (s8) temp_t6; + var_s0 += 1; + } while (var_v0 != 0); } } else { + var_s0 = &D_801657B9; D_801657B9 = 0; - phi_s0_3 = &D_801657B9; } - phi_a2 = *phi_s0_3; - phi_s0_2 = phi_s0_3; + var_a2 = *var_s0; do { - func_800573E4(*arg0, *arg1, phi_a2); + var_s0 -= 1; + func_800573E4(*arg0, *arg1, var_a2); func_80057454(arg0, arg1); - temp_a2 = phi_s0_2->unk-1; - phi_a2 = temp_a2; - phi_s0_2 += -1; - } while (temp_a2 != -1); + var_a2 = *var_s0; + } while (var_a2 != -1); } #else GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8005762C.s") diff --git a/src/code_800431B0.h b/src/code_800431B0.h index 801665c73..5759dc8d7 100644 --- a/src/code_800431B0.h +++ b/src/code_800431B0.h @@ -6,7 +6,7 @@ void func_800431B0(Vec3f, Vec3s, f32, Vtx*); void func_80043220(Vec3f, Vec3s, f32, Gfx*); void func_80043328(Vec3f, Vec3s, f32, Gfx*); -void func_800433288(Vec3f, Vec3s, f32, Gfx*); +void func_80043288(Vec3f, Vec3s, f32, Gfx*); void func_80043390(Vec3f, Vec3s, f32, Gfx*); void func_800433F8(Vec3f, Vec3s, f32, Gfx*); void func_80043460(Vec3f, Vec3s, f32, Gfx*); @@ -40,8 +40,12 @@ void func_80045B2C(Vtx*); void func_80045B74(Vtx*); void func_80045BBC(Vec3f, Vec3s, f32, Vtx*); void func_80045C48(Vec3f, Vec3s, f32, Vtx*); -void func_80045E10(s32, s32, s32, s32, s32); +void func_80045D0C(s8*, Vtx*, s32, s32, s32); +void func_80045E10(s8*, Vtx*, s32, s32, s32); +void func_80045F18(s8*, Vtx*, s32, s32, s32, s32); +void func_800461A4(s8*, Vtx*, s32, s32, s32); +void func_800462A8(s8*, Vtx*, s32, s32, s32); void func_800463B0(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); void func_80046424(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); void func_800464D0(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); @@ -70,99 +74,111 @@ void func_80046DF4(s32, s32, u16, f32, s32, s32); void func_80046E60(s32, s32, s32, s32); void func_80046F60(s32, s32, s32, s32, s32); -void func_80047068(s32, s32, s32, s32, s32, s32, s32); -void func_8004788C(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32); -void func_80047910(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32); -void func_80047994(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32); -void func_80047A18(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32); -void func_80047A9C(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32); -void func_80047B20(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); -void func_80047B9C(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_80047C28(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_80047CB4(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_80047D40(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_80047DCC(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32); -void func_80047E48(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32); -void func_80047EC4(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32); -void func_80047F40(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32); -void func_80047FBC(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32); +void func_80047068(s8*, s8*, Vtx*, s32, s32, s32, s32); +void func_80047270(s8*, s8*, Vtx*, s32, s32, s32, s32); +void func_8004747C(s8*, s8*, Vtx*, s32, s32, s32, s32, s32); +void func_8004768C(s8*, s8*, Vtx*, s32, s32, s32); +void func_8004788C(s32, s32, u16, f32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047910(s32, s32, u16, f32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047994(s32, s32, u16, f32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047A18(s32, s32, u16, f32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047A9C(s32, s32, u16, f32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047B20(s32, s32, u16, f32, s32, s32, Vtx*, s32, s32, s32); +void func_80047B9C(s32, s32, u16, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047C28(s32, s32, u16, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047CB4(s32, s32, u16, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047D40(s32, s32, u16, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047DCC(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047E48(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047EC4(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047F40(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80047FBC(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32); -void func_80048038(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32); -void func_800480B4(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32); -void func_80048130(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_800481B4(s32, s32, f32, s32, s32, s32, s32, s32, s32); -void func_80048228(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_800482AC(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_80048330(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_800483B4(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_80048438(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_800484BC(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_80048540(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_800485C4(s32, s32, f32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_800486B0(s32, s32, u16, f32, s32, s32, s32); -void func_80048718(s32, s32, u16, f32, s32, s32, s32); -void func_80048780(s32, s32, f32, s32, s32, s32, s32); -void func_800487DC(s32, s32, u16, f32, s32, s32, s32); -void func_80048844(s32, s32, u16, f32, s32, s32, s32); -void func_800488AC(s32, s32, u16, f32, s32, s32, s32); -void func_80048914(s32, s32, u16, f32, s32, s32, s32); -void func_8004897C(s32, s32, u16, f32, s32, s32, s32); -void func_800489E4(s32, s32, u16, f32, s32, s32, s32); -void func_80048A4C(s32, s32, u16, f32, s32, s32, s32); -void func_80048AB4(s32, s32, u16, f32, s32, s32, s32, s32); -void func_80048B24(s32, s32, u16, f32, s32, s32, s32, s32); -void func_80048B94(s32, s32, f32, s32, s32, s32); -void func_80048BE8(s32, s32, f32, s32, s32, s32); -void func_80048C3C(s32, s32, f32, s32, s32, s32); -void func_80048C90(s32, s32, f32, s32, s32, s32, s32); -void func_80048CEC(s32, s32, f32, s32, s32, s32, s32); -void func_80048D48(s32, s32, f32, s32, s32, s32, s32); -void func_80048DA4(s32, s32, f32, s32, s32, s32, s32); -void func_80048E00(s32, s32, u16, f32, s32, s32, s32); -void func_80048E68(s32, s32, u16, f32, s32, s32, s32); -void func_80048ED0(s32, s32, u16, f32, s32, s32, s32); -void func_80048F38(s32, s32, f32, s32, s32, s32); +void func_80048038(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_800480B4(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80048130(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32, s32); +void func_800481B4(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32); +void func_80048228(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_800482AC(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80048330(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_800483B4(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80048438(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_800484BC(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80048540(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_800485C4(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_800486B0(s32, s32, u16, f32, s32, s32, Vtx*); +void func_80048718(s32, s32, u16, f32, s32, s32, Vtx*); +void func_80048780(s32, s32, f32, s32, s32, s32, Vtx*); +void func_800487DC(s32, s32, u16, f32, s32, s32, Vtx*); +void func_80048844(s32, s32, u16, f32, s32, s32, Vtx*); +void func_800488AC(s32, s32, u16, f32, s32, s32, Vtx*); +void func_80048914(s32, s32, u16, f32, s32, s32, Vtx*); +void func_8004897C(s32, s32, u16, f32, s32, s32, Vtx*); +void func_800489E4(s32, s32, u16, f32, s32, s32, Vtx*); +void func_80048A4C(s32, s32, u16, f32, s32, s32, Vtx*); +void func_80048AB4(s32, s32, u16, f32, s32, s32, s32, Vtx*); +void func_80048B24(s32, s32, u16, f32, s32, s32, s32, Vtx*); +void func_80048B94(Vec3f, Vec3su, f32, s32, s32, Vtx*); +void func_80048BE8(Vec3f, Vec3su, f32, s32, s32, Vtx*); +void func_80048C3C(Vec3f, Vec3su, f32, s32, s32, Vtx*); +void func_80048C90(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*); +void func_80048CEC(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*); +void func_80048D48(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*); +void func_80048DA4(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*); +void func_80048E00(s32, s32, u16, f32, s32, s32, Vtx*); +void func_80048E68(s32, s32, u16, f32, s32, s32, Vtx*); +void func_80048ED0(s32, s32, u16, f32, s32, s32, Vtx*); +void func_80048F38(s32, s32, f32, s32, s32, Vtx*); +void func_80048F8C(s8*, Vtx*, s32, s32, s32, s32); -void func_80049B20(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); -void func_80049B9C(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); -void func_80049C18(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); -void func_80049C94(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); -void func_80049D10(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); -void func_80049D8C(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); -void func_80049E08(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_80049E98(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_80049F28(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_80049FB8(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); +void func_80049130(s8*, Vtx*, s32, s32, s32, s32); +void func_800492D4(s8*, Vtx*, s32, s32, s32, s32); +void func_80049478(s8*, Vtx*, s32, s32, s32, s32); +void func_800497CC(s8*, Vtx*, s32, s32, s32, s32); +void func_80049B20(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32); +void func_80049B9C(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32); +void func_80049C18(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32); +void func_80049C94(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32); +void func_80049D10(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32); +void func_80049D8C(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32); +void func_80049E08(s32, s32, u16, f32, s32, s32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80049E98(s32, s32, u16, f32, s32, s32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80049F28(s32, s32, u16, f32, s32, s32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_80049FB8(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32); -void func_8004A034(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); -void func_8004A0B0(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); -void func_8004A12C(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_8004A1BC(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); -void func_8004A258(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32); -void func_8004A2F4(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_8004A384(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32); -void func_8004A414(s32, s32, f32, s32, s32, s32, s32, s32, s32); -void func_8004A488(s32, s32, f32, s32, s32, s32, s32, s32, s32); -void func_8004A4FC(s32, s32, f32, s32, s32, s32, s32, s32, s32); -void func_8004A570(s32, s32, f32, s32, s32, s32, s32, s32, s32); -void func_8004A5E4(s32, s32, f32, s32, s32); +void func_8004A034(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32); +void func_8004A0B0(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32); +void func_8004A12C(s32, s32, u16, f32, s32, s32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_8004A1BC(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32); +void func_8004A258(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32); +void func_8004A2F4(s32, s32, u16, f32, s32, s32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_8004A384(s32, s32, u16, f32, s32, s32, s32, s32, s32, Vtx*, s32, s32, s32, s32); +void func_8004A414(Vec3f, Vec3su, f32, s32, Vtx*, s32, s32, s32, s32); +void func_8004A488(Vec3f, Vec3su, f32, s32, Vtx*, s32, s32, s32, s32); +void func_8004A4FC(Vec3f, Vec3su, f32, s32, Vtx*, s32, s32, s32, s32); +void func_8004A570(Vec3f, Vec3su, f32, s32, Vtx*, s32, s32, s32, s32); +void func_8004A5E4(Vec3f, Vec3su, f32, s32, Vtx*); +void func_8004A630(UnkActorInner*, Vec3f, f32); +void func_8004A6EC(s32, f32); +void func_8004A7AC(s32, f32); +void func_8004A870(s32, f32); void func_8004A9B8(f32); -void func_8004AA10(s32, s32, f32, s32, s32, s32, s32, s32, s32); -void func_8004AAA0(s32, s32, u16, f32, s32, s32); -void func_8004AB00(s32, s32, u16, f32, s32, s32); -void func_8004AB60(s32, s32, u16, f32, s32, s32); -void func_8004ABC0(s32, s32, u16, f32, s32, s32); -void func_8004AC20(s32, s32, u16, f32, s32, s32); -void func_8004AC80(s32, s32, u16, f32, s32, s32); -void func_8004ACE0(s32, s32, f32, s32, s32); -void func_8004AD2C(s32, s32, u16, f32, s32, s32); -void func_8004AD8C(s32, s32, u16, f32, s32, s32); -void func_8004ADEC(s32, s32, u16, f32, s32, s32); -void func_8004AE4C(s32, s32, u16, f32, s32, s32); -void func_8004AEAC(s32, s32, u16, f32, s32, s32); -void func_8004AF0C(s32, s32, u16, f32, s32, s32); -void func_8004AF6C(s32, s32, u16, f32, s32, s32); -void func_8004AFCC(s32, s32, u16, f32, s32, s32); +void func_8004AA10(Vec3f, Vec3su, f32, s32, Vtx*, s32, s32, s32, s32); +void func_8004AAA0(s32, s32, u16, f32, s32, Vtx*); +void func_8004AB00(s32, s32, u16, f32, s32, Vtx*); +void func_8004AB60(s32, s32, u16, f32, s32, Vtx*); +void func_8004ABC0(s32, s32, u16, f32, s32, Vtx*); +void func_8004AC20(s32, s32, u16, f32, s32, Vtx*); +void func_8004AC80(s32, s32, u16, f32, s32, Vtx*); +void func_8004ACE0(s32, s32, f32, s32, Vtx*); +void func_8004AD2C(s32, s32, u16, f32, s32, Vtx*); +void func_8004AD8C(s32, s32, u16, f32, s32, Vtx*); +void func_8004ADEC(s32, s32, u16, f32, s32, Vtx*); +void func_8004AE4C(s32, s32, u16, f32, s32, Vtx*); +void func_8004AEAC(s32, s32, u16, f32, s32, Vtx*); +void func_8004AF0C(s32, s32, u16, f32, s32, Vtx*); +void func_8004AF6C(s32, s32, u16, f32, s32, Vtx*); +void func_8004AFCC(s32, s32, u16, f32, s32, Vtx*); void func_8004B02C(); void func_8004B05C(u8*); @@ -185,6 +201,7 @@ void func_8004B72C(s32, s32, s32, s32, s32, s32, s32); void func_8004B950(s32, s32, s32, s32, s32); void func_8004BB34(); void func_8004BB3C(s32, s32, s32, s32, f32); +void func_8004BD14(s32, s32, u32, u32, s32, s8*, s8*); void func_8004C024(s16, s16, s16, u16, u16, u16, u16); void func_8004C148(s16, s16, s16, u16, u16, u16, u16); @@ -252,6 +269,7 @@ void func_8004E59C(s32, s32, s32, s32, s32); void func_8004E5D8(s32, s32, u8*, s32); void func_8004E604(s32, s32, u8*, s32); void func_8004E638(s32); +void func_8004E6C4(s32); void func_8004E78C(s32); void func_8004E800(s32); void func_8004E998(s32); @@ -262,6 +280,7 @@ void func_8004EE54(s32); void func_8004F020(s32); void func_8004F3E4(s32); +s32 func_8004F674(s32*, s32); void print_timer(s32, s32, s32); void func_8004F950(s32, s32, s32, s32); void func_8004F9CC(s32, s32, s32); @@ -273,6 +292,8 @@ void func_80050320(); void func_800514BC(); void func_80051638(s32); void func_800517C8(); +void func_80051ABC(s16, s32); +void func_80051C60(s16, s32); void func_80051EBC(); void func_80051EF8(); void func_80051F9C(); @@ -301,7 +322,9 @@ void func_80054BE8(s32); void func_800550A4(s32); void func_80055228(s32); void func_80055380(s32); +void func_80055458(s32, s32); void func_80055528(s32); +void func_800555BC(s32, s32); void func_8005568C(s32); void func_800557AC(); void func_8005592C(s32); @@ -313,6 +336,7 @@ void func_80055FA0(s32, s32); void func_80056160(s32); void func_80056188(s32); +void func_800568A0(s32, s32); void func_800569F4(s32); void func_80056A40(s32, s32); void func_80056A94(s32); @@ -357,6 +381,8 @@ extern u16 D_801656E0; extern s32 D_80183DD8[]; extern Vec3f D_80183E50; extern Vec3f D_80183E70; +extern s32 D_80183E88[]; +extern Vec3s D_80183E98; extern s32 D_80183EAC; extern s32 D_8018D1E0; @@ -369,61 +395,6 @@ extern Lights1 D_800E4698; extern s8 D_800E5670[]; extern s8 D_800E566A[]; -extern Gfx D_0D005470[]; -extern Gfx D_0D005770[]; -extern Gfx D_0D005AE0[]; -extern Gfx D_0D005FB0[]; -extern Gfx D_0D0060B0[]; -extern Gfx D_0D006930[]; -extern Gfx D_0D006940[]; -extern Gfx D_0D0077A0[]; -extern Gfx D_0D0077D0[]; -extern Gfx D_0D0077F8[]; -extern Gfx D_0D007828[]; -extern Gfx D_0D007850[]; -extern Gfx D_0D007878[]; -extern Gfx D_0D0078A0[]; -extern Gfx D_0D0078D0[]; -extern Gfx D_0D007928[]; -extern Gfx D_0D007948[]; -extern Gfx D_0D007968[]; -extern Gfx D_0D0079A8[]; -extern Gfx D_0D0079C8[]; -extern Gfx D_0D0079E8[]; -extern Gfx D_0D007A40[]; -extern Gfx D_0D007A60[]; -extern Gfx D_0D007A80[]; -extern Gfx D_0D007AA0[]; -extern Gfx D_0D007AC0[]; -extern Gfx D_0D007AE0[]; -extern Gfx D_0D007B00[]; -extern Gfx D_0D007C10[]; -extern Gfx D_0D007CB8[]; -extern Gfx D_0D007CD8[]; -extern Gfx D_0D007CF8[]; -extern Gfx D_0D007D18[]; -extern Gfx D_0D007D38[]; -extern Gfx D_0D007D58[]; -extern Gfx D_0D007D78[]; -extern Gfx D_0D007D98[]; -extern Gfx D_0D007DB8[]; -extern Gfx D_0D007DD8[]; -extern Gfx D_0D007DF8[]; -extern Gfx D_0D007E18[]; -extern Gfx D_0D007E38[]; -extern Gfx D_0D007E58[]; -extern Gfx D_0D007E98[]; -extern Gfx D_0D007EB8[]; -extern Gfx D_0D007EF8[]; -extern Gfx D_0D007F38[]; -extern Gfx D_0D007F78[]; -extern Gfx D_0D007FE0[]; -extern Gfx D_0D008000[]; -extern Gfx D_0D008080[]; -extern Gfx D_0D008108[]; -extern Gfx D_0D00AB58[]; -extern Gfx D_0D00C558[]; - extern Gfx *gDisplayListHead; #endif diff --git a/src/code_80071F00.c b/src/code_80071F00.c index 4c5f993cd..5365a60cb 100644 --- a/src/code_80071F00.c +++ b/src/code_80071F00.c @@ -1530,9 +1530,9 @@ void func_80074FD8(s32 objectIndex) { } sp28 = temp_v1; func_8008BF18(objectIndex); - temp_v1->unk_0B2 = (u16) temp_v1->unk_0B2 + D_8016582C.unk0; - temp_v1->unk_0B4 = (u16) temp_v1->unk_0B4 + D_8016582C.unk2; - temp_v1->unk_0B6 = (u16) temp_v1->unk_0B6 + D_8016582C.unk4; + temp_v1->unk_0B2[0] = (u16) temp_v1->unk_0B2[0] + D_8016582C.unk0; + temp_v1->unk_0B2[1] = (u16) temp_v1->unk_0B2[1] + D_8016582C.unk2; + temp_v1->unk_0B2[2] = (u16) temp_v1->unk_0B2[2] + D_8016582C.unk4; return; case 2: func_80086F60(objectIndex); @@ -1577,9 +1577,9 @@ void func_800750D8(s32 objectIndex, s32 arg1, f32 *arg2, s32 arg3, s32 arg4) { } temp_a0 = temp_v0 * 0x50; temp_v1->unk_010[1] = (f32) (var_f18 + ((f64) arg2->unk4 - 10.0)); - temp_v1->unk_0B2 = sp24 << 7; - temp_v1->unk_0B4 = temp_a0; - temp_v1->unk_0B6 = temp_a0; + temp_v1->unk_0B2[0] = sp24 << 7; + temp_v1->unk_0B2[1] = temp_a0; + temp_v1->unk_0B2[2] = temp_a0; temp_v1->unk_010[2] = (arg2->unk8 + (f32) ((s32) temp_v0 / 2)) - 12.0f; } #else @@ -1750,8 +1750,8 @@ void func_80075698(s32 arg0) { D_80165C18[arg0].unk_06C = D_8018D490; D_80165C18[arg0].unk_0A0 = 0xFF; D_80165C18[arg0].unk_0BE[1] = 0; - D_80165C18[arg0].unk_0B2 = 0; - D_80165C18[arg0].unk_0B6 = 0; + D_80165C18[arg0].unk_0B2[0] = 0; + D_80165C18[arg0].unk_0B2[2] = 0; D_80165C18[arg0].unk_028[0] = 0.0f; D_80165C18[arg0].unk_028[1] = 0.0f; D_80165C18[arg0].unk_028[2] = 0.0f; @@ -1897,8 +1897,8 @@ void func_80075B08(s32 arg0) { D_80165C18[arg0].unk_06C = D_8018D490; D_80165C18[arg0].unk_0A0 = 0xFF; D_80165C18[arg0].unk_0BE[1] = 0; - D_80165C18[arg0].unk_0B2 = 0; - D_80165C18[arg0].unk_0B6 = 0; + D_80165C18[arg0].unk_0B2[0] = 0; + D_80165C18[arg0].unk_0B2[2] = 0; D_80165C18[arg0].unk_028[0] = 0.0f; D_80165C18[arg0].unk_028[1] = 0.0f; D_80165C18[arg0].unk_028[2] = 0.0f; @@ -2838,7 +2838,7 @@ void func_80077584(s32 objectIndex) { temp_v0->unk_038[0] = 0.0f; } } - temp_v0->unk_0B6 = (u16) temp_v0->unk_0B6 + temp_v0->unk_084[3]; + temp_v0->unk_0B2[2] = (u16) temp_v0->unk_0B2[2] + temp_v0->unk_084[3]; func_80087710(objectIndex); func_8008BF18(objectIndex); } @@ -3020,8 +3020,8 @@ void func_80077BCC(s32 objectIndex) { break; } func_8008BF18(objectIndex); - D_80165C18[objectIndex].unk_0B2 += 0x1000; - D_80165C18[objectIndex].unk_0B4 += 0x1000; + D_80165C18[objectIndex].unk_0B2[0] += 0x1000; + D_80165C18[objectIndex].unk_0B2[1] += 0x1000; } #ifdef MIPS_TO_C @@ -3374,7 +3374,7 @@ void func_80078288(s32 objectIndex) { if ((f64) temp_s0->unk_004[1] <= 0.0) { func_80086FD4(objectIndex); } - temp_s0->unk_0B4 = func_800872D8(objectIndex, camera1); + temp_s0->unk_0B2[1] = func_800872D8(objectIndex, camera1); return; case 3: func_80086F60(objectIndex); @@ -5705,8 +5705,8 @@ void func_8007C5B4(s32 objectIndex) { func_80073FD4(objectIndex); func_80086EF0(objectIndex); func_800721C0(objectIndex, 0x00000800); - temp_s0->unk_0B2 = 0; - temp_s0->unk_0B6 = 0x8000; + temp_s0->unk_0B2[0] = 0; + temp_s0->unk_0B2[2] = 0x8000; } #else GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C5B4.s") @@ -6467,7 +6467,7 @@ void func_8007DB44(void) { func_80073514(temp_s0); temp_s1 = &D_80165C18[temp_s0]; func_80073CB0(temp_s0, &temp_s1->unk_0A0, -0x00001000, 0x00001000, 0x00000400, 0, -1); - temp_s1->unk_0B6 = temp_s1->unk_0A0 + 0x8000; + temp_s1->unk_0B2[2] = temp_s1->unk_0A0 + 0x8000; if ((D_8018CFB0 != 0) || (D_8018CFC8 != 0)) { D_8018CFD8 = 0; var_s2 = &D_8018C3F0; @@ -6596,7 +6596,7 @@ void func_8007DF20(s32 objectIndex) { temp_v0->unk_000 = 1.0f; func_8008B8BC(objectIndex, 0U, 0U, 0U); if (gIsMirrorMode != 0) { - temp_v0->unk_0B4 = 0x8000; + temp_v0->unk_0B2[1] = 0x8000; temp_v0->unk_004[0] = 1765.0f; temp_v0->unk_004[2] = 195.0f; } else { @@ -6651,7 +6651,7 @@ void func_8007E00C(s32 objectIndex) { } func_80073CB0(objectIndex, &temp_s0->unk_0A0, -0x00002000, 0, 0x00000400, 0, -1); temp_v1 = temp_s0->unk_084[7]; - temp_s0->unk_0B6 = temp_s0->unk_0A0; + temp_s0->unk_0B2[2] = temp_s0->unk_0A0; if (temp_v1 == 0) { func_800C98B8(temp_s0->unk_004, temp_s0->unk_038, 0x1901904EU); temp_s0->unk_084[7] = 0x0014; @@ -6660,8 +6660,8 @@ void func_8007E00C(s32 objectIndex) { temp_s0->unk_084[7] = temp_v1 - 1; return; case 5: - temp_v0 = func_800417B4((u16) temp_s0->unk_0B6, 0U); - temp_s0->unk_0B6 = temp_v0; + temp_v0 = func_800417B4((u16) temp_s0->unk_0B2[2], 0U); + temp_s0->unk_0B2[2] = temp_v0; if (!(temp_v0 & 0xFFFF)) { func_80072488(objectIndex); return; @@ -6669,7 +6669,7 @@ void func_8007E00C(s32 objectIndex) { default: return; case 6: - temp_s0->unk_0B6 = 0; + temp_s0->unk_0B2[2] = 0; temp_s0->unk_084[7] = 0; func_80072488(objectIndex); D_8018CFB0 = 0; @@ -7058,7 +7058,7 @@ void func_8007E63C(s32 objectIndex) { } break; case 0x12C: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x00008000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00008000) != 0) { func_800722CC(objectIndex, 4); func_8007266C(objectIndex); } @@ -7141,7 +7141,7 @@ void func_8007ED6C(s32 objectIndex) { } func_8007E63C(objectIndex); func_8008BF18(objectIndex); - sp24->unk_0BE[1] = (u16) sp24->unk_0B4; + sp24->unk_0BE[1] = (u16) sp24->unk_0B2[1]; func_80073514(objectIndex); } #else @@ -7203,7 +7203,7 @@ void func_8007EFBC(s32 objectIndex) { switch (temp_t8) { case 1: sp24 = temp_v1; - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0800U, 0x00008000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0800U, 0x00008000) != 0) { temp_v1->unk1C = (f32) ((f64) D_8018D01C * 200.0); func_80086FD4(objectIndex); return; @@ -7217,14 +7217,14 @@ void func_8007EFBC(s32 objectIndex) { } break; case 3: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x00008000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00008000) != 0) { func_800726CC(objectIndex, 3); func_80086FD4(objectIndex); return; } break; case 5: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x0000C000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x0000C000) != 0) { func_80086FD4(objectIndex); return; } @@ -7236,14 +7236,14 @@ void func_8007EFBC(s32 objectIndex) { } break; case 7: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x00004000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00004000) != 0) { func_80086FD4(objectIndex); func_800726CC(objectIndex, 3); return; } break; case 9: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x00010000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00010000) != 0) { func_80086FD4(objectIndex); return; } @@ -7255,14 +7255,14 @@ void func_8007EFBC(s32 objectIndex) { } break; case 11: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x00010000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00010000) != 0) { func_80086FD4(objectIndex); func_800726CC(objectIndex, 3); return; } break; case 13: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x00014000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00014000) != 0) { func_80086FD4(objectIndex); return; } @@ -7274,7 +7274,7 @@ void func_8007EFBC(s32 objectIndex) { } break; case 15: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x0000C000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x0000C000) != 0) { func_80086FD4(objectIndex); func_800726CC(objectIndex, 3); return; @@ -7303,7 +7303,7 @@ void func_8007F280(s32 objectIndex) { switch (temp_t8) { case 1: sp24 = temp_v1; - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x00010000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00010000) != 0) { temp_v1->unk1C = (f32) ((f64) D_8018D01C * -200.0); func_80086FD4(objectIndex); return; @@ -7317,14 +7317,14 @@ void func_8007F280(s32 objectIndex) { } break; case 3: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x00010000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00010000) != 0) { func_800726CC(objectIndex, 3); func_80086FD4(objectIndex); return; } break; case 5: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x00004000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00004000) != 0) { func_80086FD4(objectIndex); return; } @@ -7336,14 +7336,14 @@ void func_8007F280(s32 objectIndex) { } break; case 7: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x0000C000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x0000C000) != 0) { func_80086FD4(objectIndex); func_800726CC(objectIndex, 3); return; } break; case 9: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x00008000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00008000) != 0) { func_80086FD4(objectIndex); return; } @@ -7355,14 +7355,14 @@ void func_8007F280(s32 objectIndex) { } break; case 11: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x00008000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00008000) != 0) { func_80086FD4(objectIndex); func_800726CC(objectIndex, 3); return; } break; case 13: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x0000C000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x0000C000) != 0) { func_80086FD4(objectIndex); return; } @@ -7374,7 +7374,7 @@ void func_8007F280(s32 objectIndex) { } break; case 15: - if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B4, 0x0400U, 0x00014000) != 0) { + if (func_80073E18(objectIndex, (u16 *) &temp_v1->unk_0B2[1], 0x0400U, 0x00014000) != 0) { func_80086FD4(objectIndex); func_800726CC(objectIndex, 3); return; @@ -7601,7 +7601,7 @@ void func_8007FA08(s32 objectIndex) { temp_s0->unk_038 = (bitwise f32) 0; temp_s0->unk_0DD = 1; temp_s0->unk_0DF = 8; - temp_s0->unk_0BE[1] = (u16) temp_s0->unk_0B4; + temp_s0->unk_0BE[1] = (u16) temp_s0->unk_0B2[1]; temp_s0->unk_028[1] = 15.0f; temp_s0->unk20 = 15.0f; func_80072488(objectIndex); @@ -7661,7 +7661,7 @@ void func_8007FB48(s32 objectIndex) { if (var_a0 < 0x65) { sp18 = temp_v1; var_a0 = temp_v1->unk_0B0; - temp_v1->unk_0B4 = func_800417B4(temp_v1->unk_0B4, (temp_v1->unk_0BE[1] + 0x8000) & 0xFFFF); + temp_v1->unk_0B2[1] = func_800417B4(temp_v1->unk_0B2[1], (temp_v1->unk_0BE[1] + 0x8000) & 0xFFFF); if (var_a0 == 0x0064) { temp_v1->unk_0D2 = 1; var_a0 = temp_v1->unk_0B0; @@ -7696,8 +7696,8 @@ block_20: break; case 5: sp18 = temp_v1; - temp_v0_2 = func_800417B4(temp_v1->unk_0B4, temp_v1->unk_0BE[1]); - temp_v1->unk_0B4 = temp_v0_2; + temp_v0_2 = func_800417B4(temp_v1->unk_0B2[1], temp_v1->unk_0BE[1]); + temp_v1->unk_0B2[1] = temp_v0_2; if ((temp_v0_2 & 0xFFFF) == temp_v1->unk_0BE[1]) { sp18 = temp_v1; func_800722CC(objectIndex, 8); @@ -8320,8 +8320,8 @@ void func_80081080(s32 objectIndex) { temp_v0 = &D_80165C18[objectIndex]; temp_v0->unk_0A0 = 0x00FF; temp_v0->unk_0BE[1] = 0; - temp_v0->unk_0B2 = 0; - temp_v0->unk_0B6 = 0; + temp_v0->unk_0B2[0] = 0; + temp_v0->unk_0B2[2] = 0; temp_v0->unk_064 = temp_v1; temp_v0->unk_06C = (s32) temp_v1; temp_v0->unk_028[0] = 0.0f; @@ -8564,7 +8564,7 @@ loop_6: } temp_s0->unk_03C = (f32) (((f64) var_f6 * 0.1) + 4.8); temp_f4 = ((f64) (f32) random_int(5U) * 0.01) + 0.8; - temp_s0->unk_0B4 = (0x10000 / sp70) * var_s1; + temp_s0->unk_0B2[1] = (0x10000 / sp70) * var_s1; temp_s0->unk_034 = (f32) temp_f4; temp_s0->unk_010[0] = temp_s5->unk_010[0]; temp_s0->unk_010[1] = (f32) ((f64) temp_s5->unk_010[1] - 13.0); @@ -8589,7 +8589,7 @@ void func_80081790(s32 objectIndex) { case 0: break; /* irregular */ case 1: - if (func_80087E08(objectIndex, D_80165C18[objectIndex].unk_038[1], 0.3f, D_80165C18[objectIndex].unk_034, D_80165C18[objectIndex].unk_0B4, 0x00000032) != 0) { + if (func_80087E08(objectIndex, D_80165C18[objectIndex].unk_038[1], 0.3f, D_80165C18[objectIndex].unk_034, D_80165C18[objectIndex].unk_0B2[1], 0x00000032) != 0) { func_80072488(objectIndex); } func_8008BF18(objectIndex); @@ -8652,7 +8652,7 @@ void func_80081924(s32 objectIndex) { func_80086F60(objectIndex); break; case 10: - D_80165C18[objectIndex].unk_0B6 += 0x1000; + D_80165C18[objectIndex].unk_0B2[2] += 0x1000; D_80165C18[objectIndex].unk_038[1] -= 0.184; func_8008751C(objectIndex); func_80087710(objectIndex); @@ -9646,7 +9646,7 @@ void func_8008379C(s32 objectIndex) { break; } func_8008BF18(objectIndex); - D_80165C18[objectIndex].unk_0B6 += D_80165C18[objectIndex].unk_0A0; + D_80165C18[objectIndex].unk_0B2[2] += D_80165C18[objectIndex].unk_0A0; } #ifdef MIPS_TO_C @@ -9665,9 +9665,9 @@ void func_80083868(s32 objectIndex) { temp_s0->unk_000 = 0.1f; func_80072488(objectIndex); func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); - temp_s0->unk_0B2 = 0; - temp_s0->unk_0B4 = 0; - temp_s0->unk_0B6 = 0x8000; + temp_s0->unk_0B2[0] = 0; + temp_s0->unk_0B2[1] = 0; + temp_s0->unk_0B2[2] = 0x8000; temp_s0->unk_0A0 = random_int(0x2000U) - 0x1000; func_80086E70(objectIndex); temp_s0->unk_034 = 1.5f; @@ -9707,7 +9707,7 @@ void func_80083948(s32 objectIndex) { } func_8008BF18(objectIndex); func_80073D0C(objectIndex, &D_80165C18[objectIndex].unk_0A0, -0x00001000, 0x00001000, 0x00000400, 1, -1); - D_80165C18[objectIndex].unk_0B6 = D_80165C18[objectIndex].unk_0A0 + 0x8000; + D_80165C18[objectIndex].unk_0B2[2] = D_80165C18[objectIndex].unk_0A0 + 0x8000; } #else GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80083948.s") @@ -9757,9 +9757,9 @@ void func_80083B0C(s32 objectIndex) { temp_v0->unk_000 = 0.1f; func_80072488(objectIndex); func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f); - temp_v0->unk_0B2 = 0; - temp_v0->unk_0B4 = 0; - temp_v0->unk_0B6 = 0x8000; + temp_v0->unk_0B2[0] = 0; + temp_v0->unk_0B2[1] = 0; + temp_v0->unk_0B2[2] = 0x8000; temp_v0->unkC8 = 2; temp_v0->unk_034 = 1.5f; func_800721C0(objectIndex, 0x04000210); @@ -10439,14 +10439,14 @@ void func_800850B0(s32 objectIndex) { return; } temp_s0->unk_084[7] = temp_v0 - 1; - temp_s0->unk_0B4 = (u16) temp_s0->unk_0B4 + 0x2000; - temp_s0->unk_0B2 = (s16) temp_s0->unk_0BE[0]; - temp_s0->unk_0B6 = (s16) temp_s0->unk_0BE[2]; + temp_s0->unk_0B2[1] = (u16) temp_s0->unk_0B2[1] + 0x2000; + temp_s0->unk_0B2[0] = (s16) temp_s0->unk_0BE[0]; + temp_s0->unk_0B2[2] = (s16) temp_s0->unk_0BE[2]; return; } - temp_s0->unk_0B2 = (s16) temp_s0->unk_0BE[0]; - temp_s0->unk_0B4 = (s16) temp_s0->unk_0BE[1]; - temp_s0->unk_0B6 = (s16) temp_s0->unk_0BE[2]; + temp_s0->unk_0B2[0] = (s16) temp_s0->unk_0BE[0]; + temp_s0->unk_0B2[1] = (s16) temp_s0->unk_0BE[1]; + temp_s0->unk_0B2[2] = (s16) temp_s0->unk_0BE[2]; } #else GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800850B0.s") diff --git a/src/code_80086E70.c b/src/code_80086E70.c index 41a3e2ae1..7accf21b3 100644 --- a/src/code_80086E70.c +++ b/src/code_80086E70.c @@ -2022,9 +2022,9 @@ void func_8008B888(s32 arg0, u16 arg1, u16 arg2, u16 arg3) { } void func_8008B8BC(s32 arg0, u16 arg1, u16 arg2, u16 arg3) { - D_80165C18[arg0].unk_0B2 = arg1; - D_80165C18[arg0].unk_0B4 = arg2; - D_80165C18[arg0].unk_0B6 = arg3; + D_80165C18[arg0].unk_0B2[0] = arg1; + D_80165C18[arg0].unk_0B2[1] = arg2; + D_80165C18[arg0].unk_0B2[2] = arg3; } void func_8008B8F0(s32 arg0, f32 arg1, f32 arg2, f32 arg3) { diff --git a/src/common_textures.h b/src/common_textures.h new file mode 100644 index 000000000..d57132d55 --- /dev/null +++ b/src/common_textures.h @@ -0,0 +1,335 @@ +#ifndef COMMON_TEXTURES_H +#define COMMON_TEXTURES_H + +#include +#include + +extern s8 D_0D000000[]; +extern s8 D_0D000200[]; +extern Vtx D_0D001200[]; +extern Vtx D_0D001210[]; +extern Vtx D_0D001240[]; +extern Vtx D_0D001270[]; +extern Vtx D_0D0012A0[]; +extern Vtx D_0D0012D0[]; +extern Vtx D_0D001300[]; +extern Vtx D_0D001330[]; +extern Vtx D_0D001360[]; +extern Vtx D_0D001390[]; +extern Vtx D_0D001590[]; +extern Vtx D_0D001710[]; +extern Gfx D_0D001750[]; +extern Gfx D_0D001780[]; +extern Gfx D_0D001798[]; +extern Gfx D_0D0017B0[]; +extern Gfx D_0D0017C8[]; +extern Gfx D_0D0017E0[]; +extern Gfx D_0D0017F8[]; +extern Gfx D_0D001810[]; +extern Gfx D_0D001828[]; +extern Gfx D_0D001840[]; +extern Gfx D_0D001AB8[]; +extern Gfx D_0D001B68[]; +extern Gfx D_0D001B90[]; +extern Gfx D_0D001BD8[]; +extern Gfx D_0D001C20[]; +extern Gfx D_0D001C88[]; +extern Vtx D_0D001CE8[]; +extern Vtx D_0D001D28[]; +extern Vtx D_0D001D68[]; +extern Vtx D_0D001D98[]; +extern Vtx D_0D001DC8[]; +extern Vtx D_0D001DF8[]; +extern Vtx D_0D001E28[]; +extern Vtx D_0D001E58[]; +extern Vtx D_0D001E88[]; +extern Vtx D_0D001EB8[]; +extern s8 gItemBoxQuestionMark_Texture[]; +extern Gfx D_0D002EE8[]; +extern Vtx D_0D002F40[]; +extern Gfx D_0D002F80[]; +extern Gfx D_0D003008[]; +extern Gfx D_0D003090[]; +extern Gfx D_0D0030F8[]; +extern Gfx D_0D003128[]; +extern Gfx D_0D003158[]; +extern Gfx D_0D003188[]; +extern Gfx D_0D0031B8[]; +extern Gfx D_0D0031E8[]; +extern Gfx D_0D003218[]; +extern Gfx D_0D003248[]; +extern Gfx D_0D003278[]; +extern Gfx D_0D003288[]; +extern Vtx D_0D003298[]; +extern Vtx D_0D0032E8[]; +extern s8 gBananaTexture[]; +extern s8 D_0D003B48[]; +extern Gfx D_0D004B48[]; +extern Gfx D_0D004BD8[]; +extern s8 D_0D004C68[]; +extern s8 D_0D004E38[]; +extern s8 D_0D004E68[]; +extern s8 D_0D005068[]; +extern Vtx D_0D005238[]; +extern Vtx D_0D005278[]; +extern Gfx D_0D0052B8[]; +extern Gfx D_0D005308[]; +extern Gfx D_0D005338[]; +extern Gfx D_0D005368[]; +extern Gfx D_0D005398[]; +extern Gfx D_0D0053B0[]; +extern Gfx D_0D0053C8[]; +extern Gfx D_0D0053F0[]; +extern Gfx D_0D005418[]; +extern Vtx D_0D005430[]; +extern Vtx D_0D005470[]; +extern Vtx D_0D0054B0[]; +extern Vtx D_0D005770[]; +extern Vtx D_0D0057B0[]; +extern Vtx D_0D0057F0[]; +extern Vtx D_0D0058E0[]; +extern Vtx D_0D005920[]; +extern Vtx D_0D005AA0[]; +extern Vtx D_0D005AE0[]; +extern Vtx D_0D005B20[]; +extern Vtx D_0D005B60[]; +extern Vtx D_0D005BD0[]; +extern Vtx D_0D005C00[]; +extern Vtx D_0D005C30[]; +extern Vtx D_0D005EB0[]; +extern Vtx D_0D005F30[]; +extern Vtx D_0D005FB0[]; +extern Vtx D_0D005FF0[]; +extern Vtx D_0D006030[]; +extern Vtx D_0D0060B0[]; +extern Vtx D_0D006130[]; +extern Vtx D_0D0061B0[]; +extern Vtx D_0D0062B0[]; +extern Vtx D_0D0064B0[]; +extern Vtx D_0D006730[]; +extern Vtx D_0D0068F0[]; +extern Gfx D_0D006930[]; +extern Gfx D_0D006940[]; +extern Gfx D_0D006950[]; +extern Gfx D_0D006968[]; +extern Gfx D_0D006980[]; +extern Gfx D_0D006998[]; +extern Gfx D_0D0069B0[]; +extern Gfx D_0D0069C8[]; +extern Gfx D_0D0069E0[]; +extern Gfx D_0D0069F8[]; +extern Gfx D_0D006A10[]; +extern Gfx D_0D006A28[]; +extern Gfx D_0D006A40[]; +extern s8 D_0D006A58[]; +extern s8 D_0D006AD8[]; +extern s8 D_0D006ED8[]; +extern s8 D_0D006EF8[]; +extern Gfx D_0D0076F8[]; +extern Gfx D_0D007780[]; +extern Gfx D_0D0077A0[]; +extern Gfx D_0D0077D0[]; +extern Gfx D_0D0077F8[]; +extern Gfx D_0D007828[]; +extern Gfx D_0D007850[]; +extern Gfx D_0D007878[]; +extern Gfx D_0D0078A0[]; +extern Gfx D_0D0078D0[]; +extern Gfx D_0D0078F8[]; +extern Gfx D_0D007928[]; +extern Gfx D_0D007948[]; +extern Gfx D_0D007968[]; +extern Gfx D_0D007988[]; +extern Gfx D_0D0079A8[]; +extern Gfx D_0D0079C8[]; +extern Gfx D_0D0079E8[]; +extern Gfx D_0D007A08[]; +extern Gfx D_0D007A40[]; +extern Gfx D_0D007A60[]; +extern Gfx D_0D007A80[]; +extern Gfx D_0D007AA0[]; +extern Gfx D_0D007AC0[]; +extern Gfx D_0D007AE0[]; +extern Gfx D_0D007B00[]; +extern Gfx D_0D007B20[]; +extern Gfx D_0D007B98[]; +extern Gfx D_0D007C10[]; +extern Gfx D_0D007C88[]; +extern Gfx D_0D007CB8[]; +extern Gfx D_0D007CD8[]; +extern Gfx D_0D007CF8[]; +extern Gfx D_0D007D18[]; +extern Gfx D_0D007D38[]; +extern Gfx D_0D007D58[]; +extern Gfx D_0D007D78[]; +extern Gfx D_0D007D98[]; +extern Gfx D_0D007DB8[]; +extern Gfx D_0D007DD8[]; +extern Gfx D_0D007DF8[]; +extern Gfx D_0D007E18[]; +extern Gfx D_0D007E38[]; +extern Gfx D_0D007E58[]; +extern Gfx D_0D007E78[]; +extern Gfx D_0D007E98[]; +extern Gfx D_0D007EB8[]; +extern Gfx D_0D007ED8[]; +extern Gfx D_0D007EF8[]; +extern Gfx D_0D007F18[]; +extern Gfx D_0D007F38[]; +extern Gfx D_0D007F58[]; +extern Gfx D_0D007F78[]; +extern Gfx D_0D007F98[]; +extern Gfx D_0D007FB8[]; +extern Gfx D_0D007FE0[]; +extern Gfx D_0D008000[]; +extern Gfx D_0D008020[]; +extern Gfx D_0D008040[]; +extern Gfx D_0D008060[]; +extern Gfx D_0D008080[]; +extern Gfx D_0D008108[]; +extern Gfx D_0D008120[]; +extern Gfx D_0D008138[]; +extern s8 D_0D008150[]; +extern s8 D_0D008470[]; +extern s8 D_0D008790[]; +extern Vtx D_0D008B78[]; +extern Vtx D_0D008BB8[]; +extern Vtx D_0D008BF8[]; +extern Vtx D_0D008C38[]; +extern Gfx D_0D008C78[]; +extern Gfx D_0D008C90[]; +extern Gfx D_0D008CD8[]; +extern Gfx D_0D008D10[]; +extern Gfx D_0D008D58[]; +extern Gfx D_0D008DA0[]; +extern Gfx D_0D008DB8[]; +extern Gfx D_0D008DF8[]; +extern Gfx D_0D008E20[]; +extern Gfx D_0D008E48[]; +extern Gfx D_0D008E70[]; +extern Vtx D_0D008E98[]; +extern f32 D_0D009418[]; +extern f32 D_0D009568[]; +extern f32 D_0D0096B8[]; +extern f32 D_0D009808[]; +extern s32 unkPad; +extern s8 D_0D009958[]; +extern s8 D_0D00A558[]; +extern s8 D_0D00A958[]; +extern s8 D_0D00AB58[]; +extern s8 D_0D00AD58[]; +extern s8 D_0D00B158[]; +extern s8 D_0D00B558[]; +extern s8 D_0D00B958[]; +extern s8 D_0D00BD58[]; +extern s8 D_0D00C158[]; +extern s8 D_0D00C558[]; +extern s8 D_0D00D258[]; +extern s8 D_0D00E258[]; +extern s8 D_0D00F258[]; +extern s8 D_0D010258[]; +extern s8 D_0D011258[]; +extern s8 D_0D012258[]; +extern s8 D_0D013258[]; +extern s8 D_0D014258[]; +extern s8 D_0D015258[]; +extern s8 D_0D015A58[]; +extern s8 D_0D016258[]; +extern s8 D_0D016A58[]; +extern s8 D_0D017258[]; +extern s16 tlutPad[]; +extern s8 D_0D017458[]; +extern s8 D_0D01A2D8[]; +extern s8 D_0D01A4D8[]; +extern s8 D_0D01A6D8[]; +extern s8 D_0D01A8D8[]; +extern s8 D_0D01AAD8[]; +extern s8 D_0D01ACD8[]; +extern s8 D_0D01AED8[]; +extern s8 D_0D01B0D8[]; +extern s8 D_0D01B2D8[]; +extern s8 D_0D01B4D8[]; +extern s8 D_0D01B6D8[]; +extern s8 D_0D01BAD8[]; +extern s8 D_0D01BED8[]; +extern s8 D_0D01C2D8[]; +extern s8 D_0D01C6D8[]; +extern s8 D_0D01CAD8[]; +extern s8 D_0D01CED8[]; +extern s8 D_0D01D2D8[]; +extern s8 D_0D01D6D8[]; +extern s8 D_0D01DAD8[]; +extern s8 D_0D01DED8[]; +extern s8 D_0D01E0D8[]; +extern s8 D_0D01E2D8[]; +extern s8 D_0D01E4D8[]; +extern s8 D_0D01E6D8[]; +extern s8 D_0D01E8D8[]; +extern s8 D_0D01EAD8[]; +extern s8 D_0D01ECD8[]; +extern s8 D_0D01EED8[]; +extern s8 D_0D01F0D8[]; +extern s8 D_0D01F2D8[]; +extern s8 D_0D01F4D8[]; +extern s8 D_0D01F6D8[]; +extern s8 D_0D01F8D8[]; +extern s8 D_0D01FAD8[]; +extern s8 D_0D01FCD8[]; +extern s8 D_0D01FED8[]; +extern s8 D_0D0203D8[]; +extern s8 D_0D0208D8[]; +extern s8 D_0D020DD8[]; +extern s8 D_0D0212D8[]; +extern s8 D_0D0217D8[]; +extern s8 D_0D021CD8[]; +extern s8 D_0D0221D8[]; +extern s8 D_0D0226D8[]; +extern s8 D_0D022BD8[]; +extern s8 D_0D0230D8[]; +extern s8 D_0D0235D8[]; +extern s8 D_0D023AD8[]; +extern s8 D_0D023FD8[]; +extern s8 D_0D0244D8[]; +extern s8 D_0D0249D8[]; +extern s8 D_0D024ED8[]; +extern s8 D_0D025ED8[]; +extern s8 D_0D0260D8[]; +extern s8 D_0D026558[]; +extern s8 D_0D0269D8[]; +extern s8 D_0D026E58[]; +extern s8 D_0D0272D8[]; +extern s8 D_0D027758[]; +extern s8 D_0D027BD8[]; +extern s8 D_0D028058[]; +extern s8 D_0D0284D8[]; +extern s8 D_0D028958[]; +extern s8 D_0D028DD8[]; +extern s8 D_0D0291D8[]; +extern s8 D_0D0293D8[]; +extern s8 D_0D029458[]; +extern s8 D_0D029858[]; +extern s8 D_0D029C58[]; +extern s8 D_0D02A058[]; +extern s8 D_0D02A458[]; +extern s8 D_0D02A858[]; +extern s8 D_0D02AA58[]; +extern s8 D_0D02AC58[]; +extern s8 D_0D02B058[]; +extern s8 D_0D02B458[]; +extern s8 D_0D02B858[]; +extern s8 D_0D02BC58[]; +extern s8 D_0D02C058[]; +extern s8 D_0D02C458[]; +extern s8 D_0D02C858[]; +extern s8 D_0D02CC58[]; +extern s8 D_0D02CCD8[]; +extern s8 D_0D02CD58[]; +extern s8 D_0D02CDD8[]; +extern s8 D_0D02CE58[]; +extern s8 D_0D02CED8[]; +extern s8 D_0D02CF58[]; +extern s8 D_0D02CFD8[]; +extern s8 D_0D02D058[]; +extern s8 D_0D02D0D8[]; + +#endif diff --git a/src/common_textures.inc.c b/src/common_textures.inc.c index c439e8294..ee4ac13dd 100644 --- a/src/common_textures.inc.c +++ b/src/common_textures.inc.c @@ -2216,7 +2216,7 @@ s8 D_0D00A558[] = { }; // Lap UI Texture -s8 D_D00A958[] = { +s8 D_0D00A958[] = { #include "textures/132B50_0A958.rgba16.inc.c" }; diff --git a/src/math_util_2.c b/src/math_util_2.c index 61c5af1e3..f9d8d0c0f 100644 --- a/src/math_util_2.c +++ b/src/math_util_2.c @@ -746,7 +746,7 @@ UNUSED void func_8004252C(Mat4 arg0, u16 arg1, u16 arg2) { arg0[2][2] = sp28 * temp_f0; } -void func_800425D0(Mat4 arg0, Vec3f arg1, Vec3s arg2, f32 arg3) { +void func_800425D0(Mat4 arg0, Vec3f arg1, Vec3su arg2, f32 arg3) { f32 sp44 = sins(arg2[0]); f32 temp_f22 = coss(arg2[0]); f32 sp3C = sins(arg2[1]); @@ -808,12 +808,12 @@ void func_800427DC(s32 arg0, Mat4 arg1) { f32 temp_f0; f32 temp_f20; - sp3C = sins(temp_s0->unk_0B2); - temp_f20 = coss(temp_s0->unk_0B2); - sp34 = sins(temp_s0->unk_0B4); - sp30 = coss(temp_s0->unk_0B4); - sp2C = sins(temp_s0->unk_0B6); - temp_f0 = coss(temp_s0->unk_0B6); + sp3C = sins(temp_s0->unk_0B2[0]); + temp_f20 = coss(temp_s0->unk_0B2[0]); + sp34 = sins(temp_s0->unk_0B2[1]); + sp30 = coss(temp_s0->unk_0B2[1]); + sp2C = sins(temp_s0->unk_0B2[2]); + temp_f0 = coss(temp_s0->unk_0B2[2]); arg1[0][0] = temp_s0->unk_000 * ((sp30 * temp_f0) + (sp3C * sp34 * sp2C)); arg1[1][0] = temp_s0->unk_000 * ((-sp30 * sp2C) + sp3C * sp34 * temp_f0); @@ -938,7 +938,7 @@ void func_80042D14(Vec3f arg0, Vec3f arg1, Vec3s arg2) { arg0[2] = ((sp2C * cosine1 * sine2) - (sp28 * sine1)) + (sp24 * cosine1 * cosine2); } -void func_80042E00(Vec3f arg0, Vec3s arg1, f32 arg2) { +void func_80042E00(Vec3f arg0, Vec3su arg1, f32 arg2) { Mat4 matrix; func_800425D0(matrix, arg0, arg1, arg2); diff --git a/src/math_util_2.h b/src/math_util_2.h index f4dcced42..294200ee9 100644 --- a/src/math_util_2.h +++ b/src/math_util_2.h @@ -70,12 +70,12 @@ void func_80041D24(); void func_80041D34(); void func_80041EF4(); void func_80042330(s32, s32, u16, f32); -void func_800425D0(Mat4, Vec3f, Vec3s, f32); +void func_800425D0(Mat4, Vec3f, Vec3su, f32); void func_80042760(Mat4, Vec3f, Vec3f, f32); void func_800427DC(s32, Mat4); void func_80042A20(Mat4, Vec3f, Vec3f, u16, f32); void func_80042D14(Vec3f, Vec3f, Vec3s); -void func_80042E00(Vec3f, Vec3s, f32); +void func_80042E00(Vec3f, Vec3su, f32); void func_80042F70(Vec3f, Vec3su, f32); void func_80043050(Vec3f, Vec3f, f32); void func_80043104(s32);