From dc805bf64cd3209e59923d29281567e7160004a0 Mon Sep 17 00:00:00 2001 From: Maciek Baron Date: Sun, 16 Jan 2022 04:11:30 +0000 Subject: [PATCH] Match func_800215DC and func_80021DA8 (#139) * Match func_800215DC and func_80021DA8 * Remove repeated extern --- .../code_8001F980/func_800215DC.s | 170 ------------------ .../code_8001F980/func_80021DA8.s | 27 --- src/code_8001F980.c | 31 +--- 3 files changed, 9 insertions(+), 219 deletions(-) delete mode 100644 asm/non_matchings/code_8001F980/func_800215DC.s delete mode 100644 asm/non_matchings/code_8001F980/func_80021DA8.s diff --git a/asm/non_matchings/code_8001F980/func_800215DC.s b/asm/non_matchings/code_8001F980/func_800215DC.s deleted file mode 100644 index ff8cd2928..000000000 --- a/asm/non_matchings/code_8001F980/func_800215DC.s +++ /dev/null @@ -1,170 +0,0 @@ -glabel func_800215DC -/* 0221DC 800215DC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0221E0 800215E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0221E4 800215E4 3C01800E */ lui $at, %hi(D_800DDB58) # $at, 0x800e -/* 0221E8 800215E8 3C04800E */ lui $a0, %hi(gPlayerOneCopy) # $a0, 0x800e -/* 0221EC 800215EC 3C05800E */ lui $a1, %hi(camera2) # $a1, 0x800e -/* 0221F0 800215F0 AC20DB58 */ sw $zero, %lo(D_800DDB58)($at) -/* 0221F4 800215F4 8CA5DB44 */ lw $a1, %lo(camera2)($a1) -/* 0221F8 800215F8 8C84C4FC */ lw $a0, %lo(gPlayerOneCopy)($a0) -/* 0221FC 800215FC 00003025 */ move $a2, $zero -/* 022200 80021600 0C008000 */ jal func_80020000 -/* 022204 80021604 24070001 */ li $a3, 1 -/* 022208 80021608 3C04800E */ lui $a0, %hi(gPlayerTwo) # $a0, 0x800e -/* 02220C 8002160C 3C05800E */ lui $a1, %hi(camera2) # $a1, 0x800e -/* 022210 80021610 8CA5DB44 */ lw $a1, %lo(camera2)($a1) -/* 022214 80021614 8C84C4E0 */ lw $a0, %lo(gPlayerTwo)($a0) -/* 022218 80021618 24060001 */ li $a2, 1 -/* 02221C 8002161C 0C008000 */ jal func_80020000 -/* 022220 80021620 24070001 */ li $a3, 1 -/* 022224 80021624 3C04800E */ lui $a0, %hi(gPlayerThree) # $a0, 0x800e -/* 022228 80021628 3C05800E */ lui $a1, %hi(camera2) # $a1, 0x800e -/* 02222C 8002162C 8CA5DB44 */ lw $a1, %lo(camera2)($a1) -/* 022230 80021630 8C84C4E4 */ lw $a0, %lo(gPlayerThree)($a0) -/* 022234 80021634 24060002 */ li $a2, 2 -/* 022238 80021638 0C008000 */ jal func_80020000 -/* 02223C 8002163C 24070001 */ li $a3, 1 -/* 022240 80021640 3C04800E */ lui $a0, %hi(gPlayerFour) # $a0, 0x800e -/* 022244 80021644 3C05800E */ lui $a1, %hi(camera2) # $a1, 0x800e -/* 022248 80021648 8CA5DB44 */ lw $a1, %lo(camera2)($a1) -/* 02224C 8002164C 8C84C4E8 */ lw $a0, %lo(gPlayerFour)($a0) -/* 022250 80021650 24060003 */ li $a2, 3 -/* 022254 80021654 0C008000 */ jal func_80020000 -/* 022258 80021658 24070001 */ li $a3, 1 -/* 02225C 8002165C 3C0E800E */ lui $t6, %hi(D_800DC52C) # $t6, 0x800e -/* 022260 80021660 8DCEC52C */ lw $t6, %lo(D_800DC52C)($t6) -/* 022264 80021664 24010003 */ li $at, 3 -/* 022268 80021668 3C04800E */ lui $a0, %hi(gPlayerFive) # $a0, 0x800e -/* 02226C 8002166C 11C1001B */ beq $t6, $at, .L800216DC -/* 022270 80021670 3C05800E */ lui $a1, %hi(camera2) # $a1, 0x800e -/* 022274 80021674 8C84C4EC */ lw $a0, %lo(gPlayerFive)($a0) -/* 022278 80021678 8CA5DB44 */ lw $a1, %lo(camera2)($a1) -/* 02227C 8002167C 24060004 */ li $a2, 4 -/* 022280 80021680 0C008000 */ jal func_80020000 -/* 022284 80021684 24070001 */ li $a3, 1 -/* 022288 80021688 3C04800E */ lui $a0, %hi(gPlayerSix) # $a0, 0x800e -/* 02228C 8002168C 3C05800E */ lui $a1, %hi(camera2) # $a1, 0x800e -/* 022290 80021690 8CA5DB44 */ lw $a1, %lo(camera2)($a1) -/* 022294 80021694 8C84C4F0 */ lw $a0, %lo(gPlayerSix)($a0) -/* 022298 80021698 24060005 */ li $a2, 5 -/* 02229C 8002169C 0C008000 */ jal func_80020000 -/* 0222A0 800216A0 24070001 */ li $a3, 1 -/* 0222A4 800216A4 3C04800E */ lui $a0, %hi(gPlayerSeven) # $a0, 0x800e -/* 0222A8 800216A8 3C05800E */ lui $a1, %hi(camera2) # $a1, 0x800e -/* 0222AC 800216AC 8CA5DB44 */ lw $a1, %lo(camera2)($a1) -/* 0222B0 800216B0 8C84C4F4 */ lw $a0, %lo(gPlayerSeven)($a0) -/* 0222B4 800216B4 24060006 */ li $a2, 6 -/* 0222B8 800216B8 0C008000 */ jal func_80020000 -/* 0222BC 800216BC 24070001 */ li $a3, 1 -/* 0222C0 800216C0 3C04800E */ lui $a0, %hi(gPlayerEight) # $a0, 0x800e -/* 0222C4 800216C4 3C05800E */ lui $a1, %hi(camera2) # $a1, 0x800e -/* 0222C8 800216C8 8CA5DB44 */ lw $a1, %lo(camera2)($a1) -/* 0222CC 800216CC 8C84C4F8 */ lw $a0, %lo(gPlayerEight)($a0) -/* 0222D0 800216D0 24060007 */ li $a2, 7 -/* 0222D4 800216D4 0C008000 */ jal func_80020000 -/* 0222D8 800216D8 24070001 */ li $a3, 1 -.L800216DC: -/* 0222DC 800216DC 3C04800E */ lui $a0, %hi(gPlayerOne) # $a0, 0x800e -/* 0222E0 800216E0 8C84C4DC */ lw $a0, %lo(gPlayerOne)($a0) -/* 0222E4 800216E4 00002825 */ move $a1, $zero -/* 0222E8 800216E8 0C008491 */ jal func_80021244 -/* 0222EC 800216EC 24060001 */ li $a2, 1 -/* 0222F0 800216F0 3C04800E */ lui $a0, %hi(gPlayerTwo) # $a0, 0x800e -/* 0222F4 800216F4 8C84C4E0 */ lw $a0, %lo(gPlayerTwo)($a0) -/* 0222F8 800216F8 24050001 */ li $a1, 1 -/* 0222FC 800216FC 0C008491 */ jal func_80021244 -/* 022300 80021700 24060001 */ li $a2, 1 -/* 022304 80021704 3C04800E */ lui $a0, %hi(gPlayerThree) # $a0, 0x800e -/* 022308 80021708 8C84C4E4 */ lw $a0, %lo(gPlayerThree)($a0) -/* 02230C 8002170C 24050002 */ li $a1, 2 -/* 022310 80021710 0C008491 */ jal func_80021244 -/* 022314 80021714 24060001 */ li $a2, 1 -/* 022318 80021718 3C04800E */ lui $a0, %hi(gPlayerFour) # $a0, 0x800e -/* 02231C 8002171C 8C84C4E8 */ lw $a0, %lo(gPlayerFour)($a0) -/* 022320 80021720 24050003 */ li $a1, 3 -/* 022324 80021724 0C008491 */ jal func_80021244 -/* 022328 80021728 24060001 */ li $a2, 1 -/* 02232C 8002172C 3C0F800E */ lui $t7, %hi(D_800DC52C) # $t7, 0x800e -/* 022330 80021730 8DEFC52C */ lw $t7, %lo(D_800DC52C)($t7) -/* 022334 80021734 24010003 */ li $at, 3 -/* 022338 80021738 3C04800E */ lui $a0, %hi(gPlayerFive) # $a0, 0x800e -/* 02233C 8002173C 11E10013 */ beq $t7, $at, .L8002178C -/* 022340 80021740 24050004 */ li $a1, 4 -/* 022344 80021744 8C84C4EC */ lw $a0, %lo(gPlayerFive)($a0) -/* 022348 80021748 0C008491 */ jal func_80021244 -/* 02234C 8002174C 24060001 */ li $a2, 1 -/* 022350 80021750 3C04800E */ lui $a0, %hi(gPlayerSix) # $a0, 0x800e -/* 022354 80021754 8C84C4F0 */ lw $a0, %lo(gPlayerSix)($a0) -/* 022358 80021758 24050005 */ li $a1, 5 -/* 02235C 8002175C 0C008491 */ jal func_80021244 -/* 022360 80021760 24060001 */ li $a2, 1 -/* 022364 80021764 3C04800E */ lui $a0, %hi(gPlayerSeven) # $a0, 0x800e -/* 022368 80021768 8C84C4F4 */ lw $a0, %lo(gPlayerSeven)($a0) -/* 02236C 8002176C 24050006 */ li $a1, 6 -/* 022370 80021770 0C008491 */ jal func_80021244 -/* 022374 80021774 24060001 */ li $a2, 1 -/* 022378 80021778 3C04800E */ lui $a0, %hi(gPlayerEight) # $a0, 0x800e -/* 02237C 8002177C 8C84C4F8 */ lw $a0, %lo(gPlayerEight)($a0) -/* 022380 80021780 24050007 */ li $a1, 7 -/* 022384 80021784 0C008491 */ jal func_80021244 -/* 022388 80021788 24060001 */ li $a2, 1 -.L8002178C: -/* 02238C 8002178C 3C18800E */ lui $t8, %hi(D_800DDB58) # $t8, 0x800e -/* 022390 80021790 8F18DB58 */ lw $t8, %lo(D_800DDB58)($t8) -/* 022394 80021794 3C04800E */ lui $a0, %hi(gPlayerOneCopy) # $a0, 0x800e -/* 022398 80021798 00002825 */ move $a1, $zero -/* 02239C 8002179C 13000005 */ beqz $t8, .L800217B4 -/* 0223A0 800217A0 24060001 */ li $a2, 1 -/* 0223A4 800217A4 0C008223 */ jal func_8002088C -/* 0223A8 800217A8 00000000 */ nop -/* 0223AC 800217AC 1000002B */ b .L8002185C -/* 0223B0 800217B0 8FBF0014 */ lw $ra, 0x14($sp) -.L800217B4: -/* 0223B4 800217B4 0C01B98D */ jal func_8006E634 -/* 0223B8 800217B8 8C84C4FC */ lw $a0, %lo(gPlayerOneCopy)($a0) -/* 0223BC 800217BC 3C04800E */ lui $a0, %hi(gPlayerTwo) # $a0, 0x800e -/* 0223C0 800217C0 8C84C4E0 */ lw $a0, %lo(gPlayerTwo)($a0) -/* 0223C4 800217C4 24050001 */ li $a1, 1 -/* 0223C8 800217C8 0C01B98D */ jal func_8006E634 -/* 0223CC 800217CC 24060001 */ li $a2, 1 -/* 0223D0 800217D0 3C04800E */ lui $a0, %hi(gPlayerThree) # $a0, 0x800e -/* 0223D4 800217D4 8C84C4E4 */ lw $a0, %lo(gPlayerThree)($a0) -/* 0223D8 800217D8 24050002 */ li $a1, 2 -/* 0223DC 800217DC 0C01B98D */ jal func_8006E634 -/* 0223E0 800217E0 24060001 */ li $a2, 1 -/* 0223E4 800217E4 3C04800E */ lui $a0, %hi(gPlayerFour) # $a0, 0x800e -/* 0223E8 800217E8 8C84C4E8 */ lw $a0, %lo(gPlayerFour)($a0) -/* 0223EC 800217EC 24050003 */ li $a1, 3 -/* 0223F0 800217F0 0C01B98D */ jal func_8006E634 -/* 0223F4 800217F4 24060001 */ li $a2, 1 -/* 0223F8 800217F8 3C19800E */ lui $t9, %hi(D_800DC52C) # $t9, 0x800e -/* 0223FC 800217FC 8F39C52C */ lw $t9, %lo(D_800DC52C)($t9) -/* 022400 80021800 24010003 */ li $at, 3 -/* 022404 80021804 3C04800E */ lui $a0, %hi(gPlayerFive) # $a0, 0x800e -/* 022408 80021808 13210013 */ beq $t9, $at, .L80021858 -/* 02240C 8002180C 24050004 */ li $a1, 4 -/* 022410 80021810 8C84C4EC */ lw $a0, %lo(gPlayerFive)($a0) -/* 022414 80021814 0C01B98D */ jal func_8006E634 -/* 022418 80021818 24060001 */ li $a2, 1 -/* 02241C 8002181C 3C04800E */ lui $a0, %hi(gPlayerSix) # $a0, 0x800e -/* 022420 80021820 8C84C4F0 */ lw $a0, %lo(gPlayerSix)($a0) -/* 022424 80021824 24050005 */ li $a1, 5 -/* 022428 80021828 0C01B98D */ jal func_8006E634 -/* 02242C 8002182C 24060001 */ li $a2, 1 -/* 022430 80021830 3C04800E */ lui $a0, %hi(gPlayerSeven) # $a0, 0x800e -/* 022434 80021834 8C84C4F4 */ lw $a0, %lo(gPlayerSeven)($a0) -/* 022438 80021838 24050006 */ li $a1, 6 -/* 02243C 8002183C 0C01B98D */ jal func_8006E634 -/* 022440 80021840 24060001 */ li $a2, 1 -/* 022444 80021844 3C04800E */ lui $a0, %hi(gPlayerEight) # $a0, 0x800e -/* 022448 80021848 8C84C4F8 */ lw $a0, %lo(gPlayerEight)($a0) -/* 02244C 8002184C 24050007 */ li $a1, 7 -/* 022450 80021850 0C01B98D */ jal func_8006E634 -/* 022454 80021854 24060001 */ li $a2, 1 -.L80021858: -/* 022458 80021858 8FBF0014 */ lw $ra, 0x14($sp) -.L8002185C: -/* 02245C 8002185C 3C01800E */ lui $at, %hi(D_800DDB58) # $at, 0x800e -/* 022460 80021860 AC20DB58 */ sw $zero, %lo(D_800DDB58)($at) -/* 022464 80021864 03E00008 */ jr $ra -/* 022468 80021868 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/non_matchings/code_8001F980/func_80021DA8.s b/asm/non_matchings/code_8001F980/func_80021DA8.s deleted file mode 100644 index c9595908e..000000000 --- a/asm/non_matchings/code_8001F980/func_80021DA8.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel func_80021DA8 -/* 0229A8 80021DA8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0229AC 80021DAC AFBF0014 */ sw $ra, 0x14($sp) -/* 0229B0 80021DB0 3C04800E */ lui $a0, %hi(gPlayerOneCopy) # $a0, 0x800e -/* 0229B4 80021DB4 8C84C4FC */ lw $a0, %lo(gPlayerOneCopy)($a0) -/* 0229B8 80021DB8 00002825 */ move $a1, $zero -/* 0229BC 80021DBC 0C01BA50 */ jal func_8006E940 -/* 0229C0 80021DC0 24060003 */ li $a2, 3 -/* 0229C4 80021DC4 3C04800E */ lui $a0, %hi(gPlayerTwo) # $a0, 0x800e -/* 0229C8 80021DC8 8C84C4E0 */ lw $a0, %lo(gPlayerTwo)($a0) -/* 0229CC 80021DCC 24050001 */ li $a1, 1 -/* 0229D0 80021DD0 0C01BA50 */ jal func_8006E940 -/* 0229D4 80021DD4 24060003 */ li $a2, 3 -/* 0229D8 80021DD8 3C04800E */ lui $a0, %hi(gPlayerThree) # $a0, 0x800e -/* 0229DC 80021DDC 8C84C4E4 */ lw $a0, %lo(gPlayerThree)($a0) -/* 0229E0 80021DE0 24050002 */ li $a1, 2 -/* 0229E4 80021DE4 0C01BA50 */ jal func_8006E940 -/* 0229E8 80021DE8 24060003 */ li $a2, 3 -/* 0229EC 80021DEC 3C04800E */ lui $a0, %hi(gPlayerFour) # $a0, 0x800e -/* 0229F0 80021DF0 8C84C4E8 */ lw $a0, %lo(gPlayerFour)($a0) -/* 0229F4 80021DF4 24050003 */ li $a1, 3 -/* 0229F8 80021DF8 0C01BA50 */ jal func_8006E940 -/* 0229FC 80021DFC 24060003 */ li $a2, 3 -/* 022A00 80021E00 8FBF0014 */ lw $ra, 0x14($sp) -/* 022A04 80021E04 27BD0018 */ addiu $sp, $sp, 0x18 -/* 022A08 80021E08 03E00008 */ jr $ra -/* 022A0C 80021E0C 00000000 */ nop diff --git a/src/code_8001F980.c b/src/code_8001F980.c index 8827a308a..c1bd7d682 100644 --- a/src/code_8001F980.c +++ b/src/code_8001F980.c @@ -20,9 +20,12 @@ extern Player *gPlayerSix; extern Player *gPlayerSeven; extern Player *gPlayerEight; extern Player *gPlayerOneCopy; +extern Camera *camera2; extern Camera *camera4; + extern void func_80020000(Player *, Camera *, u8, u8); +extern void func_8002088C(); extern void func_80020F1C(); extern void func_80021244(Player *, u8, u8); extern void func_80022BC4(Player*, s8, s32); @@ -30,9 +33,11 @@ extern void func_80022DB4(Player*, s8, s32); extern void func_800235AC(Player*, s8); extern void func_80026A48(Player*, s8); extern void func_80030A34(Player*); +extern void func_8006E634(Player*, u8, u8); extern void func_8006E744(Player *, u8, u8); extern void func_8006E848(Player *, u8, u8); extern void func_8006E8C4(Player *, u8, u8); +extern void func_8006E940(s32, u8, u8); // Not yet implemented. Needs more work to match. @@ -742,16 +747,8 @@ void func_800212B4(void) { GLOBAL_ASM("asm/non_matchings/code_8001F980/func_800212B4.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80020000(Player *, s32, ?, ?); // extern -? func_8002088C(Player **, ?, ?); // extern -? func_80021244(Player *, ?, ?); // extern -? func_8006E634(Player *, ?, ?); // extern -extern s32 D_800DDB58; - void func_800215DC(void) { - D_800DDB58 = 0; + D_800DDB58[0] = 0; func_80020000(gPlayerOneCopy, camera2, 0, 1); func_80020000(gPlayerTwo, camera2, 1, 1); func_80020000(gPlayerThree, camera2, 2, 1); @@ -772,8 +769,8 @@ void func_800215DC(void) { func_80021244(gPlayerSeven, 6, 1); func_80021244(gPlayerEight, 7, 1); } - if (D_800DDB58 != 0) { - func_8002088C(&gPlayerOneCopy, 0, 1); + if (D_800DDB58[0] != 0) { + func_8002088C(); } else { func_8006E634(gPlayerOneCopy, 0, 1); func_8006E634(gPlayerTwo, 1, 1); @@ -786,11 +783,8 @@ void func_800215DC(void) { func_8006E634(gPlayerEight, 7, 1); } } - D_800DDB58 = 0; + D_800DDB58[0] = 0; } -#else -GLOBAL_ASM("asm/non_matchings/code_8001F980/func_800215DC.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -909,19 +903,12 @@ void func_80021D40(void) { func_8006E8C4(gPlayerFour, 3, 2); } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_8006E940(Player *, ?, ?); // extern - void func_80021DA8(void) { func_8006E940(gPlayerOneCopy, 0, 3); func_8006E940(gPlayerTwo, 1, 3); func_8006E940(gPlayerThree, 2, 3); func_8006E940(gPlayerFour, 3, 3); } -#else -GLOBAL_ASM("asm/non_matchings/code_8001F980/func_80021DA8.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307