From af8ca42a0c1fdc44b6b73aa4debaa299ae95e603 Mon Sep 17 00:00:00 2001 From: Tyler McGavran Date: Sun, 13 Feb 2022 03:12:06 -0500 Subject: [PATCH] Match several functions (#162) Signed-off-by: Taggerung --- .../code_80091750/func_8009A344.s | 14 - .../code_80091750/func_8009E620.s | 14 - .../code_80091750/func_800A7790.s | 69 ---- .../code_80091750/func_800A91D8.s | 13 - .../code_80091750/func_800A9208.s | 34 -- .../code_80091750/func_800A9278.s | 34 -- .../code_80091750/func_800A92E8.s | 89 ----- .../code_80091750/func_800A940C.s | 57 --- .../code_80091750/func_800A94C8.s | 41 -- src/code_80091750.c | 366 ++++++------------ src/code_80091750.h | 10 + 11 files changed, 136 insertions(+), 605 deletions(-) delete mode 100644 asm/non_matchings/code_80091750/func_8009A344.s delete mode 100644 asm/non_matchings/code_80091750/func_8009E620.s delete mode 100644 asm/non_matchings/code_80091750/func_800A7790.s delete mode 100644 asm/non_matchings/code_80091750/func_800A91D8.s delete mode 100644 asm/non_matchings/code_80091750/func_800A9208.s delete mode 100644 asm/non_matchings/code_80091750/func_800A9278.s delete mode 100644 asm/non_matchings/code_80091750/func_800A92E8.s delete mode 100644 asm/non_matchings/code_80091750/func_800A940C.s delete mode 100644 asm/non_matchings/code_80091750/func_800A94C8.s diff --git a/asm/non_matchings/code_80091750/func_8009A344.s b/asm/non_matchings/code_80091750/func_8009A344.s deleted file mode 100644 index e6d9d9011..000000000 --- a/asm/non_matchings/code_80091750/func_8009A344.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_8009A344 -/* 09AF44 8009A344 3C038019 */ lui $v1, %hi(D_8018DEE0) # $v1, 0x8019 -/* 09AF48 8009A348 3C028019 */ lui $v0, %hi(D_8018E060) # $v0, 0x8019 -/* 09AF4C 8009A34C 2442E060 */ addiu $v0, %lo(D_8018E060) # addiu $v0, $v0, -0x1fa0 -/* 09AF50 8009A350 2463DEE0 */ addiu $v1, %lo(D_8018DEE0) # addiu $v1, $v1, -0x2120 -.L8009A354: -/* 09AF54 8009A354 24630060 */ addiu $v1, $v1, 0x60 -/* 09AF58 8009A358 AC60FFC4 */ sw $zero, -0x3c($v1) -/* 09AF5C 8009A35C AC60FFDC */ sw $zero, -0x24($v1) -/* 09AF60 8009A360 AC60FFF4 */ sw $zero, -0xc($v1) -/* 09AF64 8009A364 1462FFFB */ bne $v1, $v0, .L8009A354 -/* 09AF68 8009A368 AC60FFAC */ sw $zero, -0x54($v1) -/* 09AF6C 8009A36C 03E00008 */ jr $ra -/* 09AF70 8009A370 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/func_8009E620.s b/asm/non_matchings/code_80091750/func_8009E620.s deleted file mode 100644 index 534ad6061..000000000 --- a/asm/non_matchings/code_80091750/func_8009E620.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_8009E620 -/* 09F220 8009E620 3C038019 */ lui $v1, %hi(D_8018D9E0) # $v1, 0x8019 -/* 09F224 8009E624 3C028019 */ lui $v0, %hi(D_8018DEE0) # $v0, 0x8019 -/* 09F228 8009E628 2442DEE0 */ addiu $v0, %lo(D_8018DEE0) # addiu $v0, $v0, -0x2120 -/* 09F22C 8009E62C 2463D9E0 */ addiu $v1, %lo(D_8018D9E0) # addiu $v1, $v1, -0x2620 -.L8009E630: -/* 09F230 8009E630 246300A0 */ addiu $v1, $v1, 0xa0 -/* 09F234 8009E634 AC60FF88 */ sw $zero, -0x78($v1) -/* 09F238 8009E638 AC60FFB0 */ sw $zero, -0x50($v1) -/* 09F23C 8009E63C AC60FFD8 */ sw $zero, -0x28($v1) -/* 09F240 8009E640 1462FFFB */ bne $v1, $v0, .L8009E630 -/* 09F244 8009E644 AC60FF60 */ sw $zero, -0xa0($v1) -/* 09F248 8009E648 03E00008 */ jr $ra -/* 09F24C 8009E64C 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/func_800A7790.s b/asm/non_matchings/code_80091750/func_800A7790.s deleted file mode 100644 index c92b8f21d..000000000 --- a/asm/non_matchings/code_80091750/func_800A7790.s +++ /dev/null @@ -1,69 +0,0 @@ -glabel func_800A7790 -/* 0A8390 800A7790 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0A8394 800A7794 AFBF0024 */ sw $ra, 0x24($sp) -/* 0A8398 800A7798 AFB00020 */ sw $s0, 0x20($sp) -/* 0A839C 800A779C 8C880000 */ lw $t0, ($a0) -/* 0A83A0 800A77A0 3C0F8028 */ lui $t7, %hi(D_802850C0) # $t7, 0x8028 -/* 0A83A4 800A77A4 25EF50C0 */ addiu $t7, %lo(D_802850C0) # addiu $t7, $t7, 0x50c0 -/* 0A83A8 800A77A8 2508FE70 */ addiu $t0, $t0, -0x190 -/* 0A83AC 800A77AC 00087100 */ sll $t6, $t0, 4 -/* 0A83B0 800A77B0 00808025 */ move $s0, $a0 -/* 0A83B4 800A77B4 01CF1021 */ addu $v0, $t6, $t7 -/* 0A83B8 800A77B8 8044000D */ lb $a0, 0xd($v0) -/* 0A83BC 800A77BC AFA2002C */ sw $v0, 0x2c($sp) -/* 0A83C0 800A77C0 0C024C36 */ jal set_text_color -/* 0A83C4 800A77C4 AFA80038 */ sw $t0, 0x38($sp) -/* 0A83C8 800A77C8 8FA2002C */ lw $v0, 0x2c($sp) -/* 0A83CC 800A77CC 8FA80038 */ lw $t0, 0x38($sp) -/* 0A83D0 800A77D0 24010001 */ li $at, 1 -/* 0A83D4 800A77D4 8043000C */ lb $v1, 0xc($v0) -/* 0A83D8 800A77D8 50600004 */ beql $v1, $zero, .L800A77EC -/* 0A83DC 800A77DC 8E19001C */ lw $t9, 0x1c($s0) -/* 0A83E0 800A77E0 50610016 */ beql $v1, $at, .L800A783C -/* 0A83E4 800A77E4 8E0B001C */ lw $t3, 0x1c($s0) -/* 0A83E8 800A77E8 8E19001C */ lw $t9, 0x1c($s0) -.L800A77EC: -/* 0A83EC 800A77EC C4400000 */ lwc1 $f0, ($v0) -/* 0A83F0 800A77F0 C6100024 */ lwc1 $f16, 0x24($s0) -/* 0A83F4 800A77F4 44992000 */ mtc1 $t9, $f4 -/* 0A83F8 800A77F8 0008C080 */ sll $t8, $t0, 2 -/* 0A83FC 800A77FC 3C068028 */ lui $a2, %hi(D_802854B0) # 0x8028 -/* 0A8400 800A7800 468021A0 */ cvt.s.w $f6, $f4 -/* 0A8404 800A7804 00D83021 */ addu $a2, $a2, $t8 -/* 0A8408 800A7808 8E04000C */ lw $a0, 0xc($s0) -/* 0A840C 800A780C 8E050010 */ lw $a1, 0x10($s0) -/* 0A8410 800A7810 8CC654B0 */ lw $a2, %lo(D_802854B0)($a2) # 0x54b0($a2) -/* 0A8414 800A7814 E7A00014 */ swc1 $f0, 0x14($sp) -/* 0A8418 800A7818 46003202 */ mul.s $f8, $f6, $f0 -/* 0A841C 800A781C 4600428D */ trunc.w.s $f10, $f8 -/* 0A8420 800A7820 46008482 */ mul.s $f18, $f16, $f0 -/* 0A8424 800A7824 44075000 */ mfc1 $a3, $f10 -/* 0A8428 800A7828 0C024DAE */ jal func_800936B8 -/* 0A842C 800A782C E7B20010 */ swc1 $f18, 0x10($sp) -/* 0A8430 800A7830 10000014 */ b .L800A7884 -/* 0A8434 800A7834 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A8438 800A7838 8E0B001C */ lw $t3, 0x1c($s0) -.L800A783C: -/* 0A843C 800A783C C4400000 */ lwc1 $f0, ($v0) -/* 0A8440 800A7840 C6100024 */ lwc1 $f16, 0x24($s0) -/* 0A8444 800A7844 448B2000 */ mtc1 $t3, $f4 -/* 0A8448 800A7848 00085080 */ sll $t2, $t0, 2 -/* 0A844C 800A784C 3C068028 */ lui $a2, %hi(D_802854B0) # 0x8028 -/* 0A8450 800A7850 468021A0 */ cvt.s.w $f6, $f4 -/* 0A8454 800A7854 00CA3021 */ addu $a2, $a2, $t2 -/* 0A8458 800A7858 8E04000C */ lw $a0, 0xc($s0) -/* 0A845C 800A785C 8E050010 */ lw $a1, 0x10($s0) -/* 0A8460 800A7860 8CC654B0 */ lw $a2, %lo(D_802854B0)($a2) # 0x54b0($a2) -/* 0A8464 800A7864 E7A00014 */ swc1 $f0, 0x14($sp) -/* 0A8468 800A7868 46003202 */ mul.s $f8, $f6, $f0 -/* 0A846C 800A786C 4600428D */ trunc.w.s $f10, $f8 -/* 0A8470 800A7870 46008482 */ mul.s $f18, $f16, $f0 -/* 0A8474 800A7874 44075000 */ mfc1 $a3, $f10 -/* 0A8478 800A7878 0C024CC9 */ jal func_80093324 -/* 0A847C 800A787C E7B20010 */ swc1 $f18, 0x10($sp) -/* 0A8480 800A7880 8FBF0024 */ lw $ra, 0x24($sp) -.L800A7884: -/* 0A8484 800A7884 8FB00020 */ lw $s0, 0x20($sp) -/* 0A8488 800A7888 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0A848C 800A788C 03E00008 */ jr $ra -/* 0A8490 800A7890 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/func_800A91D8.s b/asm/non_matchings/code_80091750/func_800A91D8.s deleted file mode 100644 index a4c4552ee..000000000 --- a/asm/non_matchings/code_80091750/func_800A91D8.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel func_800A91D8 -/* 0A9DD8 800A91D8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A9DDC 800A91DC AFBF0014 */ sw $ra, 0x14($sp) -/* 0A9DE0 800A91E0 AFA40018 */ sw $a0, 0x18($sp) -/* 0A9DE4 800A91E4 0C02A482 */ jal func_800A9208 -/* 0A9DE8 800A91E8 AFA60020 */ sw $a2, 0x20($sp) -/* 0A9DEC 800A91EC 8FA40018 */ lw $a0, 0x18($sp) -/* 0A9DF0 800A91F0 0C02A49E */ jal func_800A9278 -/* 0A9DF4 800A91F4 8FA50020 */ lw $a1, 0x20($sp) -/* 0A9DF8 800A91F8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A9DFC 800A91FC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A9E00 800A9200 03E00008 */ jr $ra -/* 0A9E04 800A9204 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/func_800A9208.s b/asm/non_matchings/code_80091750/func_800A9208.s deleted file mode 100644 index 3499e27a8..000000000 --- a/asm/non_matchings/code_80091750/func_800A9208.s +++ /dev/null @@ -1,34 +0,0 @@ -glabel func_800A9208 -/* 0A9E08 800A9208 8C83000C */ lw $v1, 0xc($a0) -/* 0A9E0C 800A920C 00A31023 */ subu $v0, $a1, $v1 -/* 0A9E10 800A9210 50400017 */ beql $v0, $zero, .L800A9270 -/* 0A9E14 800A9214 0062C021 */ addu $t8, $v1, $v0 -/* 0A9E18 800A9218 1840000B */ blez $v0, .L800A9248 -/* 0A9E1C 800A921C 00000000 */ nop -/* 0A9E20 800A9220 04410003 */ bgez $v0, .L800A9230 -/* 0A9E24 800A9224 00027083 */ sra $t6, $v0, 2 -/* 0A9E28 800A9228 24410003 */ addiu $at, $v0, 3 -/* 0A9E2C 800A922C 00017083 */ sra $t6, $at, 2 -.L800A9230: -/* 0A9E30 800A9230 25C20001 */ addiu $v0, $t6, 1 -/* 0A9E34 800A9234 28410011 */ slti $at, $v0, 0x11 -/* 0A9E38 800A9238 5420000D */ bnel $at, $zero, .L800A9270 -/* 0A9E3C 800A923C 0062C021 */ addu $t8, $v1, $v0 -/* 0A9E40 800A9240 1000000A */ b .L800A926C -/* 0A9E44 800A9244 24020010 */ li $v0, 16 -.L800A9248: -/* 0A9E48 800A9248 04410003 */ bgez $v0, .L800A9258 -/* 0A9E4C 800A924C 00027883 */ sra $t7, $v0, 2 -/* 0A9E50 800A9250 24410003 */ addiu $at, $v0, 3 -/* 0A9E54 800A9254 00017883 */ sra $t7, $at, 2 -.L800A9258: -/* 0A9E58 800A9258 25E2FFFF */ addiu $v0, $t7, -1 -/* 0A9E5C 800A925C 2841FFF0 */ slti $at, $v0, -0x10 -/* 0A9E60 800A9260 50200003 */ beql $at, $zero, .L800A9270 -/* 0A9E64 800A9264 0062C021 */ addu $t8, $v1, $v0 -/* 0A9E68 800A9268 2402FFF0 */ li $v0, -16 -.L800A926C: -/* 0A9E6C 800A926C 0062C021 */ addu $t8, $v1, $v0 -.L800A9270: -/* 0A9E70 800A9270 03E00008 */ jr $ra -/* 0A9E74 800A9274 AC98000C */ sw $t8, 0xc($a0) diff --git a/asm/non_matchings/code_80091750/func_800A9278.s b/asm/non_matchings/code_80091750/func_800A9278.s deleted file mode 100644 index 3d936b605..000000000 --- a/asm/non_matchings/code_80091750/func_800A9278.s +++ /dev/null @@ -1,34 +0,0 @@ -glabel func_800A9278 -/* 0A9E78 800A9278 8C830010 */ lw $v1, 0x10($a0) -/* 0A9E7C 800A927C 00A31023 */ subu $v0, $a1, $v1 -/* 0A9E80 800A9280 50400017 */ beql $v0, $zero, .L800A92E0 -/* 0A9E84 800A9284 0062C021 */ addu $t8, $v1, $v0 -/* 0A9E88 800A9288 1840000B */ blez $v0, .L800A92B8 -/* 0A9E8C 800A928C 00000000 */ nop -/* 0A9E90 800A9290 04410003 */ bgez $v0, .L800A92A0 -/* 0A9E94 800A9294 00027083 */ sra $t6, $v0, 2 -/* 0A9E98 800A9298 24410003 */ addiu $at, $v0, 3 -/* 0A9E9C 800A929C 00017083 */ sra $t6, $at, 2 -.L800A92A0: -/* 0A9EA0 800A92A0 25C20001 */ addiu $v0, $t6, 1 -/* 0A9EA4 800A92A4 28410011 */ slti $at, $v0, 0x11 -/* 0A9EA8 800A92A8 5420000D */ bnel $at, $zero, .L800A92E0 -/* 0A9EAC 800A92AC 0062C021 */ addu $t8, $v1, $v0 -/* 0A9EB0 800A92B0 1000000A */ b .L800A92DC -/* 0A9EB4 800A92B4 24020010 */ li $v0, 16 -.L800A92B8: -/* 0A9EB8 800A92B8 04410003 */ bgez $v0, .L800A92C8 -/* 0A9EBC 800A92BC 00027883 */ sra $t7, $v0, 2 -/* 0A9EC0 800A92C0 24410003 */ addiu $at, $v0, 3 -/* 0A9EC4 800A92C4 00017883 */ sra $t7, $at, 2 -.L800A92C8: -/* 0A9EC8 800A92C8 25E2FFFF */ addiu $v0, $t7, -1 -/* 0A9ECC 800A92CC 2841FFF0 */ slti $at, $v0, -0x10 -/* 0A9ED0 800A92D0 50200003 */ beql $at, $zero, .L800A92E0 -/* 0A9ED4 800A92D4 0062C021 */ addu $t8, $v1, $v0 -/* 0A9ED8 800A92D8 2402FFF0 */ li $v0, -16 -.L800A92DC: -/* 0A9EDC 800A92DC 0062C021 */ addu $t8, $v1, $v0 -.L800A92E0: -/* 0A9EE0 800A92E0 03E00008 */ jr $ra -/* 0A9EE4 800A92E4 AC980010 */ sw $t8, 0x10($a0) diff --git a/asm/non_matchings/code_80091750/func_800A92E8.s b/asm/non_matchings/code_80091750/func_800A92E8.s deleted file mode 100644 index 78beee740..000000000 --- a/asm/non_matchings/code_80091750/func_800A92E8.s +++ /dev/null @@ -1,89 +0,0 @@ -glabel func_800A92E8 -/* 0A9EE8 800A92E8 8C83000C */ lw $v1, 0xc($a0) -/* 0A9EEC 800A92EC 00A31023 */ subu $v0, $a1, $v1 -/* 0A9EF0 800A92F0 10400028 */ beqz $v0, .L800A9394 -/* 0A9EF4 800A92F4 00000000 */ nop -/* 0A9EF8 800A92F8 18400014 */ blez $v0, .L800A934C -/* 0A9EFC 800A92FC 00000000 */ nop -/* 0A9F00 800A9300 04410003 */ bgez $v0, .L800A9310 -/* 0A9F04 800A9304 00027083 */ sra $t6, $v0, 2 -/* 0A9F08 800A9308 24410003 */ addiu $at, $v0, 3 -/* 0A9F0C 800A930C 00017083 */ sra $t6, $at, 2 -.L800A9310: -/* 0A9F10 800A9310 25C20001 */ addiu $v0, $t6, 1 -/* 0A9F14 800A9314 28410011 */ slti $at, $v0, 0x11 -/* 0A9F18 800A9318 54200003 */ bnel $at, $zero, .L800A9328 -/* 0A9F1C 800A931C 28410008 */ slti $at, $v0, 8 -/* 0A9F20 800A9320 24020010 */ li $v0, 16 -/* 0A9F24 800A9324 28410008 */ slti $at, $v0, 8 -.L800A9328: -/* 0A9F28 800A9328 50200003 */ beql $at, $zero, .L800A9338 -/* 0A9F2C 800A932C 00627821 */ addu $t7, $v1, $v0 -/* 0A9F30 800A9330 24020008 */ li $v0, 8 -/* 0A9F34 800A9334 00627821 */ addu $t7, $v1, $v0 -.L800A9338: -/* 0A9F38 800A9338 00AF082A */ slt $at, $a1, $t7 -/* 0A9F3C 800A933C 10200015 */ beqz $at, .L800A9394 -/* 0A9F40 800A9340 AC8F000C */ sw $t7, 0xc($a0) -/* 0A9F44 800A9344 03E00008 */ jr $ra -/* 0A9F48 800A9348 AC85000C */ sw $a1, 0xc($a0) - -.L800A934C: -/* 0A9F4C 800A934C 04410003 */ bgez $v0, .L800A935C -/* 0A9F50 800A9350 0002C883 */ sra $t9, $v0, 2 -/* 0A9F54 800A9354 24410003 */ addiu $at, $v0, 3 -/* 0A9F58 800A9358 0001C883 */ sra $t9, $at, 2 -.L800A935C: -/* 0A9F5C 800A935C 2722FFFF */ addiu $v0, $t9, -1 -/* 0A9F60 800A9360 2841FFF0 */ slti $at, $v0, -0x10 -/* 0A9F64 800A9364 50200003 */ beql $at, $zero, .L800A9374 -/* 0A9F68 800A9368 2841FFF8 */ slti $at, $v0, -8 -/* 0A9F6C 800A936C 2402FFF0 */ li $v0, -16 -/* 0A9F70 800A9370 2841FFF8 */ slti $at, $v0, -8 -.L800A9374: -/* 0A9F74 800A9374 50200003 */ beql $at, $zero, .L800A9384 -/* 0A9F78 800A9378 00624021 */ addu $t0, $v1, $v0 -/* 0A9F7C 800A937C 2402FFF8 */ li $v0, -8 -/* 0A9F80 800A9380 00624021 */ addu $t0, $v1, $v0 -.L800A9384: -/* 0A9F84 800A9384 0105082A */ slt $at, $t0, $a1 -/* 0A9F88 800A9388 10200002 */ beqz $at, .L800A9394 -/* 0A9F8C 800A938C AC88000C */ sw $t0, 0xc($a0) -/* 0A9F90 800A9390 AC85000C */ sw $a1, 0xc($a0) -.L800A9394: -/* 0A9F94 800A9394 03E00008 */ jr $ra -/* 0A9F98 800A9398 00000000 */ nop - -/* 0A9F9C 800A939C 8C830010 */ lw $v1, 0x10($a0) -/* 0A9FA0 800A93A0 00A31023 */ subu $v0, $a1, $v1 -/* 0A9FA4 800A93A4 50400017 */ beql $v0, $zero, .L800A9404 -/* 0A9FA8 800A93A8 0062C021 */ addu $t8, $v1, $v0 -/* 0A9FAC 800A93AC 1840000B */ blez $v0, .L800A93DC -/* 0A9FB0 800A93B0 00000000 */ nop -/* 0A9FB4 800A93B4 04410003 */ bgez $v0, .L800A93C4 -/* 0A9FB8 800A93B8 00027083 */ sra $t6, $v0, 2 -/* 0A9FBC 800A93BC 24410003 */ addiu $at, $v0, 3 -/* 0A9FC0 800A93C0 00017083 */ sra $t6, $at, 2 -.L800A93C4: -/* 0A9FC4 800A93C4 25C20001 */ addiu $v0, $t6, 1 -/* 0A9FC8 800A93C8 28410011 */ slti $at, $v0, 0x11 -/* 0A9FCC 800A93CC 5420000D */ bnel $at, $zero, .L800A9404 -/* 0A9FD0 800A93D0 0062C021 */ addu $t8, $v1, $v0 -/* 0A9FD4 800A93D4 1000000A */ b .L800A9400 -/* 0A9FD8 800A93D8 24020010 */ li $v0, 16 -.L800A93DC: -/* 0A9FDC 800A93DC 04410003 */ bgez $v0, .L800A93EC -/* 0A9FE0 800A93E0 00027883 */ sra $t7, $v0, 2 -/* 0A9FE4 800A93E4 24410003 */ addiu $at, $v0, 3 -/* 0A9FE8 800A93E8 00017883 */ sra $t7, $at, 2 -.L800A93EC: -/* 0A9FEC 800A93EC 25E2FFFF */ addiu $v0, $t7, -1 -/* 0A9FF0 800A93F0 2841FFF0 */ slti $at, $v0, -0x10 -/* 0A9FF4 800A93F4 50200003 */ beql $at, $zero, .L800A9404 -/* 0A9FF8 800A93F8 0062C021 */ addu $t8, $v1, $v0 -/* 0A9FFC 800A93FC 2402FFF0 */ li $v0, -16 -.L800A9400: -/* 0AA000 800A9400 0062C021 */ addu $t8, $v1, $v0 -.L800A9404: -/* 0AA004 800A9404 03E00008 */ jr $ra -/* 0AA008 800A9408 AC980010 */ sw $t8, 0x10($a0) diff --git a/asm/non_matchings/code_80091750/func_800A940C.s b/asm/non_matchings/code_80091750/func_800A940C.s deleted file mode 100644 index c94e9660d..000000000 --- a/asm/non_matchings/code_80091750/func_800A940C.s +++ /dev/null @@ -1,57 +0,0 @@ -glabel func_800A940C -/* 0AA00C 800A940C 8C83000C */ lw $v1, 0xc($a0) -/* 0AA010 800A9410 240E00C8 */ li $t6, 200 -/* 0AA014 800A9414 00A31023 */ subu $v0, $a1, $v1 -/* 0AA018 800A9418 10400029 */ beqz $v0, .L800A94C0 -/* 0AA01C 800A941C 00000000 */ nop -/* 0AA020 800A9420 01C2001A */ div $zero, $t6, $v0 -/* 0AA024 800A9424 14400002 */ bnez $v0, .L800A9430 -/* 0AA028 800A9428 00000000 */ nop -/* 0AA02C 800A942C 0007000D */ break 7 -.L800A9430: -/* 0AA030 800A9430 2401FFFF */ li $at, -1 -/* 0AA034 800A9434 14410004 */ bne $v0, $at, .L800A9448 -/* 0AA038 800A9438 3C018000 */ lui $at, 0x8000 -/* 0AA03C 800A943C 15C10002 */ bne $t6, $at, .L800A9448 -/* 0AA040 800A9440 00000000 */ nop -/* 0AA044 800A9444 0006000D */ break 6 -.L800A9448: -/* 0AA048 800A9448 00001012 */ mflo $v0 -/* 0AA04C 800A944C 2841FFE8 */ slti $at, $v0, -0x18 -/* 0AA050 800A9450 1840000F */ blez $v0, .L800A9490 -/* 0AA054 800A9454 00000000 */ nop -/* 0AA058 800A9458 28410019 */ slti $at, $v0, 0x19 -/* 0AA05C 800A945C 54200003 */ bnel $at, $zero, .L800A946C -/* 0AA060 800A9460 28410010 */ slti $at, $v0, 0x10 -/* 0AA064 800A9464 24020018 */ li $v0, 24 -/* 0AA068 800A9468 28410010 */ slti $at, $v0, 0x10 -.L800A946C: -/* 0AA06C 800A946C 50200003 */ beql $at, $zero, .L800A947C -/* 0AA070 800A9470 00627821 */ addu $t7, $v1, $v0 -/* 0AA074 800A9474 24020010 */ li $v0, 16 -/* 0AA078 800A9478 00627821 */ addu $t7, $v1, $v0 -.L800A947C: -/* 0AA07C 800A947C 00AF082A */ slt $at, $a1, $t7 -/* 0AA080 800A9480 1020000F */ beqz $at, .L800A94C0 -/* 0AA084 800A9484 AC8F000C */ sw $t7, 0xc($a0) -/* 0AA088 800A9488 03E00008 */ jr $ra -/* 0AA08C 800A948C AC85000C */ sw $a1, 0xc($a0) - -.L800A9490: -/* 0AA090 800A9490 50200003 */ beql $at, $zero, .L800A94A0 -/* 0AA094 800A9494 2841FFF1 */ slti $at, $v0, -0xf -/* 0AA098 800A9498 2402FFE8 */ li $v0, -24 -/* 0AA09C 800A949C 2841FFF1 */ slti $at, $v0, -0xf -.L800A94A0: -/* 0AA0A0 800A94A0 54200003 */ bnel $at, $zero, .L800A94B0 -/* 0AA0A4 800A94A4 0062C821 */ addu $t9, $v1, $v0 -/* 0AA0A8 800A94A8 2402FFF0 */ li $v0, -16 -/* 0AA0AC 800A94AC 0062C821 */ addu $t9, $v1, $v0 -.L800A94B0: -/* 0AA0B0 800A94B0 0325082A */ slt $at, $t9, $a1 -/* 0AA0B4 800A94B4 10200002 */ beqz $at, .L800A94C0 -/* 0AA0B8 800A94B8 AC99000C */ sw $t9, 0xc($a0) -/* 0AA0BC 800A94BC AC85000C */ sw $a1, 0xc($a0) -.L800A94C0: -/* 0AA0C0 800A94C0 03E00008 */ jr $ra -/* 0AA0C4 800A94C4 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/func_800A94C8.s b/asm/non_matchings/code_80091750/func_800A94C8.s deleted file mode 100644 index 3c1d33970..000000000 --- a/asm/non_matchings/code_80091750/func_800A94C8.s +++ /dev/null @@ -1,41 +0,0 @@ -glabel func_800A94C8 -/* 0AA0C8 800A94C8 8C82000C */ lw $v0, 0xc($a0) -/* 0AA0CC 800A94CC 14A20004 */ bne $a1, $v0, .L800A94E0 -/* 0AA0D0 800A94D0 00A21823 */ subu $v1, $a1, $v0 -/* 0AA0D4 800A94D4 00467021 */ addu $t6, $v0, $a2 -/* 0AA0D8 800A94D8 03E00008 */ jr $ra -/* 0AA0DC 800A94DC AC8E000C */ sw $t6, 0xc($a0) - -.L800A94E0: -/* 0AA0E0 800A94E0 50600017 */ beql $v1, $zero, .L800A9540 -/* 0AA0E4 800A94E4 0043C823 */ subu $t9, $v0, $v1 -/* 0AA0E8 800A94E8 1860000B */ blez $v1, .L800A9518 -/* 0AA0EC 800A94EC 00000000 */ nop -/* 0AA0F0 800A94F0 04610003 */ bgez $v1, .L800A9500 -/* 0AA0F4 800A94F4 00037883 */ sra $t7, $v1, 2 -/* 0AA0F8 800A94F8 24610003 */ addiu $at, $v1, 3 -/* 0AA0FC 800A94FC 00017883 */ sra $t7, $at, 2 -.L800A9500: -/* 0AA100 800A9500 25E30001 */ addiu $v1, $t7, 1 -/* 0AA104 800A9504 28610011 */ slti $at, $v1, 0x11 -/* 0AA108 800A9508 5420000D */ bnel $at, $zero, .L800A9540 -/* 0AA10C 800A950C 0043C823 */ subu $t9, $v0, $v1 -/* 0AA110 800A9510 1000000A */ b .L800A953C -/* 0AA114 800A9514 24030010 */ li $v1, 16 -.L800A9518: -/* 0AA118 800A9518 04610003 */ bgez $v1, .L800A9528 -/* 0AA11C 800A951C 0003C083 */ sra $t8, $v1, 2 -/* 0AA120 800A9520 24610003 */ addiu $at, $v1, 3 -/* 0AA124 800A9524 0001C083 */ sra $t8, $at, 2 -.L800A9528: -/* 0AA128 800A9528 2703FFFF */ addiu $v1, $t8, -1 -/* 0AA12C 800A952C 2861FFF0 */ slti $at, $v1, -0x10 -/* 0AA130 800A9530 50200003 */ beql $at, $zero, .L800A9540 -/* 0AA134 800A9534 0043C823 */ subu $t9, $v0, $v1 -/* 0AA138 800A9538 2403FFF0 */ li $v1, -16 -.L800A953C: -/* 0AA13C 800A953C 0043C823 */ subu $t9, $v0, $v1 -.L800A9540: -/* 0AA140 800A9540 AC99000C */ sw $t9, 0xc($a0) -/* 0AA144 800A9544 03E00008 */ jr $ra -/* 0AA148 800A9548 00000000 */ nop diff --git a/src/code_80091750.c b/src/code_80091750.c index c1b330a07..21f57c614 100644 --- a/src/code_80091750.c +++ b/src/code_80091750.c @@ -4467,28 +4467,12 @@ loop_6: GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099EC4.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern ? D_8018DEE0; -extern ? D_8018E060; - void func_8009A344(void) { - ? *temp_v1; - ? *phi_v1; - - phi_v1 = &D_8018DEE0; - do { - temp_v1 = phi_v1 + 0x60; - temp_v1->unk-3C = 0; - temp_v1->unk-24 = 0; - temp_v1->unk-C = 0; - temp_v1->unk-54 = 0; - phi_v1 = temp_v1; - } while (temp_v1 != &D_8018E060); + s32 index; + for(index = 0; index < D_8018DEE0_SIZE; index++){ + D_8018DEE0[index].visible = 0; + } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009A344.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 0ca3d5f5fa5e3d957908269ac1535e7d4f12bce9 @@ -7220,28 +7204,12 @@ void func_8009E5FC(s32 arg0) { GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009E5FC.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern ? D_8018D9E0; -extern ? D_8018DEE0; - void func_8009E620(void) { - ? *temp_v1; - ? *phi_v1; - - phi_v1 = &D_8018D9E0; - do { - temp_v1 = phi_v1 + 0xA0; - temp_v1->unk-78 = 0; - temp_v1->unk-50 = 0; - temp_v1->unk-28 = 0; - temp_v1->unk-A0 = 0; - phi_v1 = temp_v1; - } while (temp_v1 != &D_8018DEE0); + s32 index; + for(index = 0; index < D_8018D9E0_SIZE; index++){ + D_8018D9E0[index].type = 0; + } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009E620.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 054f217e0ef630f2a2a76ec70a84ce37369571c0 @@ -12256,34 +12224,24 @@ void func_800A761C(struct_8018D9E0_entry *arg0) { GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A761C.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 054f217e0ef630f2a2a76ec70a84ce37369571c0 void func_800A7790(struct_8018D9E0_entry *arg0) { - s32 sp38; - struct_802850C0_entry *sp2C; - f32 temp_f0; - f32 temp_f0_2; - s32 temp_t0; - s8 temp_v1; - struct_802850C0_entry *temp_v0; + f32 someScaling; + s32 creditIndex; + s8 slideDirection; + UNUSED s32 pad; - temp_t0 = arg0->type - 0x190; - temp_v0 = &D_802850C0[temp_t0]; - sp2C = temp_v0; - sp38 = temp_t0; - set_text_color((s32) temp_v0->textColor); - temp_v1 = temp_v0->slideDirection; - if ((temp_v1 == 0) || (temp_v1 != 1)) { - temp_f0 = temp_v0->textScaling; - func_800936B8(arg0->column, arg0->row, D_802854B0[temp_t0], (s32) ((f32) arg0->unk1C * temp_f0), (bitwise f32) arg0->unk24 * temp_f0, temp_f0); - } else { - temp_f0_2 = temp_v0->textScaling; - func_80093324(arg0->column, arg0->row, D_802854B0[temp_t0], (s32) ((f32) arg0->unk1C * temp_f0_2), (bitwise f32) arg0->unk24 * temp_f0_2, temp_f0_2); + creditIndex = arg0->type - 0x190; + set_text_color(D_802850C0[creditIndex].textColor); + slideDirection = D_802850C0[creditIndex].slideDirection; + if ((slideDirection == SLIDE_RIGHT) || (slideDirection != SLIDE_LEFT)) { + someScaling = D_802850C0[creditIndex].textScaling; + func_800936B8(arg0->column, arg0->row, D_802854B0[creditIndex], arg0->unk1C * someScaling, arg0->unk24 * someScaling, someScaling); + } + else { + someScaling = D_802850C0[creditIndex].textScaling; + func_80093324(arg0->column, arg0->row, D_802854B0[creditIndex], arg0->unk1C * someScaling, arg0->unk24 * someScaling, someScaling); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A7790.s") -#endif // Originally func_800A7894 // Presumes that "number" is a 2 digit number. Convert it to a string @@ -13331,227 +13289,155 @@ void func_800A90D4(s32 arg0, struct_8018D9E0_entry *arg1) { GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A90D4.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_800A9208(); // extern -? func_800A9278(s32, s32); // extern - -void func_800A91D8(s32 arg0, s32 arg2) { - func_800A9208(); - func_800A9278(arg0, arg2); +void func_800A91D8(struct_8018D9E0_entry *arg0, s32 columnTarget, s32 rowTarget) { + func_800A9208(arg0, columnTarget); + func_800A9278(arg0, rowTarget); } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A91D8.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda -void func_800A9208(struct_8018D9E0_entry *arg0, s32 arg1) { - s32 temp_v0; - s32 temp_v0_2; - s32 temp_v0_3; - s32 temp_v1; - s32 phi_v0; +void func_800A9208(struct_8018D9E0_entry *arg0, s32 columnTarget) { + s32 step = columnTarget - arg0->column; - temp_v1 = arg0->column; - temp_v0 = arg1 - temp_v1; - phi_v0 = temp_v0; - if (temp_v0 != 0) { - if (temp_v0 > 0) { - temp_v0_2 = (temp_v0 / 4) + 1; - phi_v0 = temp_v0_2; - if (temp_v0_2 >= 0x11) { - phi_v0 = 0x10; + if (step != 0) { + if (step > 0) { + step = (step / 4) + 1; + if (step >= 0x11) { + step = 0x10; } } else { - temp_v0_3 = (temp_v0 / 4) - 1; - phi_v0 = temp_v0_3; - if (temp_v0_3 < -0x10) { - phi_v0 = -0x10; + step = (step / 4) - 1; + if (step < -0x10) { + step = -0x10; } } } - arg0->column = temp_v1 + phi_v0; + arg0->column += step; } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A9208.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda -void func_800A9278(struct_8018D9E0_entry *arg0, s32 arg1) { - s32 temp_v0; - s32 temp_v0_2; - s32 temp_v0_3; - s32 temp_v1; - s32 phi_v0; +void func_800A9278(struct_8018D9E0_entry *arg0, s32 rowTarget) { + s32 step = rowTarget - arg0->row; - temp_v1 = arg0->row; - temp_v0 = arg1 - temp_v1; - phi_v0 = temp_v0; - if (temp_v0 != 0) { - if (temp_v0 > 0) { - temp_v0_2 = (temp_v0 / 4) + 1; - phi_v0 = temp_v0_2; - if (temp_v0_2 >= 0x11) { - phi_v0 = 0x10; + if (step != 0) { + if (step > 0) { + step = (step / 4) + 1; + if (step >= 0x11) { + step = 0x10; } } else { - temp_v0_3 = (temp_v0 / 4) - 1; - phi_v0 = temp_v0_3; - if (temp_v0_3 < -0x10) { - phi_v0 = -0x10; + step = (step / 4) - 1; + if (step < -0x10) { + step = -0x10; } } } - arg0->row = temp_v1 + phi_v0; + arg0->row += step; } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A9278.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda -void func_800A92E8(struct_8018D9E0_entry *arg0, s32 arg1) { - s32 temp_t0; - s32 temp_t7; - s32 temp_v0; - s32 temp_v0_2; - s32 temp_v0_3; - s32 temp_v1; - s32 phi_v0; - s32 phi_v0_2; - s32 phi_v0_3; - s32 phi_v0_4; +void func_800A92E8(struct_8018D9E0_entry *arg0, s32 columnTarget) { + s32 step = columnTarget - arg0->column; - temp_v1 = arg0->column; - temp_v0 = arg1 - temp_v1; - if (temp_v0 != 0) { - if (temp_v0 > 0) { - temp_v0_2 = (temp_v0 / 4) + 1; - phi_v0 = temp_v0_2; - if (temp_v0_2 >= 0x11) { - phi_v0 = 0x10; + if (step != 0) { + if (step > 0) { + step = (step / 4) + 1; + if (step >= 0x11) { + step = 0x10; } - phi_v0_2 = phi_v0; - if (phi_v0 < 8) { - phi_v0_2 = 8; + if (step < 8) { + step = 8; } - temp_t7 = temp_v1 + phi_v0_2; - arg0->column = temp_t7; - if (arg1 < temp_t7) { - arg0->column = arg1; + arg0->column += step; + if (columnTarget < arg0->column) { + arg0->column = columnTarget; } } else { - temp_v0_3 = (temp_v0 / 4) - 1; - phi_v0_3 = temp_v0_3; - if (temp_v0_3 < -0x10) { - phi_v0_3 = -0x10; + step = (step / 4) - 1; + if (step < -0x10) { + step = -0x10; } - phi_v0_4 = phi_v0_3; - if (phi_v0_3 < -8) { - phi_v0_4 = -8; + if (step < -8) { + step = -8; } - temp_t0 = temp_v1 + phi_v0_4; - arg0->column = temp_t0; - if (temp_t0 < arg1) { - arg0->column = arg1; + arg0->column += step; + if (arg0->column < columnTarget) { + arg0->column = columnTarget; } } } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A92E8.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda -void func_800A940C(struct_8018D9E0_entry *arg0, s32 arg1) { - s32 temp_lo; - s32 temp_t7; - s32 temp_t9; - s32 temp_v0; - s32 temp_v1; - s32 phi_v0; - s32 phi_v0_2; - s32 phi_v0_3; - s32 phi_v0_4; +// Appears to be a copy of func_800A9278 +UNUSED void func_800A939C(struct_8018D9E0_entry *arg0, s32 rowTarget) { + s32 step = rowTarget - arg0->row; - temp_v1 = arg0->column; - temp_v0 = arg1 - temp_v1; - if (temp_v0 != 0) { - temp_lo = 0xC8 / temp_v0; - phi_v0 = temp_lo; - phi_v0_3 = temp_lo; - if (temp_lo > 0) { - if (temp_lo >= 0x19) { - phi_v0 = 0x18; - } - phi_v0_2 = phi_v0; - if (phi_v0 < 0x10) { - phi_v0_2 = 0x10; - } - temp_t7 = temp_v1 + phi_v0_2; - arg0->column = temp_t7; - if (arg1 < temp_t7) { - arg0->column = arg1; + if (step != 0) { + if (step > 0) { + step = (step / 4) + 1; + if (step >= 0x11) { + step = 0x10; } } else { - if (temp_lo < -0x18) { - phi_v0_3 = -0x18; + step = (step / 4) - 1; + if (step < -0x10) { + step = -0x10; } - phi_v0_4 = phi_v0_3; - if (phi_v0_3 >= -0xF) { - phi_v0_4 = -0x10; + } + } + arg0->row += step; +} + +void func_800A940C(struct_8018D9E0_entry *arg0, s32 columnTarget) { + s32 step = columnTarget - arg0->column; + + if (step != 0) { + step = 0xC8 / step; + if (step > 0) { + if (step >= 0x19) { + step = 0x18; } - temp_t9 = temp_v1 + phi_v0_4; - arg0->column = temp_t9; - if (temp_t9 < arg1) { - arg0->column = arg1; + if (step < 0x10) { + step = 0x10; + } + arg0->column += step; + if (columnTarget < arg0->column) { + arg0->column = columnTarget; + } + } else { + if (step < -0x18) { + step = -0x18; + } + if (step >= -0xF) { + step = -0x10; + } + arg0->column += step; + if (arg0->column < columnTarget) { + arg0->column = columnTarget; } } } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A940C.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 054f217e0ef630f2a2a76ec70a84ce37369571c0 -void func_800A94C8(struct_8018D9E0_entry *arg0, s32 arg1, s32 arg2) { - s32 temp_v0; - s32 temp_v1; - s32 temp_v1_2; - s32 temp_v1_3; - s32 phi_v1; +void func_800A94C8(struct_8018D9E0_entry *arg0, s32 columnTarget, s32 arg2) { + s32 step; - temp_v0 = arg0->column; - temp_v1 = arg1 - temp_v0; - phi_v1 = temp_v1; - if (arg1 == temp_v0) { - arg0->column = temp_v0 + arg2; - return; - } - if (temp_v1 != 0) { - if (temp_v1 > 0) { - temp_v1_2 = (temp_v1 / 4) + 1; - phi_v1 = temp_v1_2; - if (temp_v1_2 >= 0x11) { - phi_v1 = 0x10; - } - } else { - temp_v1_3 = (temp_v1 / 4) - 1; - phi_v1 = temp_v1_3; - if (temp_v1_3 < -0x10) { - phi_v1 = -0x10; + if (columnTarget == arg0->column) { + arg0->column += arg2; + } else { + step = columnTarget - arg0->column; + if (step != 0) { + if (step > 0) { + step = (step / 4) + 1; + if (step >= 0x11) { + step = 0x10; + } + } else { + step = (step / 4) - 1; + if (step < -0x10) { + step = -0x10; + } } } + arg0->column -= step; } - arg0->column = temp_v0 - phi_v1; } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A94C8.s") -#endif void func_800A954C(struct_8018D9E0_entry *arg0) { // Cycle lasts 26 (0x1A) frames diff --git a/src/code_80091750.h b/src/code_80091750.h index 5ba53a91e..fe525cbfe 100644 --- a/src/code_80091750.h +++ b/src/code_80091750.h @@ -108,6 +108,7 @@ void func_80099E54(); void func_80099E60(MkTexture *, s32, s32); void func_80099EC4(); void func_80099A70(); +void func_8009A344(); void func_8009A594(s32, s32, MkAnimation*); void func_8009A640(s32, s32, s32, MkAnimation*); void func_8009A76C(s32, s32, s32, s32); @@ -122,6 +123,7 @@ void func_8009C918(); void func_8009E1C0(); void func_8009E208(); void func_8009E258(); +void func_8009E620(); void add_8018D9E0_entry(s32, s32, s32, s8); void func_800A0AD0(struct_8018D9E0_entry*); void func_800A11D0(struct_8018D9E0_entry*, s32, s32); @@ -142,6 +144,7 @@ void func_800A7258(struct_8018D9E0_entry*); void func_800A72FC(struct_8018D9E0_entry*); void func_800A7448(struct_8018D9E0_entry*); void func_800A75A0(struct_8018D9E0_entry*); +void func_800A7790(struct_8018D9E0_entry*); void convert_number_to_ascii(s32, char*); void write_dashes(char*); void get_time_record_minutes(s32, char*); @@ -152,6 +155,13 @@ void func_800A8250(); void func_800A86E8(struct_8018D9E0_entry*); void func_800A8E14(struct_8018D9E0_entry*); void func_800A8EC0(struct_8018D9E0_entry*); +void func_800A91D8(struct_8018D9E0_entry*, s32, s32); +void func_800A9208(struct_8018D9E0_entry*, s32); +void func_800A9278(struct_8018D9E0_entry*, s32); +void func_800A92E8(struct_8018D9E0_entry*, s32); +void func_800A939C(struct_8018D9E0_entry*, s32); +void func_800A940C(struct_8018D9E0_entry*, s32); +void func_800A94C8(struct_8018D9E0_entry*, s32, s32); void func_800A954C(struct_8018D9E0_entry*); void func_800AADD4(struct_8018D9E0_entry*); void func_800AAE18(struct_8018D9E0_entry*);