diff --git a/asm/non_matchings/unknown_066AA0/func_80066060.s b/asm/non_matchings/unknown_066AA0/func_80066060.s deleted file mode 100644 index 625131ba..00000000 --- a/asm/non_matchings/unknown_066AA0/func_80066060.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel func_80066060 -/* 066C60 80066060 0480000B */ bltz $a0, .L80066090 -/* 066C64 80066064 28810004 */ slti $at, $a0, 4 -/* 066C68 80066068 10200009 */ beqz $at, .L80066090 -/* 066C6C 8006606C 00047100 */ sll $t6, $a0, 4 -/* 066C70 80066070 3C01800E */ lui $at, 0x800e -/* 066C74 80066074 00240821 */ addu $at, $at, $a0 -/* 066C78 80066078 A025D2F8 */ sb $a1, -0x2d08($at) -/* 066C7C 8006607C 01C47021 */ addu $t6, $t6, $a0 -/* 066C80 80066080 000E7080 */ sll $t6, $t6, 2 -/* 066C84 80066084 3C018012 */ lui $at, 0x8012 -/* 066C88 80066088 002E0821 */ addu $at, $at, $t6 -/* 066C8C 8006608C A0250AFB */ sb $a1, 0xafb($at) -.L80066090: -/* 066C90 80066090 03E00008 */ jr $ra -/* 066C94 80066094 00000000 */ nop diff --git a/asm/non_matchings/unknown_066AA0/func_80066194.s b/asm/non_matchings/unknown_066AA0/func_80066194.s deleted file mode 100644 index 02669422..00000000 --- a/asm/non_matchings/unknown_066AA0/func_80066194.s +++ /dev/null @@ -1,29 +0,0 @@ -glabel func_80066194 -/* 066D94 80066194 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 066D98 80066198 44812000 */ mtc1 $at, $f4 -/* 066D9C 8006619C 3C01800E */ lui $at, %hi(D_800E70A4) # $at, 0x800e -/* 066DA0 800661A0 C42670A4 */ lwc1 $f6, %lo(D_800E70A4)($at) -/* 066DA4 800661A4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 066DA8 800661A8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 066DAC 800661AC 44814000 */ mtc1 $at, $f8 -/* 066DB0 800661B0 AFBF0024 */ sw $ra, 0x24($sp) -/* 066DB4 800661B4 3C048012 */ lui $a0, %hi(D_80120EE0) # $a0, 0x8012 -/* 066DB8 800661B8 3C058012 */ lui $a1, %hi(D_80120D6C) # $a1, 0x8012 -/* 066DBC 800661BC 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa -/* 066DC0 800661C0 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab -/* 066DC4 800661C4 24A50D6C */ addiu $a1, %lo(D_80120D6C) # addiu $a1, $a1, 0xd6c -/* 066DC8 800661C8 24840EE0 */ addiu $a0, %lo(D_80120EE0) # addiu $a0, $a0, 0xee0 -/* 066DCC 800661CC 3C064270 */ lui $a2, 0x4270 -/* 066DD0 800661D0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 066DD4 800661D4 E7A60014 */ swc1 $f6, 0x14($sp) -/* 066DD8 800661D8 0C033248 */ jal func_800CC920 -/* 066DDC 800661DC E7A80018 */ swc1 $f8, 0x18($sp) -/* 066DE0 800661E0 3C048012 */ lui $a0, %hi(D_80120EE0) # $a0, 0x8012 -/* 066DE4 800661E4 3C058012 */ lui $a1, %hi(D_80120FE0) # $a1, 0x8012 -/* 066DE8 800661E8 24A50FE0 */ addiu $a1, %lo(D_80120FE0) # addiu $a1, $a1, 0xfe0 -/* 066DEC 800661EC 0C01BE1C */ jal func_8006F870 -/* 066DF0 800661F0 24840EE0 */ addiu $a0, %lo(D_80120EE0) # addiu $a0, $a0, 0xee0 -/* 066DF4 800661F4 8FBF0024 */ lw $ra, 0x24($sp) -/* 066DF8 800661F8 27BD0028 */ addiu $sp, $sp, 0x28 -/* 066DFC 800661FC 03E00008 */ jr $ra -/* 066E00 80066200 00000000 */ nop diff --git a/asm/non_matchings/unknown_066AA0/func_80066488.s b/asm/non_matchings/unknown_066AA0/func_80066488.s deleted file mode 100644 index e4738554..00000000 --- a/asm/non_matchings/unknown_066AA0/func_80066488.s +++ /dev/null @@ -1,36 +0,0 @@ -glabel func_80066488 -/* 067088 80066488 24840004 */ addiu $a0, $a0, 4 -/* 06708C 8006648C 00047100 */ sll $t6, $a0, 4 -/* 067090 80066490 01C47021 */ addu $t6, $t6, $a0 -/* 067094 80066494 3C0F8012 */ lui $t7, %hi(D_80120AC0) # $t7, 0x8012 -/* 067098 80066498 25EF0AC0 */ addiu $t7, %lo(D_80120AC0) # addiu $t7, $t7, 0xac0 -/* 06709C 8006649C 000E7080 */ sll $t6, $t6, 2 -/* 0670A0 800664A0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0670A4 800664A4 01CF1821 */ addu $v1, $t6, $t7 -/* 0670A8 800664A8 AFA7002C */ sw $a3, 0x2c($sp) -/* 0670AC 800664AC 44856000 */ mtc1 $a1, $f12 -/* 0670B0 800664B0 44867000 */ mtc1 $a2, $f14 -/* 0670B4 800664B4 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 0670B8 800664B8 87B80032 */ lh $t8, 0x32($sp) -/* 0670BC 800664BC 87B90036 */ lh $t9, 0x36($sp) -/* 0670C0 800664C0 87A8003A */ lh $t0, 0x3a($sp) -/* 0670C4 800664C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0670C8 800664C8 A4600038 */ sh $zero, 0x38($v1) -/* 0670CC 800664CC 00E03025 */ move $a2, $a3 -/* 0670D0 800664D0 AFA3001C */ sw $v1, 0x1c($sp) -/* 0670D4 800664D4 E46C000C */ swc1 $f12, 0xc($v1) -/* 0670D8 800664D8 E46E0010 */ swc1 $f14, 0x10($v1) -/* 0670DC 800664DC E4640014 */ swc1 $f4, 0x14($v1) -/* 0670E0 800664E0 A4780000 */ sh $t8, ($v1) -/* 0670E4 800664E4 A4790002 */ sh $t9, 2($v1) -/* 0670E8 800664E8 0C00A7C6 */ jal func_80029F18 -/* 0670EC 800664EC A4680004 */ sh $t0, 4($v1) -/* 0670F0 800664F0 8FA3001C */ lw $v1, 0x1c($sp) -/* 0670F4 800664F4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0670F8 800664F8 24090001 */ li $t1, 1 -/* 0670FC 800664FC 3C018012 */ lui $at, %hi(D_80120D14) # $at, 0x8012 -/* 067100 80066500 A4620034 */ sh $v0, 0x34($v1) -/* 067104 80066504 A0290D14 */ sb $t1, %lo(D_80120D14)($at) -/* 067108 80066508 03E00008 */ jr $ra -/* 06710C 8006650C 27BD0020 */ addiu $sp, $sp, 0x20 - diff --git a/asm/non_matchings/unknown_066AA0/func_80066818.s b/asm/non_matchings/unknown_066AA0/func_80066818.s deleted file mode 100644 index cf8d20c4..00000000 --- a/asm/non_matchings/unknown_066AA0/func_80066818.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel func_80066818 -/* 067418 80066818 10A0000E */ beqz $a1, .L80066854 -/* 06741C 8006681C 00044080 */ sll $t0, $a0, 2 -/* 067420 80066820 00047080 */ sll $t6, $a0, 2 -/* 067424 80066824 01C47023 */ subu $t6, $t6, $a0 -/* 067428 80066828 000E7080 */ sll $t6, $t6, 2 -/* 06742C 8006682C 01C47021 */ addu $t6, $t6, $a0 -/* 067430 80066830 3C0F800E */ lui $t7, %hi(D_800DD064) # $t7, 0x800e -/* 067434 80066834 25EFD064 */ addiu $t7, %lo(D_800DD064) # addiu $t7, $t7, -0x2f9c -/* 067438 80066838 000E7080 */ sll $t6, $t6, 2 -/* 06743C 8006683C 01CF1021 */ addu $v0, $t6, $t7 -/* 067440 80066840 8C580030 */ lw $t8, 0x30($v0) -/* 067444 80066844 00000000 */ nop -/* 067448 80066848 37190001 */ ori $t9, $t8, 1 -/* 06744C 8006684C 1000000C */ b .L80066880 -/* 067450 80066850 AC590030 */ sw $t9, 0x30($v0) -.L80066854: -/* 067454 80066854 01044023 */ subu $t0, $t0, $a0 -/* 067458 80066858 00084080 */ sll $t0, $t0, 2 -/* 06745C 8006685C 01044021 */ addu $t0, $t0, $a0 -/* 067460 80066860 3C09800E */ lui $t1, %hi(D_800DD064) # $t1, 0x800e -/* 067464 80066864 2529D064 */ addiu $t1, %lo(D_800DD064) # addiu $t1, $t1, -0x2f9c -/* 067468 80066868 00084080 */ sll $t0, $t0, 2 -/* 06746C 8006686C 01091021 */ addu $v0, $t0, $t1 -/* 067470 80066870 8C4A0030 */ lw $t2, 0x30($v0) -/* 067474 80066874 00000000 */ nop -/* 067478 80066878 354B0002 */ ori $t3, $t2, 2 -/* 06747C 8006687C AC4B0030 */ sw $t3, 0x30($v0) -.L80066880: -/* 067480 80066880 8C4C0030 */ lw $t4, 0x30($v0) -/* 067484 80066884 2401FFFB */ li $at, -5 -/* 067488 80066888 01816824 */ and $t5, $t4, $at -/* 06748C 8006688C 03E00008 */ jr $ra -/* 067490 80066890 AC4D0030 */ sw $t5, 0x30($v0) - diff --git a/asm/non_matchings/unknown_066AA0/func_80066894.s b/asm/non_matchings/unknown_066AA0/func_80066894.s deleted file mode 100644 index 36f6af16..00000000 --- a/asm/non_matchings/unknown_066AA0/func_80066894.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel func_80066894 -/* 067494 80066894 10A0000E */ beqz $a1, .L800668D0 -/* 067498 80066898 00044080 */ sll $t0, $a0, 2 -/* 06749C 8006689C 00047080 */ sll $t6, $a0, 2 -/* 0674A0 800668A0 01C47023 */ subu $t6, $t6, $a0 -/* 0674A4 800668A4 000E7080 */ sll $t6, $t6, 2 -/* 0674A8 800668A8 01C47021 */ addu $t6, $t6, $a0 -/* 0674AC 800668AC 3C0F800E */ lui $t7, %hi(D_800DD064) # $t7, 0x800e -/* 0674B0 800668B0 25EFD064 */ addiu $t7, %lo(D_800DD064) # addiu $t7, $t7, -0x2f9c -/* 0674B4 800668B4 000E7080 */ sll $t6, $t6, 2 -/* 0674B8 800668B8 01CF1021 */ addu $v0, $t6, $t7 -/* 0674BC 800668BC 8C580030 */ lw $t8, 0x30($v0) -/* 0674C0 800668C0 2401FFFE */ li $at, -2 -/* 0674C4 800668C4 0301C824 */ and $t9, $t8, $at -/* 0674C8 800668C8 1000000C */ b .L800668FC -/* 0674CC 800668CC AC590030 */ sw $t9, 0x30($v0) -.L800668D0: -/* 0674D0 800668D0 01044023 */ subu $t0, $t0, $a0 -/* 0674D4 800668D4 00084080 */ sll $t0, $t0, 2 -/* 0674D8 800668D8 01044021 */ addu $t0, $t0, $a0 -/* 0674DC 800668DC 3C09800E */ lui $t1, %hi(D_800DD064) # $t1, 0x800e -/* 0674E0 800668E0 2529D064 */ addiu $t1, %lo(D_800DD064) # addiu $t1, $t1, -0x2f9c -/* 0674E4 800668E4 00084080 */ sll $t0, $t0, 2 -/* 0674E8 800668E8 01091021 */ addu $v0, $t0, $t1 -/* 0674EC 800668EC 8C4A0030 */ lw $t2, 0x30($v0) -/* 0674F0 800668F0 00000000 */ nop -/* 0674F4 800668F4 354B0004 */ ori $t3, $t2, 4 -/* 0674F8 800668F8 AC4B0030 */ sw $t3, 0x30($v0) -.L800668FC: -/* 0674FC 800668FC 8C4C0030 */ lw $t4, 0x30($v0) -/* 067500 80066900 2401FFFD */ li $at, -3 -/* 067504 80066904 01816824 */ and $t5, $t4, $at -/* 067508 80066908 03E00008 */ jr $ra -/* 06750C 8006690C AC4D0030 */ sw $t5, 0x30($v0) - diff --git a/asm/non_matchings/unknown_066AA0/func_80066910.s b/asm/non_matchings/unknown_066AA0/func_80066910.s deleted file mode 100644 index 8bc7e329..00000000 --- a/asm/non_matchings/unknown_066AA0/func_80066910.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_80066910 -/* 067510 80066910 00047080 */ sll $t6, $a0, 2 -/* 067514 80066914 01C47023 */ subu $t6, $t6, $a0 -/* 067518 80066918 000E7080 */ sll $t6, $t6, 2 -/* 06751C 8006691C 01C47021 */ addu $t6, $t6, $a0 -/* 067520 80066920 000E7080 */ sll $t6, $t6, 2 -/* 067524 80066924 3C02800E */ lui $v0, 0x800e -/* 067528 80066928 004E1021 */ addu $v0, $v0, $t6 -/* 06752C 8006692C 8C42D094 */ lw $v0, -0x2f6c($v0) -/* 067530 80066930 00000000 */ nop -/* 067534 80066934 304F0001 */ andi $t7, $v0, 1 -/* 067538 80066938 03E00008 */ jr $ra -/* 06753C 8006693C 01E01025 */ move $v0, $t7 - diff --git a/asm/non_matchings/unknown_066AA0/func_80066BA8.s b/asm/non_matchings/unknown_066AA0/func_80066BA8.s deleted file mode 100644 index 6c8e4e4f..00000000 --- a/asm/non_matchings/unknown_066AA0/func_80066BA8.s +++ /dev/null @@ -1,37 +0,0 @@ -glabel func_80066BA8 -/* 0677A8 80066BA8 00047080 */ sll $t6, $a0, 2 -/* 0677AC 80066BAC 01C47023 */ subu $t6, $t6, $a0 -/* 0677B0 80066BB0 000E7080 */ sll $t6, $t6, 2 -/* 0677B4 80066BB4 01C47021 */ addu $t6, $t6, $a0 -/* 0677B8 80066BB8 3C0F800E */ lui $t7, %hi(D_800DD064) # $t7, 0x800e -/* 0677BC 80066BBC 25EFD064 */ addiu $t7, %lo(D_800DD064) # addiu $t7, $t7, -0x2f9c -/* 0677C0 80066BC0 000E7080 */ sll $t6, $t6, 2 -/* 0677C4 80066BC4 01CF1021 */ addu $v0, $t6, $t7 -/* 0677C8 80066BC8 8C580020 */ lw $t8, 0x20($v0) -/* 0677CC 80066BCC 00000000 */ nop -/* 0677D0 80066BD0 ACB80000 */ sw $t8, ($a1) -/* 0677D4 80066BD4 8C590028 */ lw $t9, 0x28($v0) -/* 0677D8 80066BD8 00000000 */ nop -/* 0677DC 80066BDC ACF90000 */ sw $t9, ($a3) -/* 0677E0 80066BE0 8C480024 */ lw $t0, 0x24($v0) -/* 0677E4 80066BE4 00000000 */ nop -/* 0677E8 80066BE8 ACC80000 */ sw $t0, ($a2) -/* 0677EC 80066BEC 8FAA0010 */ lw $t2, 0x10($sp) -/* 0677F0 80066BF0 8C49002C */ lw $t1, 0x2c($v0) -/* 0677F4 80066BF4 24020001 */ li $v0, 1 -/* 0677F8 80066BF8 AD490000 */ sw $t1, ($t2) -/* 0677FC 80066BFC 8CAB0000 */ lw $t3, ($a1) -/* 067800 80066C00 8CED0000 */ lw $t5, ($a3) -/* 067804 80066C04 8CCF0000 */ lw $t7, ($a2) -/* 067808 80066C08 012B6025 */ or $t4, $t1, $t3 -/* 06780C 80066C0C 018D7025 */ or $t6, $t4, $t5 -/* 067810 80066C10 01CFC025 */ or $t8, $t6, $t7 -/* 067814 80066C14 17000003 */ bnez $t8, .L80066C24 -/* 067818 80066C18 00000000 */ nop -/* 06781C 80066C1C 03E00008 */ jr $ra -/* 067820 80066C20 00001025 */ move $v0, $zero - -.L80066C24: -/* 067824 80066C24 03E00008 */ jr $ra -/* 067828 80066C28 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_80067F20.s b/asm/non_matchings/unknown_066AA0/func_80067F20.s deleted file mode 100644 index 640d5452..00000000 --- a/asm/non_matchings/unknown_066AA0/func_80067F20.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80067F20 -/* 068B20 80067F20 3C01800E */ lui $at, 0x800e -/* 068B24 80067F24 03E00008 */ jr $ra -/* 068B28 80067F28 E42CD2CC */ swc1 $f12, -0x2d34($at) - diff --git a/asm/non_matchings/unknown_066AA0/func_80069CFC.s b/asm/non_matchings/unknown_066AA0/func_80069CFC.s deleted file mode 100644 index 60514053..00000000 --- a/asm/non_matchings/unknown_066AA0/func_80069CFC.s +++ /dev/null @@ -1,11 +0,0 @@ -glabel func_80069CFC -/* 06A8FC 80069CFC 3C0E8012 */ lui $t6, %hi(D_80120CE4) # $t6, 0x8012 -/* 06A900 80069D00 8DCE0CE4 */ lw $t6, %lo(D_80120CE4)($t6) -/* 06A904 80069D04 3C188012 */ lui $t8, %hi(D_80120AC0) # $t8, 0x8012 -/* 06A908 80069D08 000E7900 */ sll $t7, $t6, 4 -/* 06A90C 80069D0C 01EE7821 */ addu $t7, $t7, $t6 -/* 06A910 80069D10 000F7880 */ sll $t7, $t7, 2 -/* 06A914 80069D14 27180AC0 */ addiu $t8, %lo(D_80120AC0) # addiu $t8, $t8, 0xac0 -/* 06A918 80069D18 03E00008 */ jr $ra -/* 06A91C 80069D1C 01F81021 */ addu $v0, $t7, $t8 - diff --git a/asm/non_matchings/unknown_066AA0/func_80069D20.s b/asm/non_matchings/unknown_066AA0/func_80069D20.s deleted file mode 100644 index e4462029..00000000 --- a/asm/non_matchings/unknown_066AA0/func_80069D20.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel func_80069D20 -/* 06A920 80069D20 3C0E8012 */ lui $t6, %hi(D_80120D14) # $t6, 0x8012 -/* 06A924 80069D24 81CE0D14 */ lb $t6, %lo(D_80120D14)($t6) -/* 06A928 80069D28 3C098012 */ lui $t1, 0x8012 -/* 06A92C 80069D2C 11C0000B */ beqz $t6, .L80069D5C -/* 06A930 80069D30 3C0B8012 */ lui $t3, 0x8012 -/* 06A934 80069D34 3C0F8012 */ lui $t7, %hi(D_80120CE4) # $t7, 0x8012 -/* 06A938 80069D38 8DEF0CE4 */ lw $t7, %lo(D_80120CE4)($t7) -/* 06A93C 80069D3C 3C088012 */ lui $t0, %hi(D_80120AC0) # $t0, 0x8012 -/* 06A940 80069D40 000FC100 */ sll $t8, $t7, 4 -/* 06A944 80069D44 030FC021 */ addu $t8, $t8, $t7 -/* 06A948 80069D48 0018C080 */ sll $t8, $t8, 2 -/* 06A94C 80069D4C 27190110 */ addiu $t9, $t8, 0x110 -/* 06A950 80069D50 25080AC0 */ addiu $t0, %lo(D_80120AC0) # addiu $t0, $t0, 0xac0 -/* 06A954 80069D54 03E00008 */ jr $ra -/* 06A958 80069D58 03281021 */ addu $v0, $t9, $t0 - -.L80069D5C: -/* 06A95C 80069D5C 8D290CE4 */ lw $t1, 0xce4($t1) -/* 06A960 80069D60 256B0AC0 */ addiu $t3, $t3, 0xac0 -/* 06A964 80069D64 00095100 */ sll $t2, $t1, 4 -/* 06A968 80069D68 01495021 */ addu $t2, $t2, $t1 -/* 06A96C 80069D6C 000A5080 */ sll $t2, $t2, 2 -/* 06A970 80069D70 014B1021 */ addu $v0, $t2, $t3 -/* 06A974 80069D74 03E00008 */ jr $ra -/* 06A978 80069D78 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_80069D7C.s b/asm/non_matchings/unknown_066AA0/func_80069D7C.s deleted file mode 100644 index 5adff98f..00000000 --- a/asm/non_matchings/unknown_066AA0/func_80069D7C.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_80069D7C -/* 06A97C 80069D7C 3C0E8012 */ lui $t6, %hi(D_80120D14) # $t6, 0x8012 -/* 06A980 80069D80 81CE0D14 */ lb $t6, %lo(D_80120D14)($t6) -/* 06A984 80069D84 3C028012 */ lui $v0, %hi(D_80120AC0) # $v0, 0x8012 -/* 06A988 80069D88 11C00004 */ beqz $t6, .L80069D9C -/* 06A98C 80069D8C 24420AC0 */ addiu $v0, %lo(D_80120AC0) # addiu $v0, $v0, 0xac0 -/* 06A990 80069D90 3C028012 */ lui $v0, 0x8012 -/* 06A994 80069D94 03E00008 */ jr $ra -/* 06A998 80069D98 24420BD0 */ addiu $v0, $v0, 0xbd0 - -.L80069D9C: -/* 06A99C 80069D9C 03E00008 */ jr $ra -/* 06A9A0 80069DA0 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_80069DC8.s b/asm/non_matchings/unknown_066AA0/func_80069DC8.s deleted file mode 100644 index 5dff60c2..00000000 --- a/asm/non_matchings/unknown_066AA0/func_80069DC8.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_80069DC8 -/* 06A9C8 80069DC8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 06A9CC 80069DCC AFA60040 */ sw $a2, 0x40($sp) -/* 06A9D0 80069DD0 AFBF0024 */ sw $ra, 0x24($sp) -/* 06A9D4 80069DD4 8FA70040 */ lw $a3, 0x40($sp) -/* 06A9D8 80069DD8 44067000 */ mfc1 $a2, $f14 -/* 06A9DC 80069DDC 27AE0034 */ addiu $t6, $sp, 0x34 -/* 06A9E0 80069DE0 27AF0030 */ addiu $t7, $sp, 0x30 -/* 06A9E4 80069DE4 27B8002C */ addiu $t8, $sp, 0x2c -/* 06A9E8 80069DE8 3C048012 */ lui $a0, %hi(D_80120F60) # $a0, 0x8012 -/* 06A9EC 80069DEC 44056000 */ mfc1 $a1, $f12 -/* 06A9F0 80069DF0 24840F60 */ addiu $a0, %lo(D_80120F60) # addiu $a0, $a0, 0xf60 -/* 06A9F4 80069DF4 AFB80018 */ sw $t8, 0x18($sp) -/* 06A9F8 80069DF8 AFAF0014 */ sw $t7, 0x14($sp) -/* 06A9FC 80069DFC 0C01BD93 */ jal func_8006F64C -/* 06AA00 80069E00 AFAE0010 */ sw $t6, 0x10($sp) -/* 06AA04 80069E04 8FBF0024 */ lw $ra, 0x24($sp) -/* 06AA08 80069E08 C7A0002C */ lwc1 $f0, 0x2c($sp) -/* 06AA0C 80069E0C 03E00008 */ jr $ra -/* 06AA10 80069E10 27BD0038 */ addiu $sp, $sp, 0x38 - diff --git a/asm/non_matchings/unknown_066AA0/func_8006A4F8.s b/asm/non_matchings/unknown_066AA0/func_8006A4F8.s deleted file mode 100644 index 9d3adf0b..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006A4F8.s +++ /dev/null @@ -1,7 +0,0 @@ -glabel func_8006A4F8 -/* 06B0F8 8006A4F8 3C028012 */ lui $v0, 0x8012 -/* 06B0FC 8006A4FC 00441021 */ addu $v0, $v0, $a0 -/* 06B100 8006A500 90421150 */ lbu $v0, 0x1150($v0) -/* 06B104 8006A504 03E00008 */ jr $ra -/* 06B108 8006A508 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006A50C.s b/asm/non_matchings/unknown_066AA0/func_8006A50C.s deleted file mode 100644 index e3a3dfef..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006A50C.s +++ /dev/null @@ -1,9 +0,0 @@ -glabel func_8006A50C -/* 06B10C 8006A50C 3C038012 */ lui $v1, %hi(D_80121150) # $v1, 0x8012 -/* 06B110 8006A510 24631150 */ addiu $v1, %lo(D_80121150) # addiu $v1, $v1, 0x1150 -/* 06B114 8006A514 90620000 */ lbu $v0, ($v1) -/* 06B118 8006A518 906E0001 */ lbu $t6, 1($v1) -/* 06B11C 8006A51C A0620001 */ sb $v0, 1($v1) -/* 06B120 8006A520 03E00008 */ jr $ra -/* 06B124 8006A524 A06E0000 */ sb $t6, ($v1) - diff --git a/asm/non_matchings/unknown_066AA0/func_8006A528.s b/asm/non_matchings/unknown_066AA0/func_8006A528.s deleted file mode 100644 index 965f539d..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006A528.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel func_8006A528 -/* 06B128 8006A528 3C0E8012 */ lui $t6, 0x8012 -/* 06B12C 8006A52C 01C47021 */ addu $t6, $t6, $a0 -/* 06B130 8006A530 91CE1150 */ lbu $t6, 0x1150($t6) -/* 06B134 8006A534 3C028012 */ lui $v0, 0x8012 -/* 06B138 8006A538 000E7880 */ sll $t7, $t6, 2 -/* 06B13C 8006A53C 01EE7823 */ subu $t7, $t7, $t6 -/* 06B140 8006A540 000F7840 */ sll $t7, $t7, 1 -/* 06B144 8006A544 004F1021 */ addu $v0, $v0, $t7 -/* 06B148 8006A548 94421110 */ lhu $v0, 0x1110($v0) -/* 06B14C 8006A54C 03E00008 */ jr $ra -/* 06B150 8006A550 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006A554.s b/asm/non_matchings/unknown_066AA0/func_8006A554.s deleted file mode 100644 index c206c5a3..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006A554.s +++ /dev/null @@ -1,11 +0,0 @@ -glabel func_8006A554 -/* 06B154 8006A554 3C0E8012 */ lui $t6, 0x8012 -/* 06B158 8006A558 01C47021 */ addu $t6, $t6, $a0 -/* 06B15C 8006A55C 91CE1150 */ lbu $t6, 0x1150($t6) -/* 06B160 8006A560 3C028012 */ lui $v0, 0x8012 -/* 06B164 8006A564 000E7840 */ sll $t7, $t6, 1 -/* 06B168 8006A568 004F1021 */ addu $v0, $v0, $t7 -/* 06B16C 8006A56C 94421140 */ lhu $v0, 0x1140($v0) -/* 06B170 8006A570 03E00008 */ jr $ra -/* 06B174 8006A574 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006A578.s b/asm/non_matchings/unknown_066AA0/func_8006A578.s deleted file mode 100644 index 083d1590..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006A578.s +++ /dev/null @@ -1,11 +0,0 @@ -glabel func_8006A578 -/* 06B178 8006A578 3C0E8012 */ lui $t6, 0x8012 -/* 06B17C 8006A57C 01C47021 */ addu $t6, $t6, $a0 -/* 06B180 8006A580 91CE1150 */ lbu $t6, 0x1150($t6) -/* 06B184 8006A584 3C028012 */ lui $v0, 0x8012 -/* 06B188 8006A588 000E7840 */ sll $t7, $t6, 1 -/* 06B18C 8006A58C 004F1021 */ addu $v0, $v0, $t7 -/* 06B190 8006A590 94421148 */ lhu $v0, 0x1148($v0) -/* 06B194 8006A594 03E00008 */ jr $ra -/* 06B198 8006A598 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006A59C.s b/asm/non_matchings/unknown_066AA0/func_8006A59C.s deleted file mode 100644 index b65ad50f..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006A59C.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_8006A59C -/* 06B19C 8006A59C 3C0E8012 */ lui $t6, 0x8012 -/* 06B1A0 8006A5A0 01C47021 */ addu $t6, $t6, $a0 -/* 06B1A4 8006A5A4 91CE1150 */ lbu $t6, 0x1150($t6) -/* 06B1A8 8006A5A8 3C048012 */ lui $a0, 0x8012 -/* 06B1AC 8006A5AC 000E7880 */ sll $t7, $t6, 2 -/* 06B1B0 8006A5B0 01EE7823 */ subu $t7, $t7, $t6 -/* 06B1B4 8006A5B4 000F7840 */ sll $t7, $t7, 1 -/* 06B1B8 8006A5B8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 06B1BC 8006A5BC 008F2021 */ addu $a0, $a0, $t7 -/* 06B1C0 8006A5C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 06B1C4 8006A5C4 80841112 */ lb $a0, 0x1112($a0) -/* 06B1C8 8006A5C8 0C01A989 */ jal func_8006A624 -/* 06B1CC 8006A5CC 00000000 */ nop -/* 06B1D0 8006A5D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 06B1D4 8006A5D4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 06B1D8 8006A5D8 03E00008 */ jr $ra -/* 06B1DC 8006A5DC 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006A5E0.s b/asm/non_matchings/unknown_066AA0/func_8006A5E0.s deleted file mode 100644 index 353a2c0f..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006A5E0.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_8006A5E0 -/* 06B1E0 8006A5E0 3C0E8012 */ lui $t6, 0x8012 -/* 06B1E4 8006A5E4 01C47021 */ addu $t6, $t6, $a0 -/* 06B1E8 8006A5E8 91CE1150 */ lbu $t6, 0x1150($t6) -/* 06B1EC 8006A5EC 3C048012 */ lui $a0, 0x8012 -/* 06B1F0 8006A5F0 000E7880 */ sll $t7, $t6, 2 -/* 06B1F4 8006A5F4 01EE7823 */ subu $t7, $t7, $t6 -/* 06B1F8 8006A5F8 000F7840 */ sll $t7, $t7, 1 -/* 06B1FC 8006A5FC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 06B200 8006A600 008F2021 */ addu $a0, $a0, $t7 -/* 06B204 8006A604 AFBF0014 */ sw $ra, 0x14($sp) -/* 06B208 8006A608 80841113 */ lb $a0, 0x1113($a0) -/* 06B20C 8006A60C 0C01A989 */ jal func_8006A624 -/* 06B210 8006A610 00000000 */ nop -/* 06B214 8006A614 8FBF0014 */ lw $ra, 0x14($sp) -/* 06B218 8006A618 27BD0018 */ addiu $sp, $sp, 0x18 -/* 06B21C 8006A61C 03E00008 */ jr $ra -/* 06B220 8006A620 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006A624.s b/asm/non_matchings/unknown_066AA0/func_8006A624.s deleted file mode 100644 index 40f5b918..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006A624.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel func_8006A624 -/* 06B224 8006A624 00047600 */ sll $t6, $a0, 0x18 -/* 06B228 8006A628 000E7E03 */ sra $t7, $t6, 0x18 -/* 06B22C 8006A62C AFA40000 */ sw $a0, ($sp) -/* 06B230 8006A630 29E10008 */ slti $at, $t7, 8 -/* 06B234 8006A634 10200006 */ beqz $at, .L8006A650 -/* 06B238 8006A638 01E02025 */ move $a0, $t7 -/* 06B23C 8006A63C 29E1FFF9 */ slti $at, $t7, -7 -/* 06B240 8006A640 14200003 */ bnez $at, .L8006A650 -/* 06B244 8006A644 00000000 */ nop -/* 06B248 8006A648 03E00008 */ jr $ra -/* 06B24C 8006A64C 00001025 */ move $v0, $zero - -.L8006A650: -/* 06B250 8006A650 18800009 */ blez $a0, .L8006A678 -/* 06B254 8006A654 00000000 */ nop -/* 06B258 8006A658 2484FFF8 */ addiu $a0, $a0, -8 -/* 06B25C 8006A65C 0004C600 */ sll $t8, $a0, 0x18 -/* 06B260 8006A660 00182603 */ sra $a0, $t8, 0x18 -/* 06B264 8006A664 28810047 */ slti $at, $a0, 0x47 -/* 06B268 8006A668 1420000B */ bnez $at, .L8006A698 -/* 06B26C 8006A66C 00801025 */ move $v0, $a0 -/* 06B270 8006A670 10000008 */ b .L8006A694 -/* 06B274 8006A674 24040046 */ li $a0, 70 -.L8006A678: -/* 06B278 8006A678 24840008 */ addiu $a0, $a0, 8 -/* 06B27C 8006A67C 00044600 */ sll $t0, $a0, 0x18 -/* 06B280 8006A680 00082603 */ sra $a0, $t0, 0x18 -/* 06B284 8006A684 2881FFBA */ slti $at, $a0, -0x46 -/* 06B288 8006A688 10200003 */ beqz $at, .L8006A698 -/* 06B28C 8006A68C 00801025 */ move $v0, $a0 -/* 06B290 8006A690 2404FFBA */ li $a0, -70 -.L8006A694: -/* 06B294 8006A694 00801025 */ move $v0, $a0 -.L8006A698: -/* 06B298 8006A698 03E00008 */ jr $ra -/* 06B29C 8006A69C 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006B0AC.s b/asm/non_matchings/unknown_066AA0/func_8006B0AC.s deleted file mode 100644 index 8b00d9d4..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006B0AC.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_8006B0AC -/* 06BCAC 8006B0AC 1880000F */ blez $a0, .L8006B0EC -/* 06BCB0 8006B0B0 3C0E8012 */ lui $t6, %hi(D_80121170) # $t6, 0x8012 -/* 06BCB4 8006B0B4 8DCE1170 */ lw $t6, %lo(D_80121170)($t6) -/* 06BCB8 8006B0B8 3C0F8012 */ lui $t7, %hi(D_8012117C) # $t7, 0x8012 -/* 06BCBC 8006B0BC 008E082A */ slt $at, $a0, $t6 -/* 06BCC0 8006B0C0 1020000A */ beqz $at, .L8006B0EC -/* 06BCC4 8006B0C4 0004C080 */ sll $t8, $a0, 2 -/* 06BCC8 8006B0C8 8DEF117C */ lw $t7, %lo(D_8012117C)($t7) -/* 06BCCC 8006B0CC 0304C023 */ subu $t8, $t8, $a0 -/* 06BCD0 8006B0D0 0018C040 */ sll $t8, $t8, 1 -/* 06BCD4 8006B0D4 01F8C821 */ addu $t9, $t7, $t8 -/* 06BCD8 8006B0D8 83220002 */ lb $v0, 2($t9) -/* 06BCDC 8006B0DC 00000000 */ nop -/* 06BCE0 8006B0E0 3048000F */ andi $t0, $v0, 0xf -/* 06BCE4 8006B0E4 03E00008 */ jr $ra -/* 06BCE8 8006B0E8 01001025 */ move $v0, $t0 - -.L8006B0EC: -/* 06BCEC 8006B0EC 00001025 */ move $v0, $zero -/* 06BCF0 8006B0F0 03E00008 */ jr $ra -/* 06BCF4 8006B0F4 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006B0F8.s b/asm/non_matchings/unknown_066AA0/func_8006B0F8.s deleted file mode 100644 index 952fa9d5..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006B0F8.s +++ /dev/null @@ -1,25 +0,0 @@ -glabel func_8006B0F8 -/* 06BCF8 8006B0F8 18800011 */ blez $a0, .L8006B140 -/* 06BCFC 8006B0FC 3C0E8012 */ lui $t6, %hi(D_80121170) # $t6, 0x8012 -/* 06BD00 8006B100 8DCE1170 */ lw $t6, %lo(D_80121170)($t6) -/* 06BD04 8006B104 3C0F8012 */ lui $t7, %hi(D_8012117C) # $t7, 0x8012 -/* 06BD08 8006B108 008E082A */ slt $at, $a0, $t6 -/* 06BD0C 8006B10C 1020000C */ beqz $at, .L8006B140 -/* 06BD10 8006B110 0004C080 */ sll $t8, $a0, 2 -/* 06BD14 8006B114 8DEF117C */ lw $t7, %lo(D_8012117C)($t7) -/* 06BD18 8006B118 0304C023 */ subu $t8, $t8, $a0 -/* 06BD1C 8006B11C 0018C040 */ sll $t8, $t8, 1 -/* 06BD20 8006B120 01F8C821 */ addu $t9, $t7, $t8 -/* 06BD24 8006B124 83230002 */ lb $v1, 2($t9) -/* 06BD28 8006B128 00000000 */ nop -/* 06BD2C 8006B12C 10600004 */ beqz $v1, .L8006B140 -/* 06BD30 8006B130 00031103 */ sra $v0, $v1, 4 -/* 06BD34 8006B134 3048000F */ andi $t0, $v0, 0xf -/* 06BD38 8006B138 03E00008 */ jr $ra -/* 06BD3C 8006B13C 01001025 */ move $v0, $t0 - -.L8006B140: -/* 06BD40 8006B140 24020001 */ li $v0, 1 -/* 06BD44 8006B144 03E00008 */ jr $ra -/* 06BD48 8006B148 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006B14C.s b/asm/non_matchings/unknown_066AA0/func_8006B14C.s deleted file mode 100644 index 82f897dc..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006B14C.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_8006B14C -/* 06BD4C 8006B14C 0480000D */ bltz $a0, .L8006B184 -/* 06BD50 8006B150 3C0E8012 */ lui $t6, %hi(D_80121170) # $t6, 0x8012 -/* 06BD54 8006B154 8DCE1170 */ lw $t6, %lo(D_80121170)($t6) -/* 06BD58 8006B158 3C0F8012 */ lui $t7, %hi(D_8012117C) # $t7, 0x8012 -/* 06BD5C 8006B15C 008E082A */ slt $at, $a0, $t6 -/* 06BD60 8006B160 10200008 */ beqz $at, .L8006B184 -/* 06BD64 8006B164 0004C080 */ sll $t8, $a0, 2 -/* 06BD68 8006B168 8DEF117C */ lw $t7, %lo(D_8012117C)($t7) -/* 06BD6C 8006B16C 0304C023 */ subu $t8, $t8, $a0 -/* 06BD70 8006B170 0018C040 */ sll $t8, $t8, 1 -/* 06BD74 8006B174 01F8C821 */ addu $t9, $t7, $t8 -/* 06BD78 8006B178 83220001 */ lb $v0, 1($t9) -/* 06BD7C 8006B17C 03E00008 */ jr $ra -/* 06BD80 8006B180 00000000 */ nop - -.L8006B184: -/* 06BD84 8006B184 2402FFFF */ li $v0, -1 -/* 06BD88 8006B188 03E00008 */ jr $ra -/* 06BD8C 8006B18C 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006B190.s b/asm/non_matchings/unknown_066AA0/func_8006B190.s deleted file mode 100644 index 0bd9c013..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006B190.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_8006B190 -/* 06BD90 8006B190 0480000D */ bltz $a0, .L8006B1C8 -/* 06BD94 8006B194 3C0E8012 */ lui $t6, %hi(D_80121170) # $t6, 0x8012 -/* 06BD98 8006B198 8DCE1170 */ lw $t6, %lo(D_80121170)($t6) -/* 06BD9C 8006B19C 3C0F8012 */ lui $t7, %hi(D_8012117C) # $t7, 0x8012 -/* 06BDA0 8006B1A0 008E082A */ slt $at, $a0, $t6 -/* 06BDA4 8006B1A4 10200008 */ beqz $at, .L8006B1C8 -/* 06BDA8 8006B1A8 0004C080 */ sll $t8, $a0, 2 -/* 06BDAC 8006B1AC 8DEF117C */ lw $t7, %lo(D_8012117C)($t7) -/* 06BDB0 8006B1B0 0304C023 */ subu $t8, $t8, $a0 -/* 06BDB4 8006B1B4 0018C040 */ sll $t8, $t8, 1 -/* 06BDB8 8006B1B8 01F8C821 */ addu $t9, $t7, $t8 -/* 06BDBC 8006B1BC 83220000 */ lb $v0, ($t9) -/* 06BDC0 8006B1C0 03E00008 */ jr $ra -/* 06BDC4 8006B1C4 00000000 */ nop - -.L8006B1C8: -/* 06BDC8 8006B1C8 00001025 */ move $v0, $zero -/* 06BDCC 8006B1CC 03E00008 */ jr $ra -/* 06BDD0 8006B1D0 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006B1D4.s b/asm/non_matchings/unknown_066AA0/func_8006B1D4.s deleted file mode 100644 index 51594bb9..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006B1D4.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_8006B1D4 -/* 06BDD4 8006B1D4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 06BDD8 8006B1D8 AFBF0014 */ sw $ra, 0x14($sp) -/* 06BDDC 8006B1DC 04800007 */ bltz $a0, .L8006B1FC -/* 06BDE0 8006B1E0 00802825 */ move $a1, $a0 -/* 06BDE4 8006B1E4 3C0E8012 */ lui $t6, %hi(D_80121174) # $t6, 0x8012 -/* 06BDE8 8006B1E8 8DCE1174 */ lw $t6, %lo(D_80121174)($t6) -/* 06BDEC 8006B1EC 00000000 */ nop -/* 06BDF0 8006B1F0 008E082A */ slt $at, $a0, $t6 -/* 06BDF4 8006B1F4 14200003 */ bnez $at, .L8006B204 -/* 06BDF8 8006B1F8 2404001B */ li $a0, 27 -.L8006B1FC: -/* 06BDFC 8006B1FC 00002825 */ move $a1, $zero -/* 06BE00 8006B200 2404001B */ li $a0, 27 -.L8006B204: -/* 06BE04 8006B204 0C0078A7 */ jal func_8001E29C -/* 06BE08 8006B208 AFA50018 */ sw $a1, 0x18($sp) -/* 06BE0C 8006B20C 8FA50018 */ lw $a1, 0x18($sp) -/* 06BE10 8006B210 8FBF0014 */ lw $ra, 0x14($sp) -/* 06BE14 8006B214 00457821 */ addu $t7, $v0, $a1 -/* 06BE18 8006B218 81E20000 */ lb $v0, ($t7) -/* 06BE1C 8006B21C 03E00008 */ jr $ra -/* 06BE20 8006B220 27BD0018 */ addiu $sp, $sp, 0x18 - diff --git a/asm/non_matchings/unknown_066AA0/func_8006BD10.s b/asm/non_matchings/unknown_066AA0/func_8006BD10.s deleted file mode 100644 index 061bdcff..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006BD10.s +++ /dev/null @@ -1,33 +0,0 @@ -glabel func_8006BD10 -/* 06C910 8006BD10 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 06C914 8006BD14 3C0E8012 */ lui $t6, %hi(D_80121168) # $t6, 0x8012 -/* 06C918 8006BD18 8DCE1168 */ lw $t6, %lo(D_80121168)($t6) -/* 06C91C 8006BD1C AFBF0014 */ sw $ra, 0x14($sp) -/* 06C920 8006BD20 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 06C924 8006BD24 91CF0052 */ lbu $t7, 0x52($t6) -/* 06C928 8006BD28 00000000 */ nop -/* 06C92C 8006BD2C 11E00013 */ beqz $t7, .L8006BD7C -/* 06C930 8006BD30 8FBF0014 */ lw $ra, 0x14($sp) -/* 06C934 8006BD34 0C0004BA */ jal func_800012E8 -/* 06C938 8006BD38 00000000 */ nop -/* 06C93C 8006BD3C 3C188012 */ lui $t8, %hi(D_80121168) # $t8, 0x8012 -/* 06C940 8006BD40 8F181168 */ lw $t8, %lo(D_80121168)($t8) -/* 06C944 8006BD44 00000000 */ nop -/* 06C948 8006BD48 93040052 */ lbu $a0, 0x52($t8) -/* 06C94C 8006BD4C 0C0002CD */ jal func_80000B34 -/* 06C950 8006BD50 00000000 */ nop -/* 06C954 8006BD54 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 06C958 8006BD58 0C00052F */ jal func_800014BC -/* 06C95C 8006BD5C 00000000 */ nop -/* 06C960 8006BD60 3C198012 */ lui $t9, %hi(D_80121168) # $t9, 0x8012 -/* 06C964 8006BD64 8F391168 */ lw $t9, %lo(D_80121168)($t9) -/* 06C968 8006BD68 00000000 */ nop -/* 06C96C 8006BD6C 97240054 */ lhu $a0, 0x54($t9) -/* 06C970 8006BD70 0C00041D */ jal func_80001074 -/* 06C974 8006BD74 00000000 */ nop -/* 06C978 8006BD78 8FBF0014 */ lw $ra, 0x14($sp) -.L8006BD7C: -/* 06C97C 8006BD7C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 06C980 8006BD80 03E00008 */ jr $ra -/* 06C984 8006BD84 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006BD98.s b/asm/non_matchings/unknown_066AA0/func_8006BD98.s deleted file mode 100644 index 92f9da77..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006BD98.s +++ /dev/null @@ -1,8 +0,0 @@ -glabel func_8006BD98 -/* 06C998 8006BD98 3C0E8012 */ lui $t6, %hi(D_80121168) # $t6, 0x8012 -/* 06C99C 8006BD9C 8DCE1168 */ lw $t6, %lo(D_80121168)($t6) -/* 06C9A0 8006BDA0 00000000 */ nop -/* 06C9A4 8006BDA4 91C2004C */ lbu $v0, 0x4c($t6) -/* 06C9A8 8006BDA8 03E00008 */ jr $ra -/* 06C9AC 8006BDAC 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006C1AC.s b/asm/non_matchings/unknown_066AA0/func_8006C1AC.s deleted file mode 100644 index 33b69cfc..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006C1AC.s +++ /dev/null @@ -1,34 +0,0 @@ -glabel func_8006C1AC -/* 06CDAC 8006C1AC 3C08800E */ lui $t0, %hi(D_800DD328) # $t0, 0x800e -/* 06CDB0 8006C1B0 2508D328 */ addiu $t0, %lo(D_800DD328) # addiu $t0, $t0, -0x2cd8 -/* 06CDB4 8006C1B4 85020000 */ lh $v0, ($t0) -/* 06CDB8 8006C1B8 3C038012 */ lui $v1, %hi(D_801211C8) # $v1, 0x8012 -/* 06CDBC 8006C1BC 246311C8 */ addiu $v1, %lo(D_801211C8) # addiu $v1, $v1, 0x11c8 -/* 06CDC0 8006C1C0 00027040 */ sll $t6, $v0, 1 -/* 06CDC4 8006C1C4 006E7821 */ addu $t7, $v1, $t6 -/* 06CDC8 8006C1C8 A5E40000 */ sh $a0, ($t7) -/* 06CDCC 8006C1CC 24580001 */ addiu $t8, $v0, 1 -/* 06CDD0 8006C1D0 A5180000 */ sh $t8, ($t0) -/* 06CDD4 8006C1D4 85020000 */ lh $v0, ($t0) -/* 06CDD8 8006C1D8 00000000 */ nop -/* 06CDDC 8006C1DC 0002C840 */ sll $t9, $v0, 1 -/* 06CDE0 8006C1E0 00794821 */ addu $t1, $v1, $t9 -/* 06CDE4 8006C1E4 A5250000 */ sh $a1, ($t1) -/* 06CDE8 8006C1E8 244A0001 */ addiu $t2, $v0, 1 -/* 06CDEC 8006C1EC A50A0000 */ sh $t2, ($t0) -/* 06CDF0 8006C1F0 85020000 */ lh $v0, ($t0) -/* 06CDF4 8006C1F4 00000000 */ nop -/* 06CDF8 8006C1F8 00025840 */ sll $t3, $v0, 1 -/* 06CDFC 8006C1FC 006B6021 */ addu $t4, $v1, $t3 -/* 06CE00 8006C200 A5860000 */ sh $a2, ($t4) -/* 06CE04 8006C204 244D0001 */ addiu $t5, $v0, 1 -/* 06CE08 8006C208 A50D0000 */ sh $t5, ($t0) -/* 06CE0C 8006C20C 85020000 */ lh $v0, ($t0) -/* 06CE10 8006C210 00000000 */ nop -/* 06CE14 8006C214 00027040 */ sll $t6, $v0, 1 -/* 06CE18 8006C218 006E7821 */ addu $t7, $v1, $t6 -/* 06CE1C 8006C21C A5E70000 */ sh $a3, ($t7) -/* 06CE20 8006C220 24580001 */ addiu $t8, $v0, 1 -/* 06CE24 8006C224 03E00008 */ jr $ra -/* 06CE28 8006C228 A5180000 */ sh $t8, ($t0) - diff --git a/asm/non_matchings/unknown_066AA0/func_8006D8F0.s b/asm/non_matchings/unknown_066AA0/func_8006D8F0.s deleted file mode 100644 index f1564258..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006D8F0.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel func_8006D8F0 -/* 06E4F0 8006D8F0 3C0E8012 */ lui $t6, %hi(D_801234EC) # $t6, 0x8012 -/* 06E4F4 8006D8F4 8DCE34EC */ lw $t6, %lo(D_801234EC)($t6) -/* 06E4F8 8006D8F8 24010004 */ li $at, 4 -/* 06E4FC 8006D8FC 11C10018 */ beq $t6, $at, .L8006D960 -/* 06E500 8006D900 AFA40000 */ sw $a0, ($sp) -/* 06E504 8006D904 3C048012 */ lui $a0, %hi(D_80121250) # $a0, 0x8012 -/* 06E508 8006D908 24841250 */ addiu $a0, %lo(D_80121250) # addiu $a0, $a0, 0x1250 -/* 06E50C 8006D90C 808F0000 */ lb $t7, ($a0) -/* 06E510 8006D910 3C018012 */ lui $at, %hi(D_801234F4) # $at, 0x8012 -/* 06E514 8006D914 AC2F34F4 */ sw $t7, %lo(D_801234F4)($at) -/* 06E518 8006D918 8083000F */ lb $v1, 0xf($a0) -/* 06E51C 8006D91C 3C058012 */ lui $a1, %hi(D_80123504) # $a1, 0x8012 -/* 06E520 8006D920 3C068012 */ lui $a2, %hi(D_80123508) # $a2, 0x8012 -/* 06E524 8006D924 24C63508 */ addiu $a2, %lo(D_80123508) # addiu $a2, $a2, 0x3508 -/* 06E528 8006D928 24A53504 */ addiu $a1, %lo(D_80123504) # addiu $a1, $a1, 0x3504 -/* 06E52C 8006D92C 24180064 */ li $t8, 100 -/* 06E530 8006D930 80820001 */ lb $v0, 1($a0) -/* 06E534 8006D934 ACA00000 */ sw $zero, ($a1) -/* 06E538 8006D938 04600002 */ bltz $v1, .L8006D944 -/* 06E53C 8006D93C ACD80000 */ sw $t8, ($a2) -/* 06E540 8006D940 ACA30000 */ sw $v1, ($a1) -.L8006D944: -/* 06E544 8006D944 0082C821 */ addu $t9, $a0, $v0 -/* 06E548 8006D948 83230008 */ lb $v1, 8($t9) -/* 06E54C 8006D94C 24080001 */ li $t0, 1 -/* 06E550 8006D950 04600002 */ bltz $v1, .L8006D95C -/* 06E554 8006D954 3C018012 */ lui $at, %hi(D_801234F8) # $at, 0x8012 -/* 06E558 8006D958 ACC30000 */ sw $v1, ($a2) -.L8006D95C: -/* 06E55C 8006D95C AC2834F8 */ sw $t0, %lo(D_801234F8)($at) -.L8006D960: -/* 06E560 8006D960 03E00008 */ jr $ra -/* 06E564 8006D964 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006EAC0.s b/asm/non_matchings/unknown_066AA0/func_8006EAC0.s deleted file mode 100644 index 7a2b6e6f..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006EAC0.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_8006EAC0 -/* 06F6C0 8006EAC0 3C038012 */ lui $v1, %hi(D_80123560) # $v1, 0x8012 -/* 06F6C4 8006EAC4 8C633560 */ lw $v1, %lo(D_80123560)($v1) -/* 06F6C8 8006EAC8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 06F6CC 8006EACC 1460000D */ bnez $v1, .L8006EB04 -/* 06F6D0 8006EAD0 AFBF0014 */ sw $ra, 0x14($sp) -/* 06F6D4 8006EAD4 3C048012 */ lui $a0, %hi(D_80123548) # $a0, 0x8012 -/* 06F6D8 8006EAD8 24843548 */ addiu $a0, %lo(D_80123548) # addiu $a0, $a0, 0x3548 -/* 06F6DC 8006EADC 00002825 */ move $a1, $zero -/* 06F6E0 8006EAE0 0C0322EC */ jal osRecvMesg -/* 06F6E4 8006EAE4 00003025 */ move $a2, $zero -/* 06F6E8 8006EAE8 244E0001 */ addiu $t6, $v0, 1 -/* 06F6EC 8006EAEC 000E702B */ sltu $t6, $zero, $t6 -/* 06F6F0 8006EAF0 3C018012 */ lui $at, %hi(D_80123560) # $at, 0x8012 -/* 06F6F4 8006EAF4 AC2E3560 */ sw $t6, %lo(D_80123560)($at) -/* 06F6F8 8006EAF8 3C038012 */ lui $v1, %hi(D_80123560) # $v1, 0x8012 -/* 06F6FC 8006EAFC 8C633560 */ lw $v1, %lo(D_80123560)($v1) -/* 06F700 8006EB00 00000000 */ nop -.L8006EB04: -/* 06F704 8006EB04 8FBF0014 */ lw $ra, 0x14($sp) -/* 06F708 8006EB08 27BD0018 */ addiu $sp, $sp, 0x18 -/* 06F70C 8006EB0C 03E00008 */ jr $ra -/* 06F710 8006EB10 00601025 */ move $v0, $v1 - diff --git a/asm/non_matchings/unknown_066AA0/func_8006EB78.s b/asm/non_matchings/unknown_066AA0/func_8006EB78.s deleted file mode 100644 index d15665aa..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006EB78.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_8006EB78 -/* 06F778 8006EB78 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e -/* 06F77C 8006EB7C 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 -/* 06F780 8006EB80 8C4E0000 */ lw $t6, ($v0) -/* 06F784 8006EB84 2401FCFF */ li $at, -769 -/* 06F788 8006EB88 30880003 */ andi $t0, $a0, 3 -/* 06F78C 8006EB8C 01C17824 */ and $t7, $t6, $at -/* 06F790 8006EB90 35F90004 */ ori $t9, $t7, 4 -/* 06F794 8006EB94 00084A00 */ sll $t1, $t0, 8 -/* 06F798 8006EB98 AC4F0000 */ sw $t7, ($v0) -/* 06F79C 8006EB9C 03295025 */ or $t2, $t9, $t1 -/* 06F7A0 8006EBA0 03E00008 */ jr $ra -/* 06F7A4 8006EBA4 AC4A0000 */ sw $t2, ($v0) - diff --git a/asm/non_matchings/unknown_066AA0/func_8006EC18.s b/asm/non_matchings/unknown_066AA0/func_8006EC18.s deleted file mode 100644 index acf19f4b..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006EC18.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_8006EC18 -/* 06F818 8006EC18 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e -/* 06F81C 8006EC1C 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 -/* 06F820 8006EC20 8C4E0000 */ lw $t6, ($v0) -/* 06F824 8006EC24 2401F3FF */ li $at, -3073 -/* 06F828 8006EC28 30880003 */ andi $t0, $a0, 3 -/* 06F82C 8006EC2C 01C17824 */ and $t7, $t6, $at -/* 06F830 8006EC30 35F90040 */ ori $t9, $t7, 0x40 -/* 06F834 8006EC34 00084A80 */ sll $t1, $t0, 0xa -/* 06F838 8006EC38 AC4F0000 */ sw $t7, ($v0) -/* 06F83C 8006EC3C 03295025 */ or $t2, $t9, $t1 -/* 06F840 8006EC40 03E00008 */ jr $ra -/* 06F844 8006EC44 AC4A0000 */ sw $t2, ($v0) - diff --git a/asm/non_matchings/unknown_066AA0/func_8006EC48.s b/asm/non_matchings/unknown_066AA0/func_8006EC48.s deleted file mode 100644 index 06511031..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006EC48.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_8006EC48 -/* 06F848 8006EC48 3C0E8012 */ lui $t6, %hi(D_801234EC) # $t6, 0x8012 -/* 06F84C 8006EC4C 8DCE34EC */ lw $t6, %lo(D_801234EC)($t6) -/* 06F850 8006EC50 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 06F854 8006EC54 AFBF0014 */ sw $ra, 0x14($sp) -/* 06F858 8006EC58 15C00010 */ bnez $t6, .L8006EC9C -/* 06F85C 8006EC5C AFA40018 */ sw $a0, 0x18($sp) -/* 06F860 8006EC60 0C0270B4 */ jal is_in_tracks_mode -/* 06F864 8006EC64 00000000 */ nop -/* 06F868 8006EC68 1440000C */ bnez $v0, .L8006EC9C -/* 06F86C 8006EC6C 2401F3FF */ li $at, -3073 -/* 06F870 8006EC70 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e -/* 06F874 8006EC74 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 -/* 06F878 8006EC78 8C4F0000 */ lw $t7, ($v0) -/* 06F87C 8006EC7C 8FA90018 */ lw $t1, 0x18($sp) -/* 06F880 8006EC80 01E1C024 */ and $t8, $t7, $at -/* 06F884 8006EC84 312A0003 */ andi $t2, $t1, 3 -/* 06F888 8006EC88 000A5A80 */ sll $t3, $t2, 0xa -/* 06F88C 8006EC8C 37080040 */ ori $t0, $t8, 0x40 -/* 06F890 8006EC90 AC580000 */ sw $t8, ($v0) -/* 06F894 8006EC94 010B6025 */ or $t4, $t0, $t3 -/* 06F898 8006EC98 AC4C0000 */ sw $t4, ($v0) -.L8006EC9C: -/* 06F89C 8006EC9C 8FBF0014 */ lw $ra, 0x14($sp) -/* 06F8A0 8006ECA0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 06F8A4 8006ECA4 03E00008 */ jr $ra -/* 06F8A8 8006ECA8 00000000 */ nop - diff --git a/asm/non_matchings/unknown_066AA0/func_8006EFB8.s b/asm/non_matchings/unknown_066AA0/func_8006EFB8.s index b7388d8a..8f267c98 100644 --- a/asm/non_matchings/unknown_066AA0/func_8006EFB8.s +++ b/asm/non_matchings/unknown_066AA0/func_8006EFB8.s @@ -6,7 +6,6 @@ glabel func_8006EFB8 /* 06FBC8 8006EFC8 24020001 */ li $v0, 1 /* 06FBCC 8006EFCC 03E00008 */ jr $ra /* 06FBD0 8006EFD0 00001025 */ move $v0, $zero - .L8006EFD4: /* 06FBD4 8006EFD4 03E00008 */ jr $ra /* 06FBD8 8006EFD8 00000000 */ nop diff --git a/asm/non_matchings/unknown_066AA0/func_8006F398.s b/asm/non_matchings/unknown_066AA0/func_8006F398.s deleted file mode 100644 index beb2e90d..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006F398.s +++ /dev/null @@ -1,40 +0,0 @@ -glabel func_8006F398 -/* 06FF98 8006F398 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 06FF9C 8006F39C AFBF0014 */ sw $ra, 0x14($sp) -/* 06FFA0 8006F3A0 0C01A943 */ jal func_8006A50C -/* 06FFA4 8006F3A4 00000000 */ nop -/* 06FFA8 8006F3A8 0C003865 */ jal func_8000E194 -/* 06FFAC 8006F3AC 00000000 */ nop -/* 06FFB0 8006F3B0 3C028012 */ lui $v0, %hi(gSettingsPtr) # $v0, 0x8012 -/* 06FFB4 8006F3B4 8C423510 */ lw $v0, %lo(gSettingsPtr)($v0) -/* 06FFB8 8006F3B8 00002825 */ move $a1, $zero -/* 06FFBC 8006F3BC 24060018 */ li $a2, 24 -/* 06FFC0 8006F3C0 24430054 */ addiu $v1, $v0, 0x54 -/* 06FFC4 8006F3C4 2444006C */ addiu $a0, $v0, 0x6c -.L8006F3C8: -/* 06FFC8 8006F3C8 90620000 */ lbu $v0, ($v1) -/* 06FFCC 8006F3CC 908E0000 */ lbu $t6, ($a0) -/* 06FFD0 8006F3D0 24A50004 */ addiu $a1, $a1, 4 -/* 06FFD4 8006F3D4 A06E0000 */ sb $t6, ($v1) -/* 06FFD8 8006F3D8 A0820000 */ sb $v0, ($a0) -/* 06FFDC 8006F3DC 90620001 */ lbu $v0, 1($v1) -/* 06FFE0 8006F3E0 908F0001 */ lbu $t7, 1($a0) -/* 06FFE4 8006F3E4 24630004 */ addiu $v1, $v1, 4 -/* 06FFE8 8006F3E8 A06FFFFD */ sb $t7, -3($v1) -/* 06FFEC 8006F3EC A0820001 */ sb $v0, 1($a0) -/* 06FFF0 8006F3F0 9062FFFE */ lbu $v0, -2($v1) -/* 06FFF4 8006F3F4 90980002 */ lbu $t8, 2($a0) -/* 06FFF8 8006F3F8 24840004 */ addiu $a0, $a0, 4 -/* 06FFFC 8006F3FC A078FFFE */ sb $t8, -2($v1) -/* 070000 8006F400 A082FFFE */ sb $v0, -2($a0) -/* 070004 8006F404 9062FFFF */ lbu $v0, -1($v1) -/* 070008 8006F408 9099FFFF */ lbu $t9, -1($a0) -/* 07000C 8006F40C 00000000 */ nop -/* 070010 8006F410 A079FFFF */ sb $t9, -1($v1) -/* 070014 8006F414 14A6FFEC */ bne $a1, $a2, .L8006F3C8 -/* 070018 8006F418 A082FFFF */ sb $v0, -1($a0) -/* 07001C 8006F41C 8FBF0014 */ lw $ra, 0x14($sp) -/* 070020 8006F420 27BD0018 */ addiu $sp, $sp, 0x18 -/* 070024 8006F424 03E00008 */ jr $ra -/* 070028 8006F428 00000000 */ nop - diff --git a/data/dkr.data.s b/data/dkr.data.s index 670a7914..23de8dae 100644 --- a/data/dkr.data.s +++ b/data/dkr.data.s @@ -1046,6 +1046,8 @@ glabel D_800DD2B8 .word 0x00000000 .word 0x00000000 .word 0x00000000 + +glabel D_800DD2CC .word 0x3F800000 .word 0x00000000 .word 0x00000000 diff --git a/include/structs.h b/include/structs.h index cccdf2c1..df01680f 100644 --- a/include/structs.h +++ b/include/structs.h @@ -32,7 +32,7 @@ typedef struct MenuElement { } MenuElement; /* Size: 0x18 bytes */ -typedef struct dkr_racer_t { +typedef struct Racer { /* 0x00 */ u32 trophy_points; /* 0x04 */ u8 best_times; /* 0x05 */ u8 character; @@ -41,7 +41,7 @@ typedef struct dkr_racer_t { /* 0x08 */ u16 placements[4]; /* 0x10 */ u16 course_time; /* 0x12 */ u16 lap_times[3]; -} dkr_racer_t; +} Racer; /* Unknown Size */ typedef struct Settings4C { @@ -73,7 +73,7 @@ typedef struct Settings { /* 0x004B */ u8 newGame; /* 0x004C */ Settings4C *unk4C; /* 0x0050 */ u32 filename; - /* 0x0054 */ dkr_racer_t racers[8]; + /* 0x0054 */ Racer racers[8]; /* 0x0114 */ u8 timeTrialRacer; /* 0x0115 */ char unk0115[2]; /* 0x0117 */ u8 display_times; diff --git a/src/mips1/unknown_066AA0.c b/src/mips1/unknown_066AA0.c index a3069cc7..82c2e2dd 100644 --- a/src/mips1/unknown_066AA0.c +++ b/src/mips1/unknown_066AA0.c @@ -4,8 +4,24 @@ #include "types.h" #include "macros.h" #include "structs.h" - extern u32 osTvType; + +/* Size: 0x34 bytes */ +typedef struct unk800DD094 { + s32 unk0; + u8 pad4[0x1C]; + s32 unk20; + s32 unk24; + s32 unk28; + s32 unk2C; + s32 unk30; +} unk800DD094; +extern unk800DD094 D_800DD064[2]; // Unknown number of entries +extern unk800DD094 D_800DD094[2]; // Unknown number of entries + +extern f32 D_800DD2CC; +extern s8 D_800DD2F8[8]; // Unknown number of entries +extern s16 D_800DD304; extern s8 D_800DD318; extern s32 D_800DD31C; extern s16 D_800DD328; @@ -19,31 +35,95 @@ extern u8 D_800DD3F0; extern s32 D_800DD3F4; extern s32 D_800DD408; extern s32 D_800DD41C; +extern f32 D_800E70A4; + +/* Size: 0x44 bytes */ +typedef struct unk80120AC0 { + s16 unk0; + s16 unk2; + s16 unk4; + u8 pad6[6]; + f32 unkC; + f32 unk10; + f32 unk14; + u8 pad18[0x1C]; + s16 unk34; + s16 pad36; + s16 unk38; + s8 pad3A; + s8 unk3B; + u8 pad3C[8]; +} unk80120AC0; + +extern unk80120AC0 D_80120AC0[4]; // Unknown number of entries. +extern unk80120AC0 D_80120AFB[4]; // Unknown number of entries. +extern unk80120AC0 D_80120BD0[4]; // Unknown number of entries. extern s32 D_80120CE0; extern s32 D_80120CE4; extern s32 D_80120D0C; extern f32 D_80120D10; -extern u8 D_80120D14; +extern s8 D_80120D14; extern u8 D_80120D15; extern s32 D_80120D18; +extern s32 D_80120D6C; +extern s32 D_80120EE0; extern s32 D_80120F60; extern s32 D_80120FE0; extern s32 D_80120FA0; extern s32 D_801210A0; extern s32 D_801210E0; + +/* Size: 5 bytes */ +typedef struct unk80121110 { + u16 unk0; + s8 unk2; + s8 unk3; + s8 unk4; +} unk80121110; +extern unk80121110 D_80121110[2]; // Unknown number of entries +extern u16 D_80121140[2]; // Unknown number of entries. +extern u16 D_80121148[2]; // Unknown number of entries. +extern u8 D_80121150[8]; // Unknown number of entries. extern s32 D_80121164; -extern s32 D_80121168; + +/* Unknown size */ +typedef struct unk80121168 { + s32 unk0; + u8 pad4[0x48]; + u8 unk4C; + u8 pad4D[3]; + u16 pad50; + u8 unk52; + u8 pad53; + u16 unk54; +} unk80121168; +extern unk80121168* D_80121168; + extern s32 D_80121170; extern s32 D_80121174; + +// Size: 6 bytes +typedef struct unk8012117C { + s8 unk0; + s8 unk1; + s8 unk2; + s8 pad3[3]; +} unk8012117C; +extern unk8012117C *D_8012117C[2]; // Unknown number of entries + extern s32 D_801211C0; +extern s16 D_801211C8[8]; // Unknown number of entries extern s32 D_801211F8; extern s32 D_80121208; extern s32 D_80121218; extern s32 D_80121228; +extern s8 D_80121250[16]; // Unknown number of entries extern s32 D_801234EC; extern s32 D_801234F4; +extern s32 D_801234F8; extern s32 D_80123500; extern s32 D_80123504; +extern s32 D_80123508; extern Settings *gSettingsPtr; extern s8 D_80123514; extern s8 D_80123515; @@ -52,9 +132,31 @@ extern s32 D_80123518; extern s32 D_8012351C; extern u8 D_80123524; extern u8 D_80123525; +extern s32* D_80123548; // This is actually an OSMesgQueue pointer. +extern s32 D_80123560; + +extern s32 D_A4000000; +extern s32 SP_IMEM; + + +void func_800014BC(f32 arg0); +s8* func_8001E29C(s32 arg0); +s32 func_8006A624(s8 arg0); +void func_8006F64C(s32*, f32, f32, f32, f32*, f32*, f32*); +void func_800CC920(s32*, s32*, f32, f32, f32, f32, f32); +void func_8006F870(s32*, s32*); +s16 func_80029F18(f32, f32, f32); +void func_8006A50C(void); +void func_8000E194(void); GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80065EA0.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066060.s") + +void func_80066060(s32 arg0, s32 arg1) { + if (arg0 >= 0 && arg0 < 4) { + D_800DD2F8[arg0] = arg1; + D_80120AC0[arg0].unk3B = arg1; + } +} void func_80066098(s8 arg0) { s8 temp = (arg0 << 24) >> 24; @@ -75,8 +177,10 @@ f32 func_800660DC(void) { GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_800660EC.s") -/* Unused? */ -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066194.s") +void func_80066194(void) { + func_800CC920(&D_80120EE0, &D_80120D6C, 60.0f, 1.33333333f, 10.0f, D_800E70A4, 1.0f); + func_8006F870(&D_80120EE0, &D_80120FE0); +} /* Unused? */ s32* func_80066204(void) { @@ -94,7 +198,19 @@ s32 func_80066220(void) { GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066230.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066348.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_800663DC.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066488.s") + +void func_80066488(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s16 arg4, s16 arg5, s16 arg6) { + arg0 += 4; + D_80120AC0[arg0].unk38 = 0; + D_80120AC0[arg0].unkC = arg1; + D_80120AC0[arg0].unk10 = arg2; + D_80120AC0[arg0].unk14 = arg3; + D_80120AC0[arg0].unk0 = arg4; + D_80120AC0[arg0].unk2 = arg5; + D_80120AC0[arg0].unk4 = arg6; + D_80120AC0[arg0].unk34 = func_80029F18(arg1, arg2, arg3); + D_80120D14 = 1; +} s8 func_80066510(void) { return D_80120D14; @@ -115,28 +231,52 @@ void func_800665E8(s32 arg0) { } GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066610.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066818.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066894.s") +void func_80066818(s32 arg0, s32 arg1) { + if (arg1 != 0) { + D_800DD064[arg0].unk30 |= 1; + } else { + D_800DD064[arg0].unk30 |= 2; + } + D_800DD064[arg0].unk30 &= -5; +} -/* -// Close to matching -extern s32 D_800DD094[48]; +void func_80066894(s32 arg0, s32 arg1) { + if (arg1 != 0) { + D_800DD064[arg0].unk30 &= -2; + } else { + D_800DD064[arg0].unk30 |= 4; + } + D_800DD064[arg0].unk30 &= -3; +} + s32 func_80066910(s32 arg0) { - s32 index = arg0 * 13; - return D_800DD094[index] & 0x1; + return D_800DD094[arg0].unk0 & 0x1; } -*/ -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066910.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066940.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066AA8.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066BA8.s") + +s32 func_80066BA8(s32 arg0, s32 *arg1, s32 *arg2, s32 *arg3, s32 *arg4) { + *arg1 = D_800DD064[arg0].unk20; + *arg3 = D_800DD064[arg0].unk28; + *arg2 = D_800DD064[arg0].unk24; + *arg4 = D_800DD064[arg0].unk2C; + if ((*arg1 | *arg3 | *arg2 | *arg4) == 0) { + return 0; + } + return 1; +} + GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066C2C.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80066CDC.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80067A3C.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80067D3C.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80067F20.s") + +void func_80067F20(f32 arg0) { + D_800DD2CC = arg0; +} + GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80067F2C.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006807C.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80068158.s") @@ -153,9 +293,24 @@ GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80068FA8.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80069484.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80069790.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80069A40.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80069CFC.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80069D20.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80069D7C.s") + +s16 *func_80069CFC(void) { + return &D_80120AC0[D_80120CE4].unk0; +} + +s16 *func_80069D20(void) { + if (D_80120D14 != 0) { + return &D_80120AC0[D_80120CE4 + 4].unk0; + } + return &D_80120AC0[D_80120CE4].unk0; +} + +unk80120AC0 *func_80069D7C(void) { + if (D_80120D14 != 0) { + return D_80120BD0; + } + return D_80120AC0; +} s32* func_80069DA4(void) { return &D_80120FA0; @@ -169,7 +324,14 @@ s32* func_80069DBC(void) { return &D_80120F60; } -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80069DC8.s") +f32 func_80069DC8(f32 arg0, f32 arg1, f32 arg2) { + f32 sp34; + f32 sp30; + f32 returnVal; + func_8006F64C(&D_80120F60, arg0, arg1, arg2, &sp34, &sp30, &returnVal); + return returnVal; +} + GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80069E14.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_80069F28.s") @@ -181,21 +343,108 @@ GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A10C.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A1C4.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A434.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A458.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A4F8.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A50C.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A528.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A554.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A578.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A59C.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A5E0.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A624.s") + +u8 func_8006A4F8(s32 arg0) { + return D_80121150[arg0]; +} + +void func_8006A50C(void) { + u8 temp = D_80121150[0]; + D_80121150[0] = D_80121150[1]; + D_80121150[1] = temp; +} + +u16 func_8006A528(s32 arg0) { + return D_80121110[D_80121150[arg0]].unk0; +} + +u16 func_8006A554(s32 arg0) { + return D_80121140[D_80121150[arg0]]; +} + +u16 func_8006A578(s32 arg0) { + return D_80121148[D_80121150[arg0]]; +} + +s32 func_8006A59C(s32 arg0) { + func_8006A624(D_80121110[D_80121150[arg0]].unk2); +} + +s32 func_8006A5E0(s32 arg0) { + func_8006A624(D_80121110[D_80121150[arg0]].unk3); +} + +s32 func_8006A624(s8 arg0) { + if (arg0 < 8 && arg0 >= -7) { + return 0; + } + if (arg0 > 0) { + arg0 -= 8; + if (arg0 >= 0x47) { + arg0 = 0x46; + } + } else { + arg0 += 8; + if (arg0 < -0x46) { + arg0 = -0x46; + } + } + return arg0; +} + +#if 1 GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A6A0.s") +#else +void func_8006A6A0(void) { + D_800DD304 = 0; +} +#endif + +/*!!! FILE BOUNDARY !!!*/ + GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006A6B0.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006B0AC.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006B0F8.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006B14C.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006B190.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006B1D4.s") + +s32 func_8006B0AC(s32 arg0) { + if (arg0 > 0 && arg0 < D_80121170) { + return (*D_8012117C)[arg0].unk2 & 0xF; + } + return 0; +} + +s32 func_8006B0F8(s32 arg0) { + if (arg0 > 0 && arg0 < D_80121170) { + s32 temp = (*D_8012117C)[arg0].unk2; + if(temp != 0) { + return (temp >> 4) & 0xF; + } + } + return 1; +} + +s8 func_8006B14C(s32 arg0) { + if (arg0 >= 0 && arg0 < D_80121170) { + return (*D_8012117C)[arg0].unk1; + } + return -1; +} + +s8 func_8006B190(s32 arg0) { + if (arg0 >= 0 && arg0 < D_80121170) { + return (*D_8012117C)[arg0].unk0; + } + return 0; +} + +s32 func_8006B1D4(s32 arg0) { + s8* temp; + + if (arg0 < 0 || arg0 >= D_80121174) { + arg0 = 0; + } + temp = func_8001E29C(0x1B); + + return temp[arg0]; +} void func_8006B224(s32* arg0, s32* arg1) { *arg0 = D_80121170; @@ -207,15 +456,25 @@ s32 func_8006B240(void) { } GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006B250.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006BD10.s") + +void func_8006BD10(f32 arg0) { + if (D_80121168->unk52 != 0) { + func_800012E8(); + func_80000B34(D_80121168->unk52); + func_800014BC(arg0); + func_80001074(D_80121168->unk54); + } +} s32 func_8006BD88(void) { return D_80121164; } -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006BD98.s") +u8 func_8006BD98(void) { + return D_80121168->unk4C; +} -s32 func_8006BDB0(void) { +unk80121168* func_8006BDB0(void) { return D_80121168; } @@ -240,7 +499,13 @@ s8 func_8006C19C(void) { return D_800DD318; } -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006C1AC.s") +void func_8006C1AC(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { + D_801211C8[D_800DD328++] = arg0; + D_801211C8[D_800DD328++] = arg1; + D_801211C8[D_800DD328++] = arg2; + D_801211C8[D_800DD328++] = arg3; +} + GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006C22C.s") void func_8006C2E4(void) { @@ -289,7 +554,23 @@ void func_8006D8E0(s32 arg0) { D_80123516 = arg0 + 1; } -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006D8F0.s") +void func_8006D8F0(s32 arg0) { + s32 temp; + if (D_801234EC != 4) { + D_801234F4 = D_80121250[0]; + D_80123504 = 0; + D_80123508 = 0x64; + temp = D_80121250[1]; + if (D_80121250[15] >= 0) { + D_80123504 = D_80121250[15]; + } + if (D_80121250[temp + 8] >= 0) { + D_80123508 = D_80121250[temp + 8]; + } + D_801234F8 = 1; + } +} + GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006D968.s") s32 func_8006DA0C(void) { @@ -363,7 +644,12 @@ s8 func_8006EAB0(void) { return D_80123516; } -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006EAC0.s") +s32 func_8006EAC0(void) { + if (D_80123560 == 0) { + D_80123560 = (s32) ((osRecvMesg(&D_80123548, NULL, 0) + 1) != 0); + } + return D_80123560; +} s32 func_8006EB14(void) { return D_801234F4; @@ -383,7 +669,10 @@ void func_8006EB5C(void) { D_800DD37C |= 0x03; } -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006EB78.s") +void func_8006EB78(s32 arg0) { + D_800DD37C &= -0x301; + D_800DD37C |= (0x04 | ((arg0 & 3) << 8)); +} void func_8006EBA8(void) { D_800DD37C |= 0x08; @@ -401,8 +690,17 @@ void func_8006EBFC(void) { D_800DD37C |= 0x30; } -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006EC18.s") -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006EC48.s") +void func_8006EC18(s32 arg0) { + D_800DD37C &= -0xC01; + D_800DD37C |= (0x40 | ((arg0 & 3) << 0xA)); +} + +void func_8006EC48(s32 arg0) { + if (D_801234EC == 0 && !is_in_tracks_mode()) { + D_800DD37C &= -0xC01; + D_800DD37C |= (0x40 | ((arg0 & 3) << 0xA)); + } +} void func_8006ECAC(s32 arg0) { D_800DD37C = ((arg0 & 0x03) << 10) | 0x80; @@ -418,7 +716,18 @@ void func_8006ECE0(void) { } GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006ECFC.s") + +#if 1 GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006EFB8.s") +#else +s32 func_8006EFB8(void) { + if (D_A4000000 != -1) { // regalloc issue with D_A4000000 + return 0; + } + return 1; +} +#endif + GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006EFDC.s") GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006F140.s") @@ -445,7 +754,25 @@ void func_8006F388(u8 arg0) { D_800DD398 = arg0; } -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006F398.s") +void func_8006F398(void) { + s32 i; + u8 temp; + u8 *first_racer_data; + u8 *second_racer_data; + + func_8006A50C(); + func_8000E194(); + + first_racer_data = (u8*)(gSettingsPtr->racers); + second_racer_data = (u8*)(gSettingsPtr->racers + 1); + + for(i = 0; i < sizeof(Racer); i++) { + temp = first_racer_data[i]; + first_racer_data[i] = second_racer_data[i]; + second_racer_data[i] = temp; + } +} + void func_8006F42C(void) { D_800DD3F0 = 2; @@ -461,4 +788,13 @@ s32 func_8006F4C8(void) { } } +#if 1 GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006F4EC.s") +#else +s32 func_8006F4EC(void) { + if (SP_IMEM != 0x17D7) { // Same regalloc issue as func_8006EFB8 + return 0; + } + return 1; +} +#endif diff --git a/undefined_syms.txt b/undefined_syms.txt index 660bc561..e761c1ba 100755 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -188,6 +188,7 @@ D_800DD148 = 0x800DD148; D_800DD288 = 0x800DD288; D_800DD2A0 = 0x800DD2A0; D_800DD2B8 = 0x800DD2B8; +D_800DD2CC = 0x800DD2CC; D_800DD2F8 = 0x800DD2F8; D_800DD300 = 0x800DD300; D_800DD304 = 0x800DD304; @@ -2121,6 +2122,7 @@ D_80120004 = 0x80120004; D_80120010 = 0x80120010; D_8012004B = 0x8012004B; D_80120AC0 = 0x80120AC0; +D_80120BD0 = 0x80120BD0; D_80120CE0 = 0x80120CE0; D_80120CE4 = 0x80120CE4; D_80120CE8 = 0x80120CE8; @@ -2840,6 +2842,7 @@ D_8012D3F0 = 0x8012D3F0; D_8012FFFF = 0x8012FFFF; D_A0000200 = 0xA0000200; D_A0000284 = 0xA0000284; +D_A4000000 = 0xA4000000; SP_IMEM = 0xA4001000; D_A4040004 = 0xA4040004; D_A4040008 = 0xA4040008;