diff --git a/asm/non_matchings/unknown_05F690/free_object_model.s b/asm/non_matchings/object_models/free_object_model.s similarity index 100% rename from asm/non_matchings/unknown_05F690/free_object_model.s rename to asm/non_matchings/object_models/free_object_model.s diff --git a/asm/non_matchings/unknown_05F690/func_8005F99C.s b/asm/non_matchings/object_models/func_8005F99C.s similarity index 100% rename from asm/non_matchings/unknown_05F690/func_8005F99C.s rename to asm/non_matchings/object_models/func_8005F99C.s diff --git a/asm/non_matchings/unknown_05F690/func_8005FCD0.s b/asm/non_matchings/object_models/func_8005FCD0.s similarity index 100% rename from asm/non_matchings/unknown_05F690/func_8005FCD0.s rename to asm/non_matchings/object_models/func_8005FCD0.s diff --git a/asm/non_matchings/unknown_05F690/func_8005FF40.s b/asm/non_matchings/object_models/func_8005FF40.s similarity index 100% rename from asm/non_matchings/unknown_05F690/func_8005FF40.s rename to asm/non_matchings/object_models/func_8005FF40.s diff --git a/asm/non_matchings/unknown_05F690/func_8006017C.s b/asm/non_matchings/object_models/func_8006017C.s similarity index 100% rename from asm/non_matchings/unknown_05F690/func_8006017C.s rename to asm/non_matchings/object_models/func_8006017C.s diff --git a/asm/non_matchings/unknown_05F690/func_80060910.s b/asm/non_matchings/object_models/func_80060910.s similarity index 100% rename from asm/non_matchings/unknown_05F690/func_80060910.s rename to asm/non_matchings/object_models/func_80060910.s diff --git a/asm/non_matchings/unknown_05F690/func_80060AC8.s b/asm/non_matchings/object_models/func_80060AC8.s similarity index 100% rename from asm/non_matchings/unknown_05F690/func_80060AC8.s rename to asm/non_matchings/object_models/func_80060AC8.s diff --git a/asm/non_matchings/unknown_05F690/func_80060C58.s b/asm/non_matchings/object_models/func_80060C58.s similarity index 100% rename from asm/non_matchings/unknown_05F690/func_80060C58.s rename to asm/non_matchings/object_models/func_80060C58.s diff --git a/asm/non_matchings/unknown_05F690/func_80060EA8.s b/asm/non_matchings/object_models/func_80060EA8.s similarity index 100% rename from asm/non_matchings/unknown_05F690/func_80060EA8.s rename to asm/non_matchings/object_models/func_80060EA8.s diff --git a/asm/non_matchings/unknown_05F690/func_80061A00.s b/asm/non_matchings/object_models/func_80061A00.s similarity index 100% rename from asm/non_matchings/unknown_05F690/func_80061A00.s rename to asm/non_matchings/object_models/func_80061A00.s diff --git a/asm/non_matchings/unknown_05F690/func_80061C0C.s b/asm/non_matchings/object_models/func_80061C0C.s similarity index 100% rename from asm/non_matchings/unknown_05F690/func_80061C0C.s rename to asm/non_matchings/object_models/func_80061C0C.s diff --git a/asm/non_matchings/unknown_00BC20/func_80022540.s b/asm/non_matchings/unknown_00BC20/catmull_rom_interpolation.s similarity index 99% rename from asm/non_matchings/unknown_00BC20/func_80022540.s rename to asm/non_matchings/unknown_00BC20/catmull_rom_interpolation.s index 83526fda..e3aeb8ff 100644 --- a/asm/non_matchings/unknown_00BC20/func_80022540.s +++ b/asm/non_matchings/unknown_00BC20/catmull_rom_interpolation.s @@ -1,4 +1,4 @@ -glabel func_80022540 +glabel catmull_rom_interpolation /* 023140 80022540 27BDFFF0 */ addiu $sp, $sp, -0x10 /* 023144 80022544 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 /* 023148 80022548 00057080 */ sll $t6, $a1, 2 diff --git a/asm/non_matchings/unknown_00BC20/func_8000CC7C.s b/asm/non_matchings/unknown_00BC20/func_8000CC7C.s index e03664cd..625315a7 100644 --- a/asm/non_matchings/unknown_00BC20/func_8000CC7C.s +++ b/asm/non_matchings/unknown_00BC20/func_8000CC7C.s @@ -1022,7 +1022,7 @@ glabel L8000D98C .L8000DA9C: /* 00E69C 8000DA9C 3C15800E */ lui $s5, %hi(D_800DC718) # $s5, 0x800e /* 00E6A0 8000DAA0 26B5C718 */ addiu $s5, %lo(D_800DC718) # addiu $s5, $s5, -0x38e8 -/* 00E6A4 8000DAA4 0C0166D3 */ jal func_80059B4C +/* 00E6A4 8000DAA4 0C0166D3 */ jal free_tt_ghost_data /* 00E6A8 8000DAA8 AEA00000 */ sw $zero, ($s5) /* 00E6AC 8000DAAC 3C118012 */ lui $s1, %hi(D_8011AD38) # $s1, 0x8012 /* 00E6B0 8000DAB0 2631AD38 */ addiu $s1, %lo(D_8011AD38) # addiu $s1, $s1, -0x52c8 diff --git a/asm/non_matchings/unknown_00BC20/func_8001B2F0.s b/asm/non_matchings/unknown_00BC20/func_8001B2F0.s index 65ddb50f..27a68e56 100644 --- a/asm/non_matchings/unknown_00BC20/func_8001B2F0.s +++ b/asm/non_matchings/unknown_00BC20/func_8001B2F0.s @@ -39,7 +39,7 @@ glabel func_8001B2F0 /* 01BF78 8001B378 8C79000C */ lw $t9, 0xc($v1) /* 01BF7C 8001B37C 3C068012 */ lui $a2, %hi(D_8011AE80) # $a2, 0x8012 /* 01BF80 8001B380 24C6AE80 */ addiu $a2, %lo(D_8011AE80) # addiu $a2, $a2, -0x5180 -/* 01BF84 8001B384 0C01669A */ jal func_80059A68 +/* 01BF84 8001B384 0C01669A */ jal load_tt_ghost /* 01BF88 8001B388 03242823 */ subu $a1, $t9, $a0 /* 01BF8C 8001B38C 00402825 */ move $a1, $v0 .L8001B390: diff --git a/asm/non_matchings/unknown_00BC20/func_8001B3C4.s b/asm/non_matchings/unknown_00BC20/func_8001B3C4.s index 63edfae2..745e4164 100644 --- a/asm/non_matchings/unknown_00BC20/func_8001B3C4.s +++ b/asm/non_matchings/unknown_00BC20/func_8001B3C4.s @@ -5,7 +5,7 @@ glabel func_8001B3C4 /* 01BFD0 8001B3D0 3C01800E */ lui $at, %hi(D_800DC718) # $at, 0x800e /* 01BFD4 8001B3D4 00808025 */ move $s0, $a0 /* 01BFD8 8001B3D8 AFA50024 */ sw $a1, 0x24($sp) -/* 01BFDC 8001B3DC 0C0166D3 */ jal func_80059B4C +/* 01BFDC 8001B3DC 0C0166D3 */ jal free_tt_ghost_data /* 01BFE0 8001B3E0 AC20C718 */ sw $zero, %lo(D_800DC718)($at) /* 01BFE4 8001B3E4 3C01800E */ lui $at, %hi(D_800DC734) # $at, 0x800e /* 01BFE8 8001B3E8 A020C734 */ sb $zero, %lo(D_800DC734)($at) diff --git a/asm/non_matchings/unknown_00BC20/func_8001C6C4.s b/asm/non_matchings/unknown_00BC20/func_8001C6C4.s index 447e4b4b..bdd630d4 100644 --- a/asm/non_matchings/unknown_00BC20/func_8001C6C4.s +++ b/asm/non_matchings/unknown_00BC20/func_8001C6C4.s @@ -88,17 +88,17 @@ glabel func_8001C6C4 /* 01D3DC 8001C7DC E7260000 */ swc1 $f6, ($t9) /* 01D3E0 8001C7E0 8E460000 */ lw $a2, ($s2) /* 01D3E4 8001C7E4 02602025 */ move $a0, $s3 -/* 01D3E8 8001C7E8 0C008950 */ jal func_80022540 +/* 01D3E8 8001C7E8 0C008950 */ jal catmull_rom_interpolation /* 01D3EC 8001C7EC 00002825 */ move $a1, $zero /* 01D3F0 8001C7F0 E7A000A8 */ swc1 $f0, 0xa8($sp) /* 01D3F4 8001C7F4 8E460000 */ lw $a2, ($s2) /* 01D3F8 8001C7F8 02802025 */ move $a0, $s4 -/* 01D3FC 8001C7FC 0C008950 */ jal func_80022540 +/* 01D3FC 8001C7FC 0C008950 */ jal catmull_rom_interpolation /* 01D400 8001C800 00002825 */ move $a1, $zero /* 01D404 8001C804 8E460000 */ lw $a2, ($s2) /* 01D408 8001C808 46000786 */ mov.s $f30, $f0 /* 01D40C 8001C80C 02A02025 */ move $a0, $s5 -/* 01D410 8001C810 0C008950 */ jal func_80022540 +/* 01D410 8001C810 0C008950 */ jal catmull_rom_interpolation /* 01D414 8001C814 00002825 */ move $a1, $zero /* 01D418 8001C818 E7A000A0 */ swc1 $f0, 0xa0($sp) /* 01D41C 8001C81C C64A0008 */ lwc1 $f10, 8($s2) @@ -132,17 +132,17 @@ glabel func_8001C6C4 /* 01D484 8001C884 46205520 */ cvt.s.d $f20, $f10 .L8001C888: /* 01D488 8001C888 4406A000 */ mfc1 $a2, $f20 -/* 01D48C 8001C88C 0C008950 */ jal func_80022540 +/* 01D48C 8001C88C 0C008950 */ jal catmull_rom_interpolation /* 01D490 8001C890 02202825 */ move $a1, $s1 /* 01D494 8001C894 4406A000 */ mfc1 $a2, $f20 /* 01D498 8001C898 46000586 */ mov.s $f22, $f0 /* 01D49C 8001C89C 02802025 */ move $a0, $s4 -/* 01D4A0 8001C8A0 0C008950 */ jal func_80022540 +/* 01D4A0 8001C8A0 0C008950 */ jal catmull_rom_interpolation /* 01D4A4 8001C8A4 02202825 */ move $a1, $s1 /* 01D4A8 8001C8A8 4406A000 */ mfc1 $a2, $f20 /* 01D4AC 8001C8AC 46000606 */ mov.s $f24, $f0 /* 01D4B0 8001C8B0 02A02025 */ move $a0, $s5 -/* 01D4B4 8001C8B4 0C008950 */ jal func_80022540 +/* 01D4B4 8001C8B4 0C008950 */ jal catmull_rom_interpolation /* 01D4B8 8001C8B8 02202825 */ move $a1, $s1 /* 01D4BC 8001C8BC C7B000A8 */ lwc1 $f16, 0xa8($sp) /* 01D4C0 8001C8C0 C7B200A0 */ lwc1 $f18, 0xa0($sp) diff --git a/asm/non_matchings/unknown_00BC20/func_8001F460.s b/asm/non_matchings/unknown_00BC20/func_8001F460.s index 249b6417..5ab4c4e7 100644 --- a/asm/non_matchings/unknown_00BC20/func_8001F460.s +++ b/asm/non_matchings/unknown_00BC20/func_8001F460.s @@ -1185,33 +1185,33 @@ glabel func_8001F460 /* 021198 80020598 15E00010 */ bnez $t7, .L800205DC /* 02119C 8002059C 00000000 */ nop /* 0211A0 800205A0 4406A000 */ mfc1 $a2, $f20 -/* 0211A4 800205A4 0C008950 */ jal func_80022540 +/* 0211A4 800205A4 0C008950 */ jal catmull_rom_interpolation /* 0211A8 800205A8 02202025 */ move $a0, $s1 /* 0211AC 800205AC 4406A000 */ mfc1 $a2, $f20 /* 0211B0 800205B0 E7A00124 */ swc1 $f0, 0x124($sp) /* 0211B4 800205B4 27A40140 */ addiu $a0, $sp, 0x140 -/* 0211B8 800205B8 0C008950 */ jal func_80022540 +/* 0211B8 800205B8 0C008950 */ jal catmull_rom_interpolation /* 0211BC 800205BC 02402825 */ move $a1, $s2 /* 0211C0 800205C0 4406A000 */ mfc1 $a2, $f20 /* 0211C4 800205C4 27A4012C */ addiu $a0, $sp, 0x12c /* 0211C8 800205C8 02402825 */ move $a1, $s2 -/* 0211CC 800205CC 0C008950 */ jal func_80022540 +/* 0211CC 800205CC 0C008950 */ jal catmull_rom_interpolation /* 0211D0 800205D0 E7A00120 */ swc1 $f0, 0x120($sp) /* 0211D4 800205D4 1000000F */ b .L80020614 /* 0211D8 800205D8 E7A0011C */ swc1 $f0, 0x11c($sp) .L800205DC: /* 0211DC 800205DC 4406A000 */ mfc1 $a2, $f20 -/* 0211E0 800205E0 0C008A22 */ jal func_80022888 +/* 0211E0 800205E0 0C008A22 */ jal lerp /* 0211E4 800205E4 02402825 */ move $a1, $s2 /* 0211E8 800205E8 4406A000 */ mfc1 $a2, $f20 /* 0211EC 800205EC E7A00124 */ swc1 $f0, 0x124($sp) /* 0211F0 800205F0 27A40140 */ addiu $a0, $sp, 0x140 -/* 0211F4 800205F4 0C008A22 */ jal func_80022888 +/* 0211F4 800205F4 0C008A22 */ jal lerp /* 0211F8 800205F8 02402825 */ move $a1, $s2 /* 0211FC 800205FC 4406A000 */ mfc1 $a2, $f20 /* 021200 80020600 27A4012C */ addiu $a0, $sp, 0x12c /* 021204 80020604 02402825 */ move $a1, $s2 -/* 021208 80020608 0C008A22 */ jal func_80022888 +/* 021208 80020608 0C008A22 */ jal lerp /* 02120C 8002060C E7A00120 */ swc1 $f0, 0x120($sp) /* 021210 80020610 E7A0011C */ swc1 $f0, 0x11c($sp) .L80020614: @@ -1258,7 +1258,7 @@ glabel func_8001F460 /* 0212B0 800206B0 00000000 */ nop /* 0212B4 800206B4 4406A000 */ mfc1 $a2, $f20 /* 0212B8 800206B8 27A400F4 */ addiu $a0, $sp, 0xf4 -/* 0212BC 800206BC 0C008950 */ jal func_80022540 +/* 0212BC 800206BC 0C008950 */ jal catmull_rom_interpolation /* 0212C0 800206C0 02402825 */ move $a1, $s2 /* 0212C4 800206C4 C7A600B4 */ lwc1 $f6, 0xb4($sp) /* 0212C8 800206C8 8ED90040 */ lw $t9, 0x40($s6) @@ -1277,17 +1277,17 @@ glabel func_8001F460 /* 0212FC 800206FC 270F0002 */ addiu $t7, $t8, 2 /* 021300 80020700 16AF001B */ bne $s5, $t7, .L80020770 /* 021304 80020704 00002825 */ move $a1, $zero -/* 021308 80020708 0C008950 */ jal func_80022540 +/* 021308 80020708 0C008950 */ jal catmull_rom_interpolation /* 02130C 8002070C 3C063F80 */ lui $a2, 0x3f80 /* 021310 80020710 E7A00124 */ swc1 $f0, 0x124($sp) /* 021314 80020714 27A40140 */ addiu $a0, $sp, 0x140 /* 021318 80020718 00002825 */ move $a1, $zero -/* 02131C 8002071C 0C008950 */ jal func_80022540 +/* 02131C 8002071C 0C008950 */ jal catmull_rom_interpolation /* 021320 80020720 3C063F80 */ lui $a2, 0x3f80 /* 021324 80020724 27A4012C */ addiu $a0, $sp, 0x12c /* 021328 80020728 00002825 */ move $a1, $zero /* 02132C 8002072C 3C063F80 */ lui $a2, 0x3f80 -/* 021330 80020730 0C008950 */ jal func_80022540 +/* 021330 80020730 0C008950 */ jal catmull_rom_interpolation /* 021334 80020734 E7A00120 */ swc1 $f0, 0x120($sp) /* 021338 80020738 E7A0011C */ swc1 $f0, 0x11c($sp) /* 02133C 8002073C C6CA000C */ lwc1 $f10, 0xc($s6) @@ -1625,7 +1625,7 @@ glabel func_8001F460 /* 021800 80020C00 17200027 */ bnez $t9, .L80020CA0 /* 021804 80020C04 27A400E0 */ addiu $a0, $sp, 0xe0 /* 021808 80020C08 4406A000 */ mfc1 $a2, $f20 -/* 02180C 80020C0C 0C008950 */ jal func_80022540 +/* 02180C 80020C0C 0C008950 */ jal catmull_rom_interpolation /* 021810 80020C10 27A400E0 */ addiu $a0, $sp, 0xe0 /* 021814 80020C14 444EF800 */ cfc1 $t6, $31 /* 021818 80020C18 4406A000 */ mfc1 $a2, $f20 @@ -1637,7 +1637,7 @@ glabel func_8001F460 /* 021830 80020C30 02402825 */ move $a1, $s2 /* 021834 80020C34 44182000 */ mfc1 $t8, $f4 /* 021838 80020C38 44CEF800 */ ctc1 $t6, $31 -/* 02183C 80020C3C 0C008950 */ jal func_80022540 +/* 02183C 80020C3C 0C008950 */ jal catmull_rom_interpolation /* 021840 80020C40 A6D80000 */ sh $t8, ($s6) /* 021844 80020C44 444FF800 */ cfc1 $t7, $31 /* 021848 80020C48 4406A000 */ mfc1 $a2, $f20 @@ -1649,7 +1649,7 @@ glabel func_8001F460 /* 021860 80020C60 02402825 */ move $a1, $s2 /* 021864 80020C64 44193000 */ mfc1 $t9, $f6 /* 021868 80020C68 44CFF800 */ ctc1 $t7, $31 -/* 02186C 80020C6C 0C008950 */ jal func_80022540 +/* 02186C 80020C6C 0C008950 */ jal catmull_rom_interpolation /* 021870 80020C70 A6D90002 */ sh $t9, 2($s6) /* 021874 80020C74 444EF800 */ cfc1 $t6, $31 /* 021878 80020C78 00000000 */ nop @@ -1664,7 +1664,7 @@ glabel func_8001F460 /* 02189C 80020C9C A6D80004 */ sh $t8, 4($s6) .L80020CA0: /* 0218A0 80020CA0 4406A000 */ mfc1 $a2, $f20 -/* 0218A4 80020CA4 0C008A22 */ jal func_80022888 +/* 0218A4 80020CA4 0C008A22 */ jal lerp /* 0218A8 80020CA8 02402825 */ move $a1, $s2 /* 0218AC 80020CAC 444FF800 */ cfc1 $t7, $31 /* 0218B0 80020CB0 4406A000 */ mfc1 $a2, $f20 @@ -1676,7 +1676,7 @@ glabel func_8001F460 /* 0218C8 80020CC8 02402825 */ move $a1, $s2 /* 0218CC 80020CCC 44194000 */ mfc1 $t9, $f8 /* 0218D0 80020CD0 44CFF800 */ ctc1 $t7, $31 -/* 0218D4 80020CD4 0C008A22 */ jal func_80022888 +/* 0218D4 80020CD4 0C008A22 */ jal lerp /* 0218D8 80020CD8 A6D90000 */ sh $t9, ($s6) /* 0218DC 80020CDC 444EF800 */ cfc1 $t6, $31 /* 0218E0 80020CE0 4406A000 */ mfc1 $a2, $f20 @@ -1688,7 +1688,7 @@ glabel func_8001F460 /* 0218F8 80020CF8 02402825 */ move $a1, $s2 /* 0218FC 80020CFC 44182000 */ mfc1 $t8, $f4 /* 021900 80020D00 44CEF800 */ ctc1 $t6, $31 -/* 021904 80020D04 0C008A22 */ jal func_80022888 +/* 021904 80020D04 0C008A22 */ jal lerp /* 021908 80020D08 A6D80002 */ sh $t8, 2($s6) /* 02190C 80020D0C 444FF800 */ cfc1 $t7, $31 /* 021910 80020D10 00000000 */ nop diff --git a/asm/non_matchings/unknown_00BC20/func_80021600.s b/asm/non_matchings/unknown_00BC20/func_80021600.s index 8ae60edb..cb17d2c8 100644 --- a/asm/non_matchings/unknown_00BC20/func_80021600.s +++ b/asm/non_matchings/unknown_00BC20/func_80021600.s @@ -476,38 +476,38 @@ glabel func_80021600 /* 02291C 80021D1C 44060000 */ mfc1 $a2, $f0 /* 022920 80021D20 02002025 */ move $a0, $s0 /* 022924 80021D24 00002825 */ move $a1, $zero -/* 022928 80021D28 0C008950 */ jal func_80022540 +/* 022928 80021D28 0C008950 */ jal catmull_rom_interpolation /* 02292C 80021D2C E7A000EC */ swc1 $f0, 0xec($sp) /* 022930 80021D30 27B10110 */ addiu $s1, $sp, 0x110 /* 022934 80021D34 8FA600EC */ lw $a2, 0xec($sp) /* 022938 80021D38 02202025 */ move $a0, $s1 /* 02293C 80021D3C 00002825 */ move $a1, $zero -/* 022940 80021D40 0C008950 */ jal func_80022540 +/* 022940 80021D40 0C008950 */ jal catmull_rom_interpolation /* 022944 80021D44 E7A000F8 */ swc1 $f0, 0xf8($sp) /* 022948 80021D48 27B200FC */ addiu $s2, $sp, 0xfc /* 02294C 80021D4C 8FA600EC */ lw $a2, 0xec($sp) /* 022950 80021D50 02402025 */ move $a0, $s2 /* 022954 80021D54 00002825 */ move $a1, $zero -/* 022958 80021D58 0C008950 */ jal func_80022540 +/* 022958 80021D58 0C008950 */ jal catmull_rom_interpolation /* 02295C 80021D5C E7A000F4 */ swc1 $f0, 0xf4($sp) /* 022960 80021D60 10000012 */ b .L80021DAC /* 022964 80021D64 E7A000F0 */ swc1 $f0, 0xf0($sp) .L80021D68: /* 022968 80021D68 44060000 */ mfc1 $a2, $f0 /* 02296C 80021D6C 00002825 */ move $a1, $zero -/* 022970 80021D70 0C008A22 */ jal func_80022888 +/* 022970 80021D70 0C008A22 */ jal lerp /* 022974 80021D74 E7A000EC */ swc1 $f0, 0xec($sp) /* 022978 80021D78 27B10110 */ addiu $s1, $sp, 0x110 /* 02297C 80021D7C 8FA600EC */ lw $a2, 0xec($sp) /* 022980 80021D80 02202025 */ move $a0, $s1 /* 022984 80021D84 00002825 */ move $a1, $zero -/* 022988 80021D88 0C008A22 */ jal func_80022888 +/* 022988 80021D88 0C008A22 */ jal lerp /* 02298C 80021D8C E7A000F8 */ swc1 $f0, 0xf8($sp) /* 022990 80021D90 27B200FC */ addiu $s2, $sp, 0xfc /* 022994 80021D94 8FA600EC */ lw $a2, 0xec($sp) /* 022998 80021D98 02402025 */ move $a0, $s2 /* 02299C 80021D9C 00002825 */ move $a1, $zero -/* 0229A0 80021DA0 0C008A22 */ jal func_80022888 +/* 0229A0 80021DA0 0C008A22 */ jal lerp /* 0229A4 80021DA4 E7A000F4 */ swc1 $f0, 0xf4($sp) /* 0229A8 80021DA8 E7A000F0 */ swc1 $f0, 0xf0($sp) .L80021DAC: @@ -530,7 +530,7 @@ glabel func_80021600 /* 0229EC 80021DEC E7A600F0 */ swc1 $f6, 0xf0($sp) /* 0229F0 80021DF0 8FA600EC */ lw $a2, 0xec($sp) /* 0229F4 80021DF4 27A400D0 */ addiu $a0, $sp, 0xd0 -/* 0229F8 80021DF8 0C008950 */ jal func_80022540 +/* 0229F8 80021DF8 0C008950 */ jal catmull_rom_interpolation /* 0229FC 80021DFC 00002825 */ move $a1, $zero /* 022A00 80021E00 C7A40090 */ lwc1 $f4, 0x90($sp) /* 022A04 80021E04 8FAE0154 */ lw $t6, 0x154($sp) @@ -928,7 +928,7 @@ glabel func_80021600 /* 022FB0 800223B0 15A0002B */ bnez $t5, .L80022460 /* 022FB4 800223B4 27A400BC */ addiu $a0, $sp, 0xbc /* 022FB8 800223B8 8FA600EC */ lw $a2, 0xec($sp) -/* 022FBC 800223BC 0C008950 */ jal func_80022540 +/* 022FBC 800223BC 0C008950 */ jal catmull_rom_interpolation /* 022FC0 800223C0 27A400BC */ addiu $a0, $sp, 0xbc /* 022FC4 800223C4 444FF800 */ cfc1 $t7, $31 /* 022FC8 800223C8 8FB80154 */ lw $t8, 0x154($sp) @@ -942,7 +942,7 @@ glabel func_80021600 /* 022FE8 800223E8 44CFF800 */ ctc1 $t7, $31 /* 022FEC 800223EC A70E0000 */ sh $t6, ($t8) /* 022FF0 800223F0 8FA600EC */ lw $a2, 0xec($sp) -/* 022FF4 800223F4 0C008950 */ jal func_80022540 +/* 022FF4 800223F4 0C008950 */ jal catmull_rom_interpolation /* 022FF8 800223F8 00000000 */ nop /* 022FFC 800223FC 4459F800 */ cfc1 $t9, $31 /* 023000 80022400 8FAC0154 */ lw $t4, 0x154($sp) @@ -956,7 +956,7 @@ glabel func_80021600 /* 023020 80022420 44D9F800 */ ctc1 $t9, $31 /* 023024 80022424 A58B0002 */ sh $t3, 2($t4) /* 023028 80022428 8FA600EC */ lw $a2, 0xec($sp) -/* 02302C 8002242C 0C008950 */ jal func_80022540 +/* 02302C 8002242C 0C008950 */ jal catmull_rom_interpolation /* 023030 80022430 00000000 */ nop /* 023034 80022434 444DF800 */ cfc1 $t5, $31 /* 023038 80022438 8FAE0154 */ lw $t6, 0x154($sp) @@ -970,7 +970,7 @@ glabel func_80021600 /* 023058 80022458 1000002A */ b .L80022504 /* 02305C 8002245C A5CF0004 */ sh $t7, 4($t6) .L80022460: -/* 023060 80022460 0C008A22 */ jal func_80022888 +/* 023060 80022460 0C008A22 */ jal lerp /* 023064 80022464 00002825 */ move $a1, $zero /* 023068 80022468 4458F800 */ cfc1 $t8, $31 /* 02306C 8002246C 8FAB0154 */ lw $t3, 0x154($sp) @@ -984,7 +984,7 @@ glabel func_80021600 /* 02308C 8002248C 44D8F800 */ ctc1 $t8, $31 /* 023090 80022490 A5790000 */ sh $t9, ($t3) /* 023094 80022494 8FA600EC */ lw $a2, 0xec($sp) -/* 023098 80022498 0C008A22 */ jal func_80022888 +/* 023098 80022498 0C008A22 */ jal lerp /* 02309C 8002249C 00000000 */ nop /* 0230A0 800224A0 444CF800 */ cfc1 $t4, $31 /* 0230A4 800224A4 8FAF0154 */ lw $t7, 0x154($sp) @@ -998,7 +998,7 @@ glabel func_80021600 /* 0230C4 800224C4 44CCF800 */ ctc1 $t4, $31 /* 0230C8 800224C8 A5ED0002 */ sh $t5, 2($t7) /* 0230CC 800224CC 8FA600EC */ lw $a2, 0xec($sp) -/* 0230D0 800224D0 0C008A22 */ jal func_80022888 +/* 0230D0 800224D0 0C008A22 */ jal lerp /* 0230D4 800224D4 00000000 */ nop /* 0230D8 800224D8 444EF800 */ cfc1 $t6, $31 /* 0230DC 800224DC 8FB90154 */ lw $t9, 0x154($sp) diff --git a/asm/non_matchings/unknown_032760/func_80035E34.s b/asm/non_matchings/unknown_032760/func_80035E34.s index 9ebe6db0..a95ee146 100644 --- a/asm/non_matchings/unknown_032760/func_80035E34.s +++ b/asm/non_matchings/unknown_032760/func_80035E34.s @@ -16,7 +16,7 @@ glabel func_80035E34 /* 036A6C 80035E6C 01F8C821 */ addu $t9, $t7, $t8 /* 036A70 80035E70 AE190078 */ sw $t9, 0x78($s0) .L80035E74: -/* 036A74 80035E74 0C016790 */ jal func_80059E40 +/* 036A74 80035E74 0C016790 */ jal set_ghost_position_and_rotation /* 036A78 80035E78 02002025 */ move $a0, $s0 /* 036A7C 80035E7C 8FA50024 */ lw $a1, 0x24($sp) /* 036A80 80035E80 0C02BF0F */ jal func_800AFC3C diff --git a/asm/non_matchings/unknown_032760/func_800361E0.s b/asm/non_matchings/unknown_032760/func_800361E0.s index e8f6148f..88a6efdc 100644 --- a/asm/non_matchings/unknown_032760/func_800361E0.s +++ b/asm/non_matchings/unknown_032760/func_800361E0.s @@ -169,7 +169,7 @@ glabel func_800361E0 /* 037034 80036434 240B0001 */ li $t3, 1 /* 037038 80036438 8FA40064 */ lw $a0, 0x64($sp) /* 03703C 8003643C 8FA50050 */ lw $a1, 0x50($sp) -/* 037040 80036440 0C015A4C */ jal func_80056930 +/* 037040 80036440 0C015A4C */ jal play_char_horn_sound /* 037044 80036444 00000000 */ nop /* 037048 80036448 240B0001 */ li $t3, 1 .L8003644C: diff --git a/asm/non_matchings/unknown_032760/func_80039330.s b/asm/non_matchings/unknown_032760/func_80039330.s index d531941a..22961e95 100644 --- a/asm/non_matchings/unknown_032760/func_80039330.s +++ b/asm/non_matchings/unknown_032760/func_80039330.s @@ -131,7 +131,7 @@ glabel func_80039330 /* 03A0CC 800394CC 8FAE0090 */ lw $t6, 0x90($sp) /* 03A0D0 800394D0 8FA40090 */ lw $a0, 0x90($sp) /* 03A0D4 800394D4 8FA50070 */ lw $a1, 0x70($sp) -/* 03A0D8 800394D8 0C015A4C */ jal func_80056930 +/* 03A0D8 800394D8 0C015A4C */ jal play_char_horn_sound /* 03A0DC 800394DC AFA60084 */ sw $a2, 0x84($sp) /* 03A0E0 800394E0 8FA60084 */ lw $a2, 0x84($sp) /* 03A0E4 800394E4 00000000 */ nop diff --git a/asm/non_matchings/unknown_043920/func_8004447C.s b/asm/non_matchings/unknown_043920/func_8004447C.s index e66eb731..37c7f625 100644 --- a/asm/non_matchings/unknown_043920/func_8004447C.s +++ b/asm/non_matchings/unknown_043920/func_8004447C.s @@ -9,8 +9,8 @@ glabel D_800E6350 .text glabel func_8004447C -/* 04507C 8004447C 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 -/* 045080 80044480 AC20D52C */ sw $zero, %lo(D_8011D52C)($at) +/* 04507C 8004447C 3C018012 */ lui $at, %hi(gActivePlayerButtonPress) # $at, 0x8012 +/* 045080 80044480 AC20D52C */ sw $zero, %lo(gActivePlayerButtonPress)($at) /* 045084 80044484 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 /* 045088 80044488 AC20D530 */ sw $zero, %lo(D_8011D530)($at) /* 04508C 8004448C 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 diff --git a/asm/non_matchings/unknown_043920/func_800452A0.s b/asm/non_matchings/unknown_043920/func_800452A0.s index bcd426d0..126ba4e4 100644 --- a/asm/non_matchings/unknown_043920/func_800452A0.s +++ b/asm/non_matchings/unknown_043920/func_800452A0.s @@ -12,8 +12,8 @@ glabel D_800E63A0 .text glabel func_800452A0 /* 045EA0 800452A0 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 045EA4 800452A4 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 -/* 045EA8 800452A8 AC20D52C */ sw $zero, %lo(D_8011D52C)($at) +/* 045EA4 800452A4 3C018012 */ lui $at, %hi(gActivePlayerButtonPress) # $at, 0x8012 +/* 045EA8 800452A8 AC20D52C */ sw $zero, %lo(gActivePlayerButtonPress)($at) /* 045EAC 800452AC 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 /* 045EB0 800452B0 AC20D530 */ sw $zero, %lo(D_8011D530)($at) /* 045EB4 800452B4 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 @@ -618,9 +618,9 @@ glabel L80045AF8 /* 046700 80045B00 44808000 */ mtc1 $zero, $f16 /* 046704 80045B04 460012A1 */ cvt.d.s $f10, $f2 /* 046708 80045B08 4630503C */ c.lt.d $f10, $f16 -/* 04670C 80045B0C 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 04670C 80045B0C 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 046710 80045B10 4500003B */ bc1f .L80045C00 -/* 046714 80045B14 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 046714 80045B14 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 046718 80045B18 A2A001CD */ sb $zero, 0x1cd($s5) /* 04671C 80045B1C 8C4F0000 */ lw $t7, ($v0) /* 046720 80045B20 00000000 */ nop diff --git a/asm/non_matchings/unknown_043920/func_80045C48.s b/asm/non_matchings/unknown_043920/func_80045C48.s index c34edc4f..41bd7989 100644 --- a/asm/non_matchings/unknown_043920/func_80045C48.s +++ b/asm/non_matchings/unknown_043920/func_80045C48.s @@ -2,8 +2,8 @@ glabel func_80045C48 /* 046848 80045C48 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 /* 04684C 80045C4C 27BDFF18 */ addiu $sp, $sp, -0xe8 /* 046850 80045C50 AC20D528 */ sw $zero, %lo(D_8011D528)($at) -/* 046854 80045C54 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 -/* 046858 80045C58 AC20D52C */ sw $zero, %lo(D_8011D52C)($at) +/* 046854 80045C54 3C018012 */ lui $at, %hi(gActivePlayerButtonPress) # $at, 0x8012 +/* 046858 80045C58 AC20D52C */ sw $zero, %lo(gActivePlayerButtonPress)($at) /* 04685C 80045C5C 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 /* 046860 80045C60 AC20D530 */ sw $zero, %lo(D_8011D530)($at) /* 046864 80045C64 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 diff --git a/asm/non_matchings/unknown_043920/func_80046524.s b/asm/non_matchings/unknown_043920/func_80046524.s index 6ed9d9b5..08670cc8 100644 --- a/asm/non_matchings/unknown_043920/func_80046524.s +++ b/asm/non_matchings/unknown_043920/func_80046524.s @@ -1077,8 +1077,8 @@ glabel func_80046524 /* 04800C 8004740C 10A0000B */ beqz $a1, .L8004743C /* 048010 80047410 2401000C */ li $at, 12 /* 048014 80047414 15210009 */ bne $t1, $at, .L8004743C -/* 048018 80047418 3C0B8012 */ lui $t3, %hi(D_8011D52C) # $t3, 0x8012 -/* 04801C 8004741C 8D6BD52C */ lw $t3, %lo(D_8011D52C)($t3) +/* 048018 80047418 3C0B8012 */ lui $t3, %hi(gActivePlayerButtonPress) # $t3, 0x8012 +/* 04801C 8004741C 8D6BD52C */ lw $t3, %lo(gActivePlayerButtonPress)($t3) /* 048020 80047420 240F0002 */ li $t7, 2 /* 048024 80047424 316E2000 */ andi $t6, $t3, 0x2000 /* 048028 80047428 11C00004 */ beqz $t6, .L8004743C @@ -2579,15 +2579,15 @@ glabel func_80046524 .L80048A20: /* 049620 80048A20 3C0E8012 */ lui $t6, %hi(D_8011D540) # $t6, 0x8012 /* 049624 80048A24 8DCED540 */ lw $t6, %lo(D_8011D540)($t6) -/* 049628 80048A28 3C0D8012 */ lui $t5, %hi(D_8011D52C) # $t5, 0x8012 +/* 049628 80048A28 3C0D8012 */ lui $t5, %hi(gActivePlayerButtonPress) # $t5, 0x8012 /* 04962C 80048A2C 11C00007 */ beqz $t6, .L80048A4C /* 049630 80048A30 02202025 */ move $a0, $s1 -/* 049634 80048A34 3C0F8012 */ lui $t7, %hi(D_8011D52C) # $t7, 0x8012 -/* 049638 80048A38 8DEFD52C */ lw $t7, %lo(D_8011D52C)($t7) +/* 049634 80048A34 3C0F8012 */ lui $t7, %hi(gActivePlayerButtonPress) # $t7, 0x8012 +/* 049638 80048A38 8DEFD52C */ lw $t7, %lo(gActivePlayerButtonPress)($t7) /* 04963C 80048A3C 2401FFEF */ li $at, -17 /* 049640 80048A40 01E1C024 */ and $t8, $t7, $at -/* 049644 80048A44 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 -/* 049648 80048A48 AC38D52C */ sw $t8, %lo(D_8011D52C)($at) +/* 049644 80048A44 3C018012 */ lui $at, %hi(gActivePlayerButtonPress) # $at, 0x8012 +/* 049648 80048A48 AC38D52C */ sw $t8, %lo(gActivePlayerButtonPress)($at) .L80048A4C: /* 04964C 80048A4C C60A00C0 */ lwc1 $f10, 0xc0($s0) /* 049650 80048A50 00000000 */ nop @@ -2602,7 +2602,7 @@ glabel func_80046524 .L80048A74: /* 049674 80048A74 A20001FB */ sb $zero, 0x1fb($s0) .L80048A78: -/* 049678 80048A78 8DADD52C */ lw $t5, %lo(D_8011D52C)($t5) +/* 049678 80048A78 8DADD52C */ lw $t5, %lo(gActivePlayerButtonPress)($t5) /* 04967C 80048A7C 00000000 */ nop /* 049680 80048A80 31AA0010 */ andi $t2, $t5, 0x10 /* 049684 80048A84 1140004A */ beqz $t2, .L80048BB0 diff --git a/asm/non_matchings/unknown_043920/func_80049794.s b/asm/non_matchings/unknown_043920/func_80049794.s index 414cc7c4..af4deb42 100644 --- a/asm/non_matchings/unknown_043920/func_80049794.s +++ b/asm/non_matchings/unknown_043920/func_80049794.s @@ -827,8 +827,8 @@ glabel func_80049794 /* 04AEDC 8004A2DC 15C00009 */ bnez $t6, .L8004A304 /* 04AEE0 8004A2E0 00000000 */ nop /* 04AEE4 8004A2E4 14A10007 */ bne $a1, $at, .L8004A304 -/* 04AEE8 8004A2E8 3C0F8012 */ lui $t7, %hi(D_8011D52C) # $t7, 0x8012 -/* 04AEEC 8004A2EC 8DEFD52C */ lw $t7, %lo(D_8011D52C)($t7) +/* 04AEE8 8004A2E8 3C0F8012 */ lui $t7, %hi(gActivePlayerButtonPress) # $t7, 0x8012 +/* 04AEEC 8004A2EC 8DEFD52C */ lw $t7, %lo(gActivePlayerButtonPress)($t7) /* 04AEF0 8004A2F0 24190002 */ li $t9, 2 /* 04AEF4 8004A2F4 31F82000 */ andi $t8, $t7, 0x2000 /* 04AEF8 8004A2F8 13000002 */ beqz $t8, .L8004A304 diff --git a/asm/non_matchings/unknown_043920/func_8004DE38.s b/asm/non_matchings/unknown_043920/func_8004DE38.s index eedaca7f..3a991908 100644 --- a/asm/non_matchings/unknown_043920/func_8004DE38.s +++ b/asm/non_matchings/unknown_043920/func_8004DE38.s @@ -614,9 +614,9 @@ glabel func_8004DE38 /* 04F2BC 8004E6BC 0C01A955 */ jal get_button_inputs_from_player /* 04F2C0 8004E6C0 AC22D528 */ sw $v0, %lo(D_8011D528)($at) /* 04F2C4 8004E6C4 8FA400AC */ lw $a0, 0xac($sp) -/* 04F2C8 8004E6C8 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 +/* 04F2C8 8004E6C8 3C018012 */ lui $at, %hi(gActivePlayerButtonPress) # $at, 0x8012 /* 04F2CC 8004E6CC 0C01A95E */ jal func_8006A578 -/* 04F2D0 8004E6D0 AC22D52C */ sw $v0, %lo(D_8011D52C)($at) +/* 04F2D0 8004E6D0 AC22D52C */ sw $v0, %lo(gActivePlayerButtonPress)($at) /* 04F2D4 8004E6D4 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 /* 04F2D8 8004E6D8 10000009 */ b .L8004E700 /* 04F2DC 8004E6DC AC22D530 */ sw $v0, %lo(D_8011D530)($at) @@ -669,8 +669,8 @@ glabel func_8004DE38 /* 04F384 8004E784 AC20D538 */ sw $zero, %lo(D_8011D538)($at) /* 04F388 8004E788 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 /* 04F38C 8004E78C AC20D528 */ sw $zero, %lo(D_8011D528)($at) -/* 04F390 8004E790 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 -/* 04F394 8004E794 AC20D52C */ sw $zero, %lo(D_8011D52C)($at) +/* 04F390 8004E790 3C018012 */ lui $at, %hi(gActivePlayerButtonPress) # $at, 0x8012 +/* 04F394 8004E794 AC20D52C */ sw $zero, %lo(gActivePlayerButtonPress)($at) /* 04F398 8004E798 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 /* 04F39C 8004E79C AC20D530 */ sw $zero, %lo(D_8011D530)($at) /* 04F3A0 8004E7A0 86020204 */ lh $v0, 0x204($s0) @@ -986,10 +986,10 @@ glabel L8004EBF4 /* 04F80C 8004EC0C 820A0175 */ lb $t2, 0x175($s0) glabel L8004EC10 /* 04F810 8004EC10 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 -/* 04F814 8004EC14 3C0D8012 */ lui $t5, %hi(D_8011D52C) # $t5, 0x8012 +/* 04F814 8004EC14 3C0D8012 */ lui $t5, %hi(gActivePlayerButtonPress) # $t5, 0x8012 /* 04F818 8004EC18 3C0C8012 */ lui $t4, %hi(D_8011D540) # $t4, 0x8012 /* 04F81C 8004EC1C 258CD540 */ addiu $t4, %lo(D_8011D540) # addiu $t4, $t4, -0x2ac0 -/* 04F820 8004EC20 25ADD52C */ addiu $t5, %lo(D_8011D52C) # addiu $t5, $t5, -0x2ad4 +/* 04F820 8004EC20 25ADD52C */ addiu $t5, %lo(gActivePlayerButtonPress) # addiu $t5, $t5, -0x2ad4 /* 04F824 8004EC24 256BD528 */ addiu $t3, %lo(D_8011D528) # addiu $t3, $t3, -0x2ad8 /* 04F828 8004EC28 8FA400B4 */ lw $a0, 0xb4($sp) /* 04F82C 8004EC2C 8FA5009C */ lw $a1, 0x9c($sp) @@ -1003,10 +1003,10 @@ glabel L8004EC10 /* 04F84C 8004EC4C 820A0175 */ lb $t2, 0x175($s0) glabel L8004EC50 /* 04F850 8004EC50 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 -/* 04F854 8004EC54 3C0F8012 */ lui $t7, %hi(D_8011D52C) # $t7, 0x8012 +/* 04F854 8004EC54 3C0F8012 */ lui $t7, %hi(gActivePlayerButtonPress) # $t7, 0x8012 /* 04F858 8004EC58 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 /* 04F85C 8004EC5C 2508D540 */ addiu $t0, %lo(D_8011D540) # addiu $t0, $t0, -0x2ac0 -/* 04F860 8004EC60 25EFD52C */ addiu $t7, %lo(D_8011D52C) # addiu $t7, $t7, -0x2ad4 +/* 04F860 8004EC60 25EFD52C */ addiu $t7, %lo(gActivePlayerButtonPress) # addiu $t7, $t7, -0x2ad4 /* 04F864 8004EC64 25CED528 */ addiu $t6, %lo(D_8011D528) # addiu $t6, $t6, -0x2ad8 /* 04F868 8004EC68 8FA400B4 */ lw $a0, 0xb4($sp) /* 04F86C 8004EC6C 8FA5009C */ lw $a1, 0x9c($sp) @@ -1037,10 +1037,10 @@ glabel L8004EC90 /* 04F8CC 8004ECCC 820A0175 */ lb $t2, 0x175($s0) glabel L8004ECD0 /* 04F8D0 8004ECD0 3C098012 */ lui $t1, %hi(D_8011D528) # $t1, 0x8012 -/* 04F8D4 8004ECD4 3C0B8012 */ lui $t3, %hi(D_8011D52C) # $t3, 0x8012 +/* 04F8D4 8004ECD4 3C0B8012 */ lui $t3, %hi(gActivePlayerButtonPress) # $t3, 0x8012 /* 04F8D8 8004ECD8 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 /* 04F8DC 8004ECDC 25ADD540 */ addiu $t5, %lo(D_8011D540) # addiu $t5, $t5, -0x2ac0 -/* 04F8E0 8004ECE0 256BD52C */ addiu $t3, %lo(D_8011D52C) # addiu $t3, $t3, -0x2ad4 +/* 04F8E0 8004ECE0 256BD52C */ addiu $t3, %lo(gActivePlayerButtonPress) # addiu $t3, $t3, -0x2ad4 /* 04F8E4 8004ECE4 2529D528 */ addiu $t1, %lo(D_8011D528) # addiu $t1, $t1, -0x2ad8 /* 04F8E8 8004ECE8 8FA400B4 */ lw $a0, 0xb4($sp) /* 04F8EC 8004ECEC 8FA5009C */ lw $a1, 0x9c($sp) @@ -1054,10 +1054,10 @@ glabel L8004ECD0 /* 04F90C 8004ED0C 820A0175 */ lb $t2, 0x175($s0) glabel L8004ED10 /* 04F910 8004ED10 3C0C8012 */ lui $t4, %hi(D_8011D528) # $t4, 0x8012 -/* 04F914 8004ED14 3C0E8012 */ lui $t6, %hi(D_8011D52C) # $t6, 0x8012 +/* 04F914 8004ED14 3C0E8012 */ lui $t6, %hi(gActivePlayerButtonPress) # $t6, 0x8012 /* 04F918 8004ED18 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 /* 04F91C 8004ED1C 25EFD540 */ addiu $t7, %lo(D_8011D540) # addiu $t7, $t7, -0x2ac0 -/* 04F920 8004ED20 25CED52C */ addiu $t6, %lo(D_8011D52C) # addiu $t6, $t6, -0x2ad4 +/* 04F920 8004ED20 25CED52C */ addiu $t6, %lo(gActivePlayerButtonPress) # addiu $t6, $t6, -0x2ad4 /* 04F924 8004ED24 258CD528 */ addiu $t4, %lo(D_8011D528) # addiu $t4, $t4, -0x2ad8 /* 04F928 8004ED28 8FA400B4 */ lw $a0, 0xb4($sp) /* 04F92C 8004ED2C 8FA5009C */ lw $a1, 0x9c($sp) @@ -1071,10 +1071,10 @@ glabel L8004ED10 /* 04F94C 8004ED4C 820A0175 */ lb $t2, 0x175($s0) glabel L8004ED50 /* 04F950 8004ED50 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 -/* 04F954 8004ED54 3C188012 */ lui $t8, %hi(D_8011D52C) # $t8, 0x8012 +/* 04F954 8004ED54 3C188012 */ lui $t8, %hi(gActivePlayerButtonPress) # $t8, 0x8012 /* 04F958 8004ED58 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 /* 04F95C 8004ED5C 2739D540 */ addiu $t9, %lo(D_8011D540) # addiu $t9, $t9, -0x2ac0 -/* 04F960 8004ED60 2718D52C */ addiu $t8, %lo(D_8011D52C) # addiu $t8, $t8, -0x2ad4 +/* 04F960 8004ED60 2718D52C */ addiu $t8, %lo(gActivePlayerButtonPress) # addiu $t8, $t8, -0x2ad4 /* 04F964 8004ED64 2508D528 */ addiu $t0, %lo(D_8011D528) # addiu $t0, $t0, -0x2ad8 /* 04F968 8004ED68 8FA400B4 */ lw $a0, 0xb4($sp) /* 04F96C 8004ED6C 8FA5009C */ lw $a1, 0x9c($sp) @@ -1130,10 +1130,10 @@ glabel L8004ED88 /* 04FA1C 8004EE1C 00000000 */ nop /* 04FA20 8004EE20 10400007 */ beqz $v0, .L8004EE40 .L8004EE24: -/* 04FA24 8004EE24 3C058012 */ lui $a1, %hi(D_8011D52C) # $a1, 0x8012 +/* 04FA24 8004EE24 3C058012 */ lui $a1, %hi(gActivePlayerButtonPress) # $a1, 0x8012 /* 04FA28 8004EE28 3C068012 */ lui $a2, %hi(D_8011D528) # $a2, 0x8012 /* 04FA2C 8004EE2C 8CC6D528 */ lw $a2, %lo(D_8011D528)($a2) -/* 04FA30 8004EE30 8CA5D52C */ lw $a1, %lo(D_8011D52C)($a1) +/* 04FA30 8004EE30 8CA5D52C */ lw $a1, %lo(gActivePlayerButtonPress)($a1) /* 04FA34 8004EE34 8FA700B4 */ lw $a3, 0xb4($sp) /* 04FA38 8004EE38 0C001434 */ jal func_800050D0 /* 04FA3C 8004EE3C 02202025 */ move $a0, $s1 @@ -1522,8 +1522,8 @@ glabel L8004ED88 /* 04FFC4 8004F3C4 00664021 */ addu $t0, $v1, $a2 /* 04FFC8 8004F3C8 A608016A */ sh $t0, 0x16a($s0) .L8004F3CC: -/* 04FFCC 8004F3CC 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 -/* 04FFD0 8004F3D0 8C42D52C */ lw $v0, %lo(D_8011D52C)($v0) +/* 04FFCC 8004F3CC 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 +/* 04FFD0 8004F3D0 8C42D52C */ lw $v0, %lo(gActivePlayerButtonPress)($v0) /* 04FFD4 8004F3D4 00000000 */ nop /* 04FFD8 8004F3D8 30590010 */ andi $t9, $v0, 0x10 /* 04FFDC 8004F3DC 13200008 */ beqz $t9, .L8004F400 diff --git a/asm/non_matchings/unknown_043920/func_8004F7F4.s b/asm/non_matchings/unknown_043920/func_8004F7F4.s index 45b6c9a2..56b8d0d4 100644 --- a/asm/non_matchings/unknown_043920/func_8004F7F4.s +++ b/asm/non_matchings/unknown_043920/func_8004F7F4.s @@ -55,9 +55,9 @@ glabel func_8004F7F4 /* 05047C 8004F87C 8FBF002C */ lw $ra, 0x2c($sp) .L8004F880: /* 050480 8004F880 820901D4 */ lb $t1, 0x1d4($s0) -/* 050484 8004F884 3C038012 */ lui $v1, %hi(D_8011D52C) # $v1, 0x8012 +/* 050484 8004F884 3C038012 */ lui $v1, %hi(gActivePlayerButtonPress) # $v1, 0x8012 /* 050488 8004F888 1120000D */ beqz $t1, .L8004F8C0 -/* 05048C 8004F88C 2463D52C */ addiu $v1, %lo(D_8011D52C) # addiu $v1, $v1, -0x2ad4 +/* 05048C 8004F88C 2463D52C */ addiu $v1, %lo(gActivePlayerButtonPress) # addiu $v1, $v1, -0x2ad4 /* 050490 8004F890 8C6A0000 */ lw $t2, ($v1) /* 050494 8004F894 2401DFEF */ li $at, -8209 /* 050498 8004F898 01415824 */ and $t3, $t2, $at diff --git a/asm/non_matchings/unknown_043920/func_80050A28.s b/asm/non_matchings/unknown_043920/func_80050A28.s index 9d10ac72..6857fb56 100644 --- a/asm/non_matchings/unknown_043920/func_80050A28.s +++ b/asm/non_matchings/unknown_043920/func_80050A28.s @@ -841,8 +841,8 @@ glabel func_80050A28 /* 05218C 8005158C 11600009 */ beqz $t3, .L800515B4 /* 052190 80051590 00000000 */ nop /* 052194 80051594 15210007 */ bne $t1, $at, .L800515B4 -/* 052198 80051598 3C198012 */ lui $t9, %hi(D_8011D52C) # $t9, 0x8012 -/* 05219C 8005159C 8F39D52C */ lw $t9, %lo(D_8011D52C)($t9) +/* 052198 80051598 3C198012 */ lui $t9, %hi(gActivePlayerButtonPress) # $t9, 0x8012 +/* 05219C 8005159C 8F39D52C */ lw $t9, %lo(gActivePlayerButtonPress)($t9) /* 0521A0 800515A0 240D0002 */ li $t5, 2 /* 0521A4 800515A4 332C2000 */ andi $t4, $t9, 0x2000 /* 0521A8 800515A8 11800002 */ beqz $t4, .L800515B4 diff --git a/asm/non_matchings/unknown_043920/func_8005250C.s b/asm/non_matchings/unknown_043920/func_8005250C.s index c3a11161..2cf28bcd 100644 --- a/asm/non_matchings/unknown_043920/func_8005250C.s +++ b/asm/non_matchings/unknown_043920/func_8005250C.s @@ -27,8 +27,8 @@ glabel func_8005250C /* 05315C 8005255C 81430000 */ lb $v1, ($t2) /* 053160 80052560 00000000 */ nop .L80052564: -/* 053164 80052564 3C0B8012 */ lui $t3, %hi(D_8011D52C) # $t3, 0x8012 -/* 053168 80052568 8D6BD52C */ lw $t3, %lo(D_8011D52C)($t3) +/* 053164 80052564 3C0B8012 */ lui $t3, %hi(gActivePlayerButtonPress) # $t3, 0x8012 +/* 053168 80052568 8D6BD52C */ lw $t3, %lo(gActivePlayerButtonPress)($t3) /* 05316C 8005256C 24010004 */ li $at, 4 /* 053170 80052570 316C2000 */ andi $t4, $t3, 0x2000 /* 053174 80052574 11800006 */ beqz $t4, .L80052590 diff --git a/asm/non_matchings/unknown_043920/func_80055EC0.s b/asm/non_matchings/unknown_043920/func_80055EC0.s index eece33f9..c18d64ce 100644 --- a/asm/non_matchings/unknown_043920/func_80055EC0.s +++ b/asm/non_matchings/unknown_043920/func_80055EC0.s @@ -19,11 +19,11 @@ glabel func_80055EC0 /* 056AD8 80055ED8 00A08025 */ move $s0, $a1 /* 056ADC 80055EDC 10400073 */ beqz $v0, .L800560AC /* 056AE0 80055EE0 00803825 */ move $a3, $a0 -/* 056AE4 80055EE4 3C058012 */ lui $a1, %hi(D_8011D52C) # $a1, 0x8012 -/* 056AE8 80055EE8 24A5D52C */ addiu $a1, %lo(D_8011D52C) # addiu $a1, $a1, -0x2ad4 +/* 056AE4 80055EE4 3C058012 */ lui $a1, %hi(gActivePlayerButtonPress) # $a1, 0x8012 +/* 056AE8 80055EE8 24A5D52C */ addiu $a1, %lo(gActivePlayerButtonPress) # addiu $a1, $a1, -0x2ad4 /* 056AEC 80055EEC 8CAE0000 */ lw $t6, ($a1) /* 056AF0 80055EF0 00401825 */ move $v1, $v0 -/* 056AF4 80055EF4 31CF2000 */ andi $t7, $t6, 0x2000 +/* 056AF4 80055EF4 31CF2000 */ andi $t7, $t6, 0x2000 # Z_TRIG /* 056AF8 80055EF8 15E00009 */ bnez $t7, .L80055F20 /* 056AFC 80055EFC 00000000 */ nop /* 056B00 80055F00 821801D8 */ lb $t8, 0x1d8($s0) @@ -136,8 +136,8 @@ glabel func_80055EC0 /* 056CA4 800560A4 1000021E */ b .L80056920 /* 056CA8 800560A8 A20B0211 */ sb $t3, 0x211($s0) .L800560AC: -/* 056CAC 800560AC 3C058012 */ lui $a1, %hi(D_8011D52C) # $a1, 0x8012 -/* 056CB0 800560B0 24A5D52C */ addiu $a1, %lo(D_8011D52C) # addiu $a1, $a1, -0x2ad4 +/* 056CAC 800560AC 3C058012 */ lui $a1, %hi(gActivePlayerButtonPress) # $a1, 0x8012 +/* 056CB0 800560B0 24A5D52C */ addiu $a1, %lo(gActivePlayerButtonPress) # addiu $a1, $a1, -0x2ad4 /* 056CB4 800560B4 8CAD0000 */ lw $t5, ($a1) /* 056CB8 800560B8 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 /* 056CBC 800560BC 31AE2000 */ andi $t6, $t5, 0x2000 @@ -176,7 +176,7 @@ glabel func_80055EC0 /* 056D30 80056130 31CF2000 */ andi $t7, $t6, 0x2000 /* 056D34 80056134 11E001FB */ beqz $t7, .L80056924 /* 056D38 80056138 8FBF0024 */ lw $ra, 0x24($sp) -/* 056D3C 8005613C 0C015A4C */ jal func_80056930 +/* 056D3C 8005613C 0C015A4C */ jal play_char_horn_sound /* 056D40 80056140 02002825 */ move $a1, $s0 /* 056D44 80056144 100001F7 */ b .L80056924 /* 056D48 80056148 8FBF0024 */ lw $ra, 0x24($sp) @@ -192,10 +192,10 @@ glabel func_80055EC0 /* 056D6C 8005616C 032B6821 */ addu $t5, $t9, $t3 /* 056D70 80056170 01A27021 */ addu $t6, $t5, $v0 /* 056D74 80056174 81C80000 */ lb $t0, ($t6) -/* 056D78 80056178 3C058012 */ lui $a1, %hi(D_8011D52C) # $a1, 0x8012 +/* 056D78 80056178 3C058012 */ lui $a1, %hi(gActivePlayerButtonPress) # $a1, 0x8012 /* 056D7C 8005617C 2401FFFF */ li $at, -1 /* 056D80 80056180 15010003 */ bne $t0, $at, .L80056190 -/* 056D84 80056184 24A5D52C */ addiu $a1, %lo(D_8011D52C) # addiu $a1, $a1, -0x2ad4 +/* 056D84 80056184 24A5D52C */ addiu $a1, %lo(gActivePlayerButtonPress) # addiu $a1, $a1, -0x2ad4 /* 056D88 80056188 100001E5 */ b .L80056920 /* 056D8C 8005618C A2000173 */ sb $zero, 0x173($s0) .L80056190: diff --git a/asm/non_matchings/unknown_043920/func_80057220.s b/asm/non_matchings/unknown_043920/func_80057220.s index 7dedf5f2..b245e096 100644 --- a/asm/non_matchings/unknown_043920/func_80057220.s +++ b/asm/non_matchings/unknown_043920/func_80057220.s @@ -27,10 +27,10 @@ glabel func_80057220 /* 057E6C 8005726C 10200070 */ beqz $at, .L80057430 /* 057E70 80057270 00000000 */ nop /* 057E74 80057274 920F01F4 */ lbu $t7, 0x1f4($s0) -/* 057E78 80057278 3C188012 */ lui $t8, %hi(D_8011D52C) # $t8, 0x8012 +/* 057E78 80057278 3C188012 */ lui $t8, %hi(gActivePlayerButtonPress) # $t8, 0x8012 /* 057E7C 8005727C 15E0006C */ bnez $t7, .L80057430 /* 057E80 80057280 00000000 */ nop -/* 057E84 80057284 8F18D52C */ lw $t8, %lo(D_8011D52C)($t8) +/* 057E84 80057284 8F18D52C */ lw $t8, %lo(gActivePlayerButtonPress)($t8) /* 057E88 80057288 2483FFF2 */ addiu $v1, $a0, -0xe /* 057E8C 8005728C 33198000 */ andi $t9, $t8, 0x8000 /* 057E90 80057290 1320003C */ beqz $t9, .L80057384 @@ -175,8 +175,8 @@ glabel func_80057220 /* 058084 80057484 28810050 */ slti $at, $a0, 0x50 .L80057488: /* 058088 80057488 1020000A */ beqz $at, .L800574B4 -/* 05808C 8005748C 3C088012 */ lui $t0, %hi(D_8011D52C) # $t0, 0x8012 -/* 058090 80057490 8D08D52C */ lw $t0, %lo(D_8011D52C)($t0) +/* 05808C 8005748C 3C088012 */ lui $t0, %hi(gActivePlayerButtonPress) # $t0, 0x8012 +/* 058090 80057490 8D08D52C */ lw $t0, %lo(gActivePlayerButtonPress)($t0) /* 058094 80057494 240A0001 */ li $t2, 1 /* 058098 80057498 31098000 */ andi $t1, $t0, 0x8000 /* 05809C 8005749C 11200005 */ beqz $t1, .L800574B4 diff --git a/asm/non_matchings/unknown_043920/func_80057A40.s b/asm/non_matchings/unknown_043920/func_80057A40.s index fb195734..24f1b068 100644 --- a/asm/non_matchings/unknown_043920/func_80057A40.s +++ b/asm/non_matchings/unknown_043920/func_80057A40.s @@ -13,8 +13,8 @@ glabel D_800E6908 .text glabel func_80057A40 /* 058640 80057A40 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 058644 80057A44 3C0E8012 */ lui $t6, %hi(D_8011D52C) # $t6, 0x8012 -/* 058648 80057A48 8DCED52C */ lw $t6, %lo(D_8011D52C)($t6) +/* 058644 80057A44 3C0E8012 */ lui $t6, %hi(gActivePlayerButtonPress) # $t6, 0x8012 +/* 058648 80057A48 8DCED52C */ lw $t6, %lo(gActivePlayerButtonPress)($t6) /* 05864C 80057A4C AFA5003C */ sw $a1, 0x3c($sp) /* 058650 80057A50 31CF0008 */ andi $t7, $t6, 8 /* 058654 80057A54 AFBF0014 */ sw $ra, 0x14($sp) diff --git a/asm/non_matchings/unknown_043920/func_80059080.s b/asm/non_matchings/unknown_043920/func_80059080.s index 8527cdc3..c3ba7948 100644 --- a/asm/non_matchings/unknown_043920/func_80059080.s +++ b/asm/non_matchings/unknown_043920/func_80059080.s @@ -72,19 +72,19 @@ glabel func_80059080 /* 059D8C 8005918C 46205520 */ cvt.s.d $f20, $f10 .L80059190: /* 059D90 80059190 4406A000 */ mfc1 $a2, $f20 -/* 059D94 80059194 0C008950 */ jal func_80022540 +/* 059D94 80059194 0C008950 */ jal catmull_rom_interpolation /* 059D98 80059198 02002825 */ move $a1, $s0 /* 059D9C 8005919C 8FAE00B0 */ lw $t6, 0xb0($sp) /* 059DA0 800591A0 4406A000 */ mfc1 $a2, $f20 /* 059DA4 800591A4 27A40070 */ addiu $a0, $sp, 0x70 /* 059DA8 800591A8 02002825 */ move $a1, $s0 -/* 059DAC 800591AC 0C008950 */ jal func_80022540 +/* 059DAC 800591AC 0C008950 */ jal catmull_rom_interpolation /* 059DB0 800591B0 E5C00000 */ swc1 $f0, ($t6) /* 059DB4 800591B4 8FAF00B4 */ lw $t7, 0xb4($sp) /* 059DB8 800591B8 4406A000 */ mfc1 $a2, $f20 /* 059DBC 800591BC 27A4005C */ addiu $a0, $sp, 0x5c /* 059DC0 800591C0 02002825 */ move $a1, $s0 -/* 059DC4 800591C4 0C008950 */ jal func_80022540 +/* 059DC4 800591C4 0C008950 */ jal catmull_rom_interpolation /* 059DC8 800591C8 E5E00000 */ swc1 $f0, ($t7) /* 059DCC 800591CC 8FB800B8 */ lw $t8, 0xb8($sp) /* 059DD0 800591D0 00000000 */ nop diff --git a/asm/non_matchings/unknown_043920/func_80059A68.s b/asm/non_matchings/unknown_043920/func_80059A68.s deleted file mode 100644 index 7f2e6f47..00000000 --- a/asm/non_matchings/unknown_043920/func_80059A68.s +++ /dev/null @@ -1,63 +0,0 @@ -glabel func_80059A68 -/* 05A668 80059A68 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 05A66C 80059A6C AFA40028 */ sw $a0, 0x28($sp) -/* 05A670 80059A70 AFA5002C */ sw $a1, 0x2c($sp) -/* 05A674 80059A74 00A02025 */ move $a0, $a1 -/* 05A678 80059A78 AFBF001C */ sw $ra, 0x1c($sp) -/* 05A67C 80059A7C 3C05FF00 */ lui $a1, (0xFF0000FF >> 16) # lui $a1, 0xff00 -/* 05A680 80059A80 AFB00018 */ sw $s0, 0x18($sp) -/* 05A684 80059A84 AFA60030 */ sw $a2, 0x30($sp) -/* 05A688 80059A88 0C01C327 */ jal allocate_from_main_pool_safe -/* 05A68C 80059A8C 34A500FF */ ori $a1, (0xFF0000FF & 0xFFFF) # ori $a1, $a1, 0xff -/* 05A690 80059A90 10400029 */ beqz $v0, .L80059B38 -/* 05A694 80059A94 00408025 */ move $s0, $v0 -/* 05A698 80059A98 8FA60028 */ lw $a2, 0x28($sp) -/* 05A69C 80059A9C 8FA7002C */ lw $a3, 0x2c($sp) -/* 05A6A0 80059AA0 24040031 */ li $a0, 49 -/* 05A6A4 80059AA4 0C01DB9A */ jal load_asset_to_address -/* 05A6A8 80059AA8 00402825 */ move $a1, $v0 -/* 05A6AC 80059AAC 3C038012 */ lui $v1, %hi(D_8011D590) # $v1, 0x8012 -/* 05A6B0 80059AB0 2463D590 */ addiu $v1, %lo(D_8011D590) # addiu $v1, $v1, -0x2a70 -/* 05A6B4 80059AB4 8C640008 */ lw $a0, 8($v1) -/* 05A6B8 80059AB8 00000000 */ nop -/* 05A6BC 80059ABC 10800004 */ beqz $a0, .L80059AD0 -/* 05A6C0 80059AC0 8FA6002C */ lw $a2, 0x2c($sp) -/* 05A6C4 80059AC4 0C01C450 */ jal free_from_memory_pool -/* 05A6C8 80059AC8 00000000 */ nop -/* 05A6CC 80059ACC 8FA6002C */ lw $a2, 0x2c($sp) -.L80059AD0: -/* 05A6D0 80059AD0 2405FFFF */ li $a1, -1 -/* 05A6D4 80059AD4 24C6FFF8 */ addiu $a2, $a2, -8 -/* 05A6D8 80059AD8 00C02025 */ move $a0, $a2 -/* 05A6DC 80059ADC 0C01C327 */ jal allocate_from_main_pool_safe -/* 05A6E0 80059AE0 AFA60020 */ sw $a2, 0x20($sp) -/* 05A6E4 80059AE4 3C038012 */ lui $v1, %hi(D_8011D590) # $v1, 0x8012 -/* 05A6E8 80059AE8 2463D590 */ addiu $v1, %lo(D_8011D590) # addiu $v1, $v1, -0x2a70 -/* 05A6EC 80059AEC 8FA60020 */ lw $a2, 0x20($sp) -/* 05A6F0 80059AF0 1040000F */ beqz $v0, .L80059B30 -/* 05A6F4 80059AF4 AC620008 */ sw $v0, 8($v1) -/* 05A6F8 80059AF8 860F0004 */ lh $t7, 4($s0) -/* 05A6FC 80059AFC 8FB80030 */ lw $t8, 0x30($sp) -/* 05A700 80059B00 3C018012 */ lui $at, %hi(D_8011D5A4) # $at, 0x8012 -/* 05A704 80059B04 A70F0000 */ sh $t7, ($t8) -/* 05A708 80059B08 86190006 */ lh $t9, 6($s0) -/* 05A70C 80059B0C 26040008 */ addiu $a0, $s0, 8 -/* 05A710 80059B10 A439D5A4 */ sh $t9, %lo(D_8011D5A4)($at) -/* 05A714 80059B14 8C650008 */ lw $a1, 8($v1) -/* 05A718 80059B18 0C032768 */ jal bcopy -/* 05A71C 80059B1C 00000000 */ nop -/* 05A720 80059B20 0C01C450 */ jal free_from_memory_pool -/* 05A724 80059B24 02002025 */ move $a0, $s0 -/* 05A728 80059B28 10000004 */ b .L80059B3C -/* 05A72C 80059B2C 00001025 */ move $v0, $zero -.L80059B30: -/* 05A730 80059B30 0C01C450 */ jal free_from_memory_pool -/* 05A734 80059B34 02002025 */ move $a0, $s0 -.L80059B38: -/* 05A738 80059B38 24020001 */ li $v0, 1 -.L80059B3C: -/* 05A73C 80059B3C 8FBF001C */ lw $ra, 0x1c($sp) -/* 05A740 80059B40 8FB00018 */ lw $s0, 0x18($sp) -/* 05A744 80059B44 03E00008 */ jr $ra -/* 05A748 80059B48 27BD0028 */ addiu $sp, $sp, 0x28 - diff --git a/asm/non_matchings/unknown_043920/func_80059BF0.s b/asm/non_matchings/unknown_043920/func_80059BF0.s index 40904677..21e27791 100644 --- a/asm/non_matchings/unknown_043920/func_80059BF0.s +++ b/asm/non_matchings/unknown_043920/func_80059BF0.s @@ -51,12 +51,12 @@ glabel func_80059BF0 /* 05A8B0 80059CB0 3C0E8012 */ lui $t6, %hi(D_8011D5A0) # $t6, 0x8012 /* 05A8B4 80059CB4 25CED5A0 */ addiu $t6, %lo(D_8011D5A0) # addiu $t6, $t6, -0x2a60 /* 05A8B8 80059CB8 3C0D8012 */ lui $t5, %hi(D_8011D5A0) # $t5, 0x8012 -/* 05A8BC 80059CBC 3C0C8012 */ lui $t4, %hi(D_8011D590) # $t4, 0x8012 +/* 05A8BC 80059CBC 3C0C8012 */ lui $t4, %hi(gGhostData) # $t4, 0x8012 /* 05A8C0 80059CC0 3C0A8012 */ lui $t2, %hi(D_8011D59C) # $t2, 0x8012 /* 05A8C4 80059CC4 0005C840 */ sll $t9, $a1, 1 /* 05A8C8 80059CC8 032E1821 */ addu $v1, $t9, $t6 /* 05A8CC 80059CCC 254AD59C */ addiu $t2, %lo(D_8011D59C) # addiu $t2, $t2, -0x2a64 -/* 05A8D0 80059CD0 258CD590 */ addiu $t4, %lo(D_8011D590) # addiu $t4, $t4, -0x2a70 +/* 05A8D0 80059CD0 258CD590 */ addiu $t4, %lo(gGhostData) # addiu $t4, $t4, -0x2a70 /* 05A8D4 80059CD4 25ADD5A0 */ addiu $t5, %lo(D_8011D5A0) # addiu $t5, $t5, -0x2a60 /* 05A8D8 80059CD8 240B000C */ li $t3, 12 .L80059CDC: diff --git a/asm/non_matchings/unknown_043920/func_8005A424.s b/asm/non_matchings/unknown_043920/func_8005A424.s index eff726f4..c252dc25 100644 --- a/asm/non_matchings/unknown_043920/func_8005A424.s +++ b/asm/non_matchings/unknown_043920/func_8005A424.s @@ -36,8 +36,8 @@ glabel func_8005A424 /* 05B0A4 8005A4A4 24A5D534 */ addiu $a1, %lo(D_8011D534) # addiu $a1, $a1, -0x2acc /* 05B0A8 8005A4A8 00035943 */ sra $t3, $v1, 5 /* 05B0AC 8005A4AC ACAB0000 */ sw $t3, ($a1) -/* 05B0B0 8005A4B0 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 -/* 05B0B4 8005A4B4 AC20D52C */ sw $zero, %lo(D_8011D52C)($at) +/* 05B0B0 8005A4B0 3C018012 */ lui $at, %hi(gActivePlayerButtonPress) # $at, 0x8012 +/* 05B0B4 8005A4B4 AC20D52C */ sw $zero, %lo(gActivePlayerButtonPress)($at) /* 05B0B8 8005A4B8 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 /* 05B0BC 8005A4BC AC20D530 */ sw $zero, %lo(D_8011D530)($at) /* 05B0C0 8005A4C0 2484D528 */ addiu $a0, %lo(D_8011D528) # addiu $a0, $a0, -0x2ad8 diff --git a/asm/non_matchings/unknown_043920/func_8005A6F0.s b/asm/non_matchings/unknown_043920/func_8005A6F0.s index 0f69fde6..56d9ce5f 100644 --- a/asm/non_matchings/unknown_043920/func_8005A6F0.s +++ b/asm/non_matchings/unknown_043920/func_8005A6F0.s @@ -597,22 +597,22 @@ glabel func_8005A6F0 /* 05BB1C 8005AF1C 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 /* 05BB20 8005AF20 AC20D538 */ sw $zero, %lo(D_8011D538)($at) /* 05BB24 8005AF24 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 -/* 05BB28 8005AF28 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BB28 8005AF28 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BB2C 8005AF2C AC600000 */ sw $zero, ($v1) /* 05BB30 8005AF30 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 -/* 05BB34 8005AF34 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BB34 8005AF34 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BB38 8005AF38 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 /* 05BB3C 8005AF3C AC20D530 */ sw $zero, %lo(D_8011D530)($at) /* 05BB40 8005AF40 2508D540 */ addiu $t0, %lo(D_8011D540) # addiu $t0, $t0, -0x2ac0 /* 05BB44 8005AF44 AC400000 */ sw $zero, ($v0) .L8005AF48: /* 05BB48 8005AF48 921901D6 */ lbu $t9, 0x1d6($s0) -/* 05BB4C 8005AF4C 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BB4C 8005AF4C 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BB50 8005AF50 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 /* 05BB54 8005AF54 2F21000E */ sltiu $at, $t9, 0xe /* 05BB58 8005AF58 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 /* 05BB5C 8005AF5C 10200094 */ beqz $at, .L8005B1B0 -/* 05BB60 8005AF60 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BB60 8005AF60 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BB64 8005AF64 0019C880 */ sll $t9, $t9, 2 /* 05BB68 8005AF68 3C01800E */ lui $at, %hi(jpt_800E6968) # $at, 0x800e /* 05BB6C 8005AF6C 00390821 */ addu $at, $at, $t9 @@ -627,8 +627,8 @@ glabel L8005AF80 /* 05BB8C 8005AF8C 0C013DFD */ jal func_8004F7F4 /* 05BB90 8005AF90 02003825 */ move $a3, $s0 /* 05BB94 8005AF94 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 -/* 05BB98 8005AF98 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 -/* 05BB9C 8005AF9C 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BB98 8005AF98 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 +/* 05BB9C 8005AF9C 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BBA0 8005AFA0 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 /* 05BBA4 8005AFA4 10000082 */ b .L8005B1B0 /* 05BBA8 8005AFA8 240B0001 */ li $t3, 1 @@ -639,8 +639,8 @@ glabel L8005AFAC /* 05BBB8 8005AFB8 0C013308 */ jal func_8004CC20 /* 05BBBC 8005AFBC 02003825 */ move $a3, $s0 /* 05BBC0 8005AFC0 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 -/* 05BBC4 8005AFC4 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 -/* 05BBC8 8005AFC8 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BBC4 8005AFC4 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 +/* 05BBC8 8005AFC8 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BBCC 8005AFCC 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 /* 05BBD0 8005AFD0 10000077 */ b .L8005B1B0 /* 05BBD4 8005AFD4 240B0001 */ li $t3, 1 @@ -651,8 +651,8 @@ glabel L8005AFD8 /* 05BBE4 8005AFE4 0C011949 */ jal func_80046524 /* 05BBE8 8005AFE8 02003825 */ move $a3, $s0 /* 05BBEC 8005AFEC 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 -/* 05BBF0 8005AFF0 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 -/* 05BBF4 8005AFF4 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BBF0 8005AFF0 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 +/* 05BBF4 8005AFF4 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BBF8 8005AFF8 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 /* 05BBFC 8005AFFC 1000006C */ b .L8005B1B0 /* 05BC00 8005B000 240B0001 */ li $t3, 1 @@ -663,8 +663,8 @@ glabel L8005B004 /* 05BC10 8005B010 0C0125E5 */ jal func_80049794 /* 05BC14 8005B014 02003825 */ move $a3, $s0 /* 05BC18 8005B018 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 -/* 05BC1C 8005B01C 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 -/* 05BC20 8005B020 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BC1C 8005B01C 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 +/* 05BC20 8005B020 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BC24 8005B024 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 /* 05BC28 8005B028 10000061 */ b .L8005B1B0 /* 05BC2C 8005B02C 240B0001 */ li $t3, 1 @@ -675,8 +675,8 @@ glabel L8005B030 /* 05BC3C 8005B03C 0C013657 */ jal func_8004D95C /* 05BC40 8005B040 02003825 */ move $a3, $s0 /* 05BC44 8005B044 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 -/* 05BC48 8005B048 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 -/* 05BC4C 8005B04C 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BC48 8005B048 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 +/* 05BC4C 8005B04C 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BC50 8005B050 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 /* 05BC54 8005B054 10000056 */ b .L8005B1B0 /* 05BC58 8005B058 240B0001 */ li $t3, 1 @@ -690,8 +690,8 @@ glabel L8005B05C /* 05BC74 8005B074 0C0170D9 */ jal func_8005C364 /* 05BC78 8005B078 AFA80018 */ sw $t0, 0x18($sp) /* 05BC7C 8005B07C 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 -/* 05BC80 8005B080 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 -/* 05BC84 8005B084 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BC80 8005B080 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 +/* 05BC84 8005B084 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BC88 8005B088 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 /* 05BC8C 8005B08C 10000048 */ b .L8005B1B0 /* 05BC90 8005B090 240B0001 */ li $t3, 1 @@ -705,8 +705,8 @@ glabel L8005B094 /* 05BCAC 8005B0AC 0C017434 */ jal func_8005D0D0 /* 05BCB0 8005B0B0 AFA80018 */ sw $t0, 0x18($sp) /* 05BCB4 8005B0B4 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 -/* 05BCB8 8005B0B8 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 -/* 05BCBC 8005B0BC 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BCB8 8005B0B8 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 +/* 05BCBC 8005B0BC 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BCC0 8005B0C0 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 /* 05BCC4 8005B0C4 1000003A */ b .L8005B1B0 /* 05BCC8 8005B0C8 240B0001 */ li $t3, 1 @@ -722,8 +722,8 @@ glabel L8005B0CC /* 05BCEC 8005B0EC 0C017608 */ jal func_8005D820 /* 05BCF0 8005B0F0 AFA80018 */ sw $t0, 0x18($sp) /* 05BCF4 8005B0F4 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 -/* 05BCF8 8005B0F8 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 -/* 05BCFC 8005B0FC 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BCF8 8005B0F8 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 +/* 05BCFC 8005B0FC 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BD00 8005B100 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 /* 05BD04 8005B104 1000002A */ b .L8005B1B0 /* 05BD08 8005B108 240B0001 */ li $t3, 1 @@ -737,8 +737,8 @@ glabel L8005B10C /* 05BD24 8005B124 0C017930 */ jal func_8005E4C0 /* 05BD28 8005B128 AFA80018 */ sw $t0, 0x18($sp) /* 05BD2C 8005B12C 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 -/* 05BD30 8005B130 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 -/* 05BD34 8005B134 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BD30 8005B130 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 +/* 05BD34 8005B134 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BD38 8005B138 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 /* 05BD3C 8005B13C 1000001C */ b .L8005B1B0 /* 05BD40 8005B140 240B0001 */ li $t3, 1 @@ -752,8 +752,8 @@ glabel L8005B144 /* 05BD5C 8005B15C 0C017AA4 */ jal func_8005EA90 /* 05BD60 8005B160 AFA80018 */ sw $t0, 0x18($sp) /* 05BD64 8005B164 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 -/* 05BD68 8005B168 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 -/* 05BD6C 8005B16C 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BD68 8005B168 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 +/* 05BD6C 8005B16C 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BD70 8005B170 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 /* 05BD74 8005B174 1000000E */ b .L8005B1B0 /* 05BD78 8005B178 240B0001 */ li $t3, 1 @@ -767,8 +767,8 @@ glabel L8005B17C /* 05BD94 8005B194 0C017CC4 */ jal func_8005F310 /* 05BD98 8005B198 AFA80018 */ sw $t0, 0x18($sp) /* 05BD9C 8005B19C 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 -/* 05BDA0 8005B1A0 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 -/* 05BDA4 8005B1A4 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BDA0 8005B1A0 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 +/* 05BDA4 8005B1A4 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BDA8 8005B1A8 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 /* 05BDAC 8005B1AC 240B0001 */ li $t3, 1 .L8005B1B0: @@ -946,11 +946,11 @@ glabel L8005B1B0 /* 05C024 8005B424 8FB80094 */ lw $t8, 0x94($sp) /* 05C028 8005B428 240B0001 */ li $t3, 1 /* 05C02C 8005B42C 130B0008 */ beq $t8, $t3, .L8005B450 -/* 05C030 8005B430 3C058012 */ lui $a1, %hi(D_8011D52C) # $a1, 0x8012 +/* 05C030 8005B430 3C058012 */ lui $a1, %hi(gActivePlayerButtonPress) # $a1, 0x8012 /* 05C034 8005B434 3C068012 */ lui $a2, %hi(D_8011D528) # $a2, 0x8012 /* 05C038 8005B438 8CC6D528 */ lw $a2, %lo(D_8011D528)($a2) /* 05C03C 8005B43C 8FA400A0 */ lw $a0, 0xa0($sp) -/* 05C040 8005B440 8CA5D52C */ lw $a1, %lo(D_8011D52C)($a1) +/* 05C040 8005B440 8CA5D52C */ lw $a1, %lo(gActivePlayerButtonPress)($a1) /* 05C044 8005B444 8FA700A8 */ lw $a3, 0xa8($sp) /* 05C048 8005B448 0C001434 */ jal func_800050D0 /* 05C04C 8005B44C 00000000 */ nop diff --git a/asm/non_matchings/unknown_043920/func_80059E40.s b/asm/non_matchings/unknown_043920/set_ghost_position_and_rotation.s similarity index 98% rename from asm/non_matchings/unknown_043920/func_80059E40.s rename to asm/non_matchings/unknown_043920/set_ghost_position_and_rotation.s index c07d262b..f59d6a1f 100644 --- a/asm/non_matchings/unknown_043920/func_80059E40.s +++ b/asm/non_matchings/unknown_043920/set_ghost_position_and_rotation.s @@ -5,7 +5,7 @@ glabel D_800E6938 .double 0.8 .text -glabel func_80059E40 +glabel set_ghost_position_and_rotation /* 05AA40 80059E40 3C058012 */ lui $a1, %hi(D_8011D59C) # $a1, 0x8012 /* 05AA44 80059E44 80A5D59C */ lb $a1, %lo(D_8011D59C)($a1) /* 05AA48 80059E48 27BDFF68 */ addiu $sp, $sp, -0x98 @@ -82,10 +82,10 @@ glabel func_80059E40 /* 05AB58 80059F58 2469FFFF */ addiu $t1, $v1, -1 .L80059F5C: /* 05AB5C 80059F5C 0005C880 */ sll $t9, $a1, 2 -/* 05AB60 80059F60 3C1F8012 */ lui $ra, %hi(D_8011D590) # $ra, 0x8012 +/* 05AB60 80059F60 3C1F8012 */ lui $ra, %hi(gGhostData) # $ra, 0x8012 /* 05AB64 80059F64 03F9F821 */ addu $ra, $ra, $t9 /* 05AB68 80059F68 00097080 */ sll $t6, $t1, 2 -/* 05AB6C 80059F6C 8FFFD590 */ lw $ra, %lo(D_8011D590)($ra) +/* 05AB6C 80059F6C 8FFFD590 */ lw $ra, %lo(gGhostData)($ra) /* 05AB70 80059F70 01C97023 */ subu $t6, $t6, $t1 /* 05AB74 80059F74 000E7080 */ sll $t6, $t6, 2 /* 05AB78 80059F78 27A70084 */ addiu $a3, $sp, 0x84 @@ -190,19 +190,19 @@ glabel func_80059E40 /* 05ACF4 8005A0F4 AFA20048 */ sw $v0, 0x48($sp) /* 05ACF8 8005A0F8 E7A20094 */ swc1 $f2, 0x94($sp) /* 05ACFC 8005A0FC 00002825 */ move $a1, $zero -/* 05AD00 8005A100 0C008950 */ jal func_80022540 +/* 05AD00 8005A100 0C008950 */ jal catmull_rom_interpolation /* 05AD04 8005A104 AFAD004C */ sw $t5, 0x4c($sp) /* 05AD08 8005A108 C7A20094 */ lwc1 $f2, 0x94($sp) /* 05AD0C 8005A10C E600000C */ swc1 $f0, 0xc($s0) /* 05AD10 8005A110 44061000 */ mfc1 $a2, $f2 /* 05AD14 8005A114 27A40074 */ addiu $a0, $sp, 0x74 -/* 05AD18 8005A118 0C008950 */ jal func_80022540 +/* 05AD18 8005A118 0C008950 */ jal catmull_rom_interpolation /* 05AD1C 8005A11C 00002825 */ move $a1, $zero /* 05AD20 8005A120 C7A20094 */ lwc1 $f2, 0x94($sp) /* 05AD24 8005A124 E6000010 */ swc1 $f0, 0x10($s0) /* 05AD28 8005A128 44061000 */ mfc1 $a2, $f2 /* 05AD2C 8005A12C 27A40064 */ addiu $a0, $sp, 0x64 -/* 05AD30 8005A130 0C008950 */ jal func_80022540 +/* 05AD30 8005A130 0C008950 */ jal catmull_rom_interpolation /* 05AD34 8005A134 00002825 */ move $a1, $zero /* 05AD38 8005A138 8FA20048 */ lw $v0, 0x48($sp) /* 05AD3C 8005A13C 8FAD004C */ lw $t5, 0x4c($sp) diff --git a/asm/non_matchings/unknown_05F690/func_8005F310.s b/asm/non_matchings/unknown_05FF10/func_8005F310.s similarity index 100% rename from asm/non_matchings/unknown_05F690/func_8005F310.s rename to asm/non_matchings/unknown_05FF10/func_8005F310.s diff --git a/asm/non_matchings/unknown_061D30/__CSPHandleMetaMsg.s b/asm/non_matchings/unknown_061D30/__CSPHandleMetaMsg.s deleted file mode 100644 index 2f55586a..00000000 --- a/asm/non_matchings/unknown_061D30/__CSPHandleMetaMsg.s +++ /dev/null @@ -1,114 +0,0 @@ -glabel __CSPHandleMetaMsg -/* 0643EC 800637EC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0643F0 800637F0 AFBF0034 */ sw $ra, 0x34($sp) -/* 0643F4 800637F4 AFB60030 */ sw $s6, 0x30($sp) -/* 0643F8 800637F8 AFB5002C */ sw $s5, 0x2c($sp) -/* 0643FC 800637FC AFB40028 */ sw $s4, 0x28($sp) -/* 064400 80063800 AFB30024 */ sw $s3, 0x24($sp) -/* 064404 80063804 AFB20020 */ sw $s2, 0x20($sp) -/* 064408 80063808 AFB1001C */ sw $s1, 0x1c($sp) -/* 06440C 8006380C AFB00018 */ sw $s0, 0x18($sp) -/* 064410 80063810 90AE0008 */ lbu $t6, 8($a1) -/* 064414 80063814 240100FF */ li $at, 255 -/* 064418 80063818 0080A825 */ move $s5, $a0 -/* 06441C 8006381C 00009025 */ move $s2, $zero -/* 064420 80063820 15C1004E */ bne $t6, $at, .L8006395C -/* 064424 80063824 00009825 */ move $s3, $zero -/* 064428 80063828 90AF0009 */ lbu $t7, 9($a1) -/* 06442C 8006382C 24010051 */ li $at, 81 -/* 064430 80063830 15E1004A */ bne $t7, $at, .L8006395C -/* 064434 80063834 24A20004 */ addiu $v0, $a1, 4 -/* 064438 80063838 90580007 */ lbu $t8, 7($v0) -/* 06443C 8006383C 90480008 */ lbu $t0, 8($v0) -/* 064440 80063840 904B0009 */ lbu $t3, 9($v0) -/* 064444 80063844 0018CC00 */ sll $t9, $t8, 0x10 -/* 064448 80063848 00084A00 */ sll $t1, $t0, 8 -/* 06444C 8006384C 03295025 */ or $t2, $t9, $t1 -/* 064450 80063850 014B1825 */ or $v1, $t2, $t3 -/* 064454 80063854 44832000 */ mtc1 $v1, $f4 -/* 064458 80063858 8C960024 */ lw $s6, 0x24($a0) -/* 06445C 8006385C 46802120 */ cvt.s.w $f4, $f4 -/* 064460 80063860 44052000 */ mfc1 $a1, $f4 -/* 064464 80063864 0C018E8D */ jal __setUsptFromTempo -/* 064468 80063868 00000000 */ nop -/* 06446C 8006386C 8EB00050 */ lw $s0, 0x50($s5) -/* 064470 80063870 00000000 */ nop -/* 064474 80063874 1200001D */ beqz $s0, .L800638EC -/* 064478 80063878 00000000 */ nop -/* 06447C 8006387C 24140015 */ li $s4, 21 -.L80063880: -/* 064480 80063880 8E0C0008 */ lw $t4, 8($s0) -/* 064484 80063884 860D000C */ lh $t5, 0xc($s0) -/* 064488 80063888 8E110000 */ lw $s1, ($s0) -/* 06448C 8006388C 168D0015 */ bne $s4, $t5, .L800638E4 -/* 064490 80063890 024C9021 */ addu $s2, $s2, $t4 -/* 064494 80063894 0C0321D8 */ jal alUnlink -/* 064498 80063898 02002025 */ move $a0, $s0 -/* 06449C 8006389C 12600006 */ beqz $s3, .L800638B8 -/* 0644A0 800638A0 00000000 */ nop -/* 0644A4 800638A4 02002025 */ move $a0, $s0 -/* 0644A8 800638A8 0C0321E4 */ jal alLink -/* 0644AC 800638AC 02602825 */ move $a1, $s3 -/* 0644B0 800638B0 10000004 */ b .L800638C4 -/* 0644B4 800638B4 00000000 */ nop -.L800638B8: -/* 0644B8 800638B8 AE000000 */ sw $zero, ($s0) -/* 0644BC 800638BC AE000004 */ sw $zero, 4($s0) -/* 0644C0 800638C0 02009825 */ move $s3, $s0 -.L800638C4: -/* 0644C4 800638C4 12200006 */ beqz $s1, .L800638E0 -/* 0644C8 800638C8 02401825 */ move $v1, $s2 -/* 0644CC 800638CC 8E020008 */ lw $v0, 8($s0) -/* 0644D0 800638D0 8E2E0008 */ lw $t6, 8($s1) -/* 0644D4 800638D4 02429023 */ subu $s2, $s2, $v0 -/* 0644D8 800638D8 01C27821 */ addu $t7, $t6, $v0 -/* 0644DC 800638DC AE2F0008 */ sw $t7, 8($s1) -.L800638E0: -/* 0644E0 800638E0 AE030008 */ sw $v1, 8($s0) -.L800638E4: -/* 0644E4 800638E4 1620FFE6 */ bnez $s1, .L80063880 -/* 0644E8 800638E8 02208025 */ move $s0, $s1 -.L800638EC: -/* 0644EC 800638EC 1260001B */ beqz $s3, .L8006395C -/* 0644F0 800638F0 02608025 */ move $s0, $s3 -/* 0644F4 800638F4 26B20048 */ addiu $s2, $s5, 0x48 -.L800638F8: -/* 0644F8 800638F8 8E180008 */ lw $t8, 8($s0) -/* 0644FC 800638FC 8EA80024 */ lw $t0, 0x24($s5) -/* 064500 80063900 0316001A */ div $zero, $t8, $s6 -/* 064504 80063904 8E110000 */ lw $s1, ($s0) -/* 064508 80063908 16C00002 */ bnez $s6, .L80063914 -/* 06450C 8006390C 00000000 */ nop -/* 064510 80063910 0007000D */ break 7 -.L80063914: -/* 064514 80063914 2401FFFF */ li $at, -1 -/* 064518 80063918 16C10004 */ bne $s6, $at, .L8006392C -/* 06451C 8006391C 3C018000 */ lui $at, 0x8000 -/* 064520 80063920 17010002 */ bne $t8, $at, .L8006392C -/* 064524 80063924 00000000 */ nop -/* 064528 80063928 0006000D */ break 6 -.L8006392C: -/* 06452C 8006392C 02402025 */ move $a0, $s2 -/* 064530 80063930 02002825 */ move $a1, $s0 -/* 064534 80063934 00001012 */ mflo $v0 -/* 064538 80063938 00000000 */ nop -/* 06453C 8006393C 00000000 */ nop -/* 064540 80063940 01020019 */ multu $t0, $v0 -/* 064544 80063944 0000C812 */ mflo $t9 -/* 064548 80063948 AE190008 */ sw $t9, 8($s0) -/* 06454C 8006394C 0C018E61 */ jal __CSPRepostEvent -/* 064550 80063950 00000000 */ nop -/* 064554 80063954 1620FFE8 */ bnez $s1, .L800638F8 -/* 064558 80063958 02208025 */ move $s0, $s1 -.L8006395C: -/* 06455C 8006395C 8FBF0034 */ lw $ra, 0x34($sp) -/* 064560 80063960 8FB00018 */ lw $s0, 0x18($sp) -/* 064564 80063964 8FB1001C */ lw $s1, 0x1c($sp) -/* 064568 80063968 8FB20020 */ lw $s2, 0x20($sp) -/* 06456C 8006396C 8FB30024 */ lw $s3, 0x24($sp) -/* 064570 80063970 8FB40028 */ lw $s4, 0x28($sp) -/* 064574 80063974 8FB5002C */ lw $s5, 0x2c($sp) -/* 064578 80063978 8FB60030 */ lw $s6, 0x30($sp) -/* 06457C 8006397C 03E00008 */ jr $ra -/* 064580 80063980 27BD0038 */ addiu $sp, $sp, 0x38 - diff --git a/asm/non_matchings/unknown_061D30/__CSPHandleNextSeqEvent.s b/asm/non_matchings/unknown_061D30/__CSPHandleNextSeqEvent.s deleted file mode 100644 index b87cc7dc..00000000 --- a/asm/non_matchings/unknown_061D30/__CSPHandleNextSeqEvent.s +++ /dev/null @@ -1,63 +0,0 @@ -.late_rodata -glabel jpt_800E6C90 -.word L80062A90, L80062AF0, L80062AA8, L80062AC0, L80062AF0, L80062AF0, L80062AF0, L80062AF0, L80062AF0, L80062AF0, L80062AF0, L80062AF0, L80062AF0, L80062AF0, L80062AF0, L80062AF0, L80062AF0, L80062AE8, L80062AE8, L80062AE8 - -.text -glabel __CSPHandleNextSeqEvent -/* 06363C 80062A3C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 063640 80062A40 AFBF001C */ sw $ra, 0x1c($sp) -/* 063644 80062A44 AFB00018 */ sw $s0, 0x18($sp) -/* 063648 80062A48 8C860018 */ lw $a2, 0x18($a0) -/* 06364C 80062A4C 00808025 */ move $s0, $a0 -/* 063650 80062A50 10C00027 */ beqz $a2, .L80062AF0 -/* 063654 80062A54 27A50028 */ addiu $a1, $sp, 0x28 -/* 063658 80062A58 0C031F41 */ jal __alCSeqGetTrackEvent -/* 06365C 80062A5C 00C02025 */ move $a0, $a2 -/* 063660 80062A60 87AE0028 */ lh $t6, 0x28($sp) -/* 063664 80062A64 27A50028 */ addiu $a1, $sp, 0x28 -/* 063668 80062A68 25CFFFFF */ addiu $t7, $t6, -1 -/* 06366C 80062A6C 2DE10014 */ sltiu $at, $t7, 0x14 -/* 063670 80062A70 1020001F */ beqz $at, .L80062AF0 -/* 063674 80062A74 000F7880 */ sll $t7, $t7, 2 -/* 063678 80062A78 3C01800E */ lui $at, %hi(jpt_800E6C90) # $at, 0x800e -/* 06367C 80062A7C 002F0821 */ addu $at, $at, $t7 -/* 063680 80062A80 8C2F6C90 */ lw $t7, %lo(jpt_800E6C90)($at) -/* 063684 80062A84 00000000 */ nop -/* 063688 80062A88 01E00008 */ jr $t7 -/* 06368C 80062A8C 00000000 */ nop -glabel L80062A90 -/* 063690 80062A90 0C018AC0 */ jal __CSPHandleMIDIMsg -/* 063694 80062A94 02002025 */ move $a0, $s0 -/* 063698 80062A98 0C018A73 */ jal __CSPPostNextSeqEvent -/* 06369C 80062A9C 02002025 */ move $a0, $s0 -/* 0636A0 80062AA0 10000014 */ b .L80062AF4 -/* 0636A4 80062AA4 8FBF001C */ lw $ra, 0x1c($sp) -glabel L80062AA8 -/* 0636A8 80062AA8 0C018DFB */ jal __CSPHandleMetaMsg -/* 0636AC 80062AAC 02002025 */ move $a0, $s0 -/* 0636B0 80062AB0 0C018A73 */ jal __CSPPostNextSeqEvent -/* 0636B4 80062AB4 02002025 */ move $a0, $s0 -/* 0636B8 80062AB8 1000000E */ b .L80062AF4 -/* 0636BC 80062ABC 8FBF001C */ lw $ra, 0x1c($sp) -glabel L80062AC0 -/* 0636C0 80062AC0 24180002 */ li $t8, 2 -/* 0636C4 80062AC4 AE18002C */ sw $t8, 0x2c($s0) -/* 0636C8 80062AC8 24190010 */ li $t9, 16 -/* 0636CC 80062ACC 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff -/* 0636D0 80062AD0 A7B90028 */ sh $t9, 0x28($sp) -/* 0636D4 80062AD4 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff -/* 0636D8 80062AD8 0C03246B */ jal alEvtqPostEvent -/* 0636DC 80062ADC 26040048 */ addiu $a0, $s0, 0x48 -/* 0636E0 80062AE0 10000004 */ b .L80062AF4 -/* 0636E4 80062AE4 8FBF001C */ lw $ra, 0x1c($sp) -glabel L80062AE8 -/* 0636E8 80062AE8 0C018A73 */ jal __CSPPostNextSeqEvent -/* 0636EC 80062AEC 02002025 */ move $a0, $s0 -.L80062AF0: -glabel L80062AF0 -/* 0636F0 80062AF0 8FBF001C */ lw $ra, 0x1c($sp) -.L80062AF4: -/* 0636F4 80062AF4 8FB00018 */ lw $s0, 0x18($sp) -/* 0636F8 80062AF8 03E00008 */ jr $ra -/* 0636FC 80062AFC 27BD0038 */ addiu $sp, $sp, 0x38 - diff --git a/asm/non_matchings/unknown_061D30/__CSPPostNextSeqEvent.s b/asm/non_matchings/unknown_061D30/__CSPPostNextSeqEvent.s deleted file mode 100644 index d1b7c5cd..00000000 --- a/asm/non_matchings/unknown_061D30/__CSPPostNextSeqEvent.s +++ /dev/null @@ -1,32 +0,0 @@ -glabel __CSPPostNextSeqEvent -/* 0635CC 800629CC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0635D0 800629D0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0635D4 800629D4 8C8E002C */ lw $t6, 0x2c($a0) -/* 0635D8 800629D8 24010001 */ li $at, 1 -/* 0635DC 800629DC 15C10013 */ bne $t6, $at, .L80062A2C -/* 0635E0 800629E0 00803825 */ move $a3, $a0 -/* 0635E4 800629E4 8C840018 */ lw $a0, 0x18($a0) -/* 0635E8 800629E8 27A5001C */ addiu $a1, $sp, 0x1c -/* 0635EC 800629EC 10800010 */ beqz $a0, .L80062A30 -/* 0635F0 800629F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0635F4 800629F4 0C0320FB */ jal __alCSeqNextDelta -/* 0635F8 800629F8 AFA70030 */ sw $a3, 0x30($sp) -/* 0635FC 800629FC 8FA70030 */ lw $a3, 0x30($sp) -/* 063600 80062A00 1040000B */ beqz $v0, .L80062A30 -/* 063604 80062A04 8FBF0014 */ lw $ra, 0x14($sp) -/* 063608 80062A08 A7A00020 */ sh $zero, 0x20($sp) -/* 06360C 80062A0C 8CEF0024 */ lw $t7, 0x24($a3) -/* 063610 80062A10 8FB8001C */ lw $t8, 0x1c($sp) -/* 063614 80062A14 24E40048 */ addiu $a0, $a3, 0x48 -/* 063618 80062A18 01F80019 */ multu $t7, $t8 -/* 06361C 80062A1C 27A50020 */ addiu $a1, $sp, 0x20 -/* 063620 80062A20 00003012 */ mflo $a2 -/* 063624 80062A24 0C03246B */ jal alEvtqPostEvent -/* 063628 80062A28 00000000 */ nop -.L80062A2C: -/* 06362C 80062A2C 8FBF0014 */ lw $ra, 0x14($sp) -.L80062A30: -/* 063630 80062A30 27BD0030 */ addiu $sp, $sp, 0x30 -/* 063634 80062A34 03E00008 */ jr $ra -/* 063638 80062A38 00000000 */ nop - diff --git a/asm/non_matchings/unknown_061D30/__CSPRepostEvent.s b/asm/non_matchings/unknown_061D30/__CSPRepostEvent.s deleted file mode 100644 index e8889da6..00000000 --- a/asm/non_matchings/unknown_061D30/__CSPRepostEvent.s +++ /dev/null @@ -1,51 +0,0 @@ -glabel __CSPRepostEvent -/* 064584 80063984 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 064588 80063988 AFBF0014 */ sw $ra, 0x14($sp) -/* 06458C 8006398C AFA40020 */ sw $a0, 0x20($sp) -/* 064590 80063990 24040001 */ li $a0, 1 -/* 064594 80063994 0C03268C */ jal osSetIntMask -/* 064598 80063998 AFA50024 */ sw $a1, 0x24($sp) -/* 06459C 8006399C 8FA30020 */ lw $v1, 0x20($sp) -/* 0645A0 800639A0 8FA70024 */ lw $a3, 0x24($sp) -/* 0645A4 800639A4 2401FFF8 */ li $at, -8 -/* 0645A8 800639A8 AFA2001C */ sw $v0, 0x1c($sp) -/* 0645AC 800639AC 1061001A */ beq $v1, $at, .L80063A18 -/* 0645B0 800639B0 24650008 */ addiu $a1, $v1, 8 -.L800639B4: -/* 0645B4 800639B4 8CA40000 */ lw $a0, ($a1) -/* 0645B8 800639B8 00000000 */ nop -/* 0645BC 800639BC 14800005 */ bnez $a0, .L800639D4 -/* 0645C0 800639C0 00000000 */ nop -/* 0645C4 800639C4 0C0321E4 */ jal alLink -/* 0645C8 800639C8 00E02025 */ move $a0, $a3 -/* 0645CC 800639CC 10000013 */ b .L80063A1C -/* 0645D0 800639D0 8FA4001C */ lw $a0, 0x1c($sp) -.L800639D4: -/* 0645D4 800639D4 8CE20008 */ lw $v0, 8($a3) -/* 0645D8 800639D8 8C830008 */ lw $v1, 8($a0) -/* 0645DC 800639DC 00000000 */ nop -/* 0645E0 800639E0 0043082A */ slt $at, $v0, $v1 -/* 0645E4 800639E4 10200007 */ beqz $at, .L80063A04 -/* 0645E8 800639E8 00437823 */ subu $t7, $v0, $v1 -/* 0645EC 800639EC 00627023 */ subu $t6, $v1, $v0 -/* 0645F0 800639F0 AC8E0008 */ sw $t6, 8($a0) -/* 0645F4 800639F4 0C0321E4 */ jal alLink -/* 0645F8 800639F8 00E02025 */ move $a0, $a3 -/* 0645FC 800639FC 10000007 */ b .L80063A1C -/* 064600 80063A00 8FA4001C */ lw $a0, 0x1c($sp) -.L80063A04: -/* 064604 80063A04 ACEF0008 */ sw $t7, 8($a3) -/* 064608 80063A08 8CA50000 */ lw $a1, ($a1) -/* 06460C 80063A0C 00000000 */ nop -/* 064610 80063A10 14A0FFE8 */ bnez $a1, .L800639B4 -/* 064614 80063A14 00000000 */ nop -.L80063A18: -/* 064618 80063A18 8FA4001C */ lw $a0, 0x1c($sp) -.L80063A1C: -/* 06461C 80063A1C 0C03268C */ jal osSetIntMask -/* 064620 80063A20 00000000 */ nop -/* 064624 80063A24 8FBF0014 */ lw $ra, 0x14($sp) -/* 064628 80063A28 27BD0020 */ addiu $sp, $sp, 0x20 -/* 06462C 80063A2C 03E00008 */ jr $ra -/* 064630 80063A30 00000000 */ nop - diff --git a/asm/non_matchings/unknown_061D30/__setUsptFromTempo.s b/asm/non_matchings/unknown_061D30/__setUsptFromTempo.s deleted file mode 100644 index b4612597..00000000 --- a/asm/non_matchings/unknown_061D30/__setUsptFromTempo.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel __setUsptFromTempo -/* 064634 80063A34 8C820018 */ lw $v0, 0x18($a0) -/* 064638 80063A38 44856000 */ mtc1 $a1, $f12 -/* 06463C 80063A3C 1040000F */ beqz $v0, .L80063A7C -/* 064640 80063A40 241801E8 */ li $t8, 488 -/* 064644 80063A44 C4440008 */ lwc1 $f4, 8($v0) -/* 064648 80063A48 00000000 */ nop -/* 06464C 80063A4C 46046182 */ mul.s $f6, $f12, $f4 -/* 064650 80063A50 444EF800 */ cfc1 $t6, $31 -/* 064654 80063A54 00000000 */ nop -/* 064658 80063A58 35C10003 */ ori $at, $t6, 3 -/* 06465C 80063A5C 38210002 */ xori $at, $at, 2 -/* 064660 80063A60 44C1F800 */ ctc1 $at, $31 -/* 064664 80063A64 00000000 */ nop -/* 064668 80063A68 46003224 */ cvt.w.s $f8, $f6 -/* 06466C 80063A6C 440F4000 */ mfc1 $t7, $f8 -/* 064670 80063A70 44CEF800 */ ctc1 $t6, $31 -/* 064674 80063A74 03E00008 */ jr $ra -/* 064678 80063A78 AC8F0024 */ sw $t7, 0x24($a0) - -.L80063A7C: -/* 06467C 80063A7C AC980024 */ sw $t8, 0x24($a0) -/* 064680 80063A80 03E00008 */ jr $ra -/* 064684 80063A84 00000000 */ nop - -/* 064688 80063A88 00000000 */ nop -/* 06468C 80063A8C 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0646F0/func_80063AF0.s b/asm/non_matchings/unknown_0646F0/func_80063AF0.s deleted file mode 100644 index a8255199..00000000 --- a/asm/non_matchings/unknown_0646F0/func_80063AF0.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_80063AF0 -/* 0646F0 80063AF0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0646F4 80063AF4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0646F8 80063AF8 AFA40028 */ sw $a0, 0x28($sp) -/* 0646FC 80063AFC AFA5002C */ sw $a1, 0x2c($sp) -/* 064700 80063B00 00A03825 */ move $a3, $a1 -/* 064704 80063B04 240E0002 */ li $t6, 2 -/* 064708 80063B08 240F00B0 */ li $t7, 176 -/* 06470C 80063B0C 2418006A */ li $t8, 106 -/* 064710 80063B10 A7AE0018 */ sh $t6, 0x18($sp) -/* 064714 80063B14 AFA0001C */ sw $zero, 0x1c($sp) -/* 064718 80063B18 A3AF0020 */ sb $t7, 0x20($sp) -/* 06471C 80063B1C A3B80021 */ sb $t8, 0x21($sp) -/* 064720 80063B20 A3A70022 */ sb $a3, 0x22($sp) -/* 064724 80063B24 27A50018 */ addiu $a1, $sp, 0x18 -/* 064728 80063B28 24840048 */ addiu $a0, $a0, 0x48 -/* 06472C 80063B2C 0C03246B */ jal alEvtqPostEvent -/* 064730 80063B30 00003025 */ move $a2, $zero -/* 064734 80063B34 8FBF0014 */ lw $ra, 0x14($sp) -/* 064738 80063B38 27BD0028 */ addiu $sp, $sp, 0x28 -/* 06473C 80063B3C 03E00008 */ jr $ra -/* 064740 80063B40 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0646F0/func_80063B44.s b/asm/non_matchings/unknown_0646F0/func_80063B44.s deleted file mode 100644 index 325278a1..00000000 --- a/asm/non_matchings/unknown_0646F0/func_80063B44.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_80063B44 -/* 064744 80063B44 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 064748 80063B48 AFBF0014 */ sw $ra, 0x14($sp) -/* 06474C 80063B4C AFA40028 */ sw $a0, 0x28($sp) -/* 064750 80063B50 AFA5002C */ sw $a1, 0x2c($sp) -/* 064754 80063B54 00A03825 */ move $a3, $a1 -/* 064758 80063B58 240E0002 */ li $t6, 2 -/* 06475C 80063B5C 240F00B0 */ li $t7, 176 -/* 064760 80063B60 2418006C */ li $t8, 108 -/* 064764 80063B64 A7AE0018 */ sh $t6, 0x18($sp) -/* 064768 80063B68 AFA0001C */ sw $zero, 0x1c($sp) -/* 06476C 80063B6C A3AF0020 */ sb $t7, 0x20($sp) -/* 064770 80063B70 A3B80021 */ sb $t8, 0x21($sp) -/* 064774 80063B74 A3A70022 */ sb $a3, 0x22($sp) -/* 064778 80063B78 27A50018 */ addiu $a1, $sp, 0x18 -/* 06477C 80063B7C 24840048 */ addiu $a0, $a0, 0x48 -/* 064780 80063B80 0C03246B */ jal alEvtqPostEvent -/* 064784 80063B84 00003025 */ move $a2, $zero -/* 064788 80063B88 8FBF0014 */ lw $ra, 0x14($sp) -/* 06478C 80063B8C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 064790 80063B90 03E00008 */ jr $ra -/* 064794 80063B94 00000000 */ nop - -/* 064798 80063B98 00000000 */ nop -/* 06479C 80063B9C 00000000 */ nop - diff --git a/asm/non_matchings/unknown_064830/init_lpfilter.s b/asm/non_matchings/unknown_064830/init_lpfilter.s deleted file mode 100644 index 432f8fc0..00000000 --- a/asm/non_matchings/unknown_064830/init_lpfilter.s +++ /dev/null @@ -1,51 +0,0 @@ -glabel init_lpfilter -/* 065550 80064950 84820000 */ lh $v0, ($a0) -/* 065554 80064954 24194000 */ li $t9, 16384 -/* 065558 80064958 00027380 */ sll $t6, $v0, 0xe -/* 06555C 8006495C 000E1BC3 */ sra $v1, $t6, 0xf -/* 065560 80064960 00037C00 */ sll $t7, $v1, 0x10 -/* 065564 80064964 000F1C03 */ sra $v1, $t7, 0x10 -/* 065568 80064968 03234023 */ subu $t0, $t9, $v1 -/* 06556C 8006496C 24090001 */ li $t1, 1 -/* 065570 80064970 A4880002 */ sh $t0, 2($a0) -/* 065574 80064974 AC89002C */ sw $t1, 0x2c($a0) -/* 065578 80064978 00002825 */ move $a1, $zero -/* 06557C 8006497C 00803025 */ move $a2, $a0 -.L80064980: -/* 065580 80064980 24A50001 */ addiu $a1, $a1, 1 -/* 065584 80064984 28A10008 */ slti $at, $a1, 8 -/* 065588 80064988 24C60002 */ addiu $a2, $a2, 2 -/* 06558C 8006498C 1420FFFC */ bnez $at, .L80064980 -/* 065590 80064990 A4C00006 */ sh $zero, 6($a2) -/* 065594 80064994 44832000 */ mtc1 $v1, $f4 -/* 065598 80064998 3C0140D0 */ li $at, 0x40D00000 # 6.500000 -/* 06559C 8006499C 468021A1 */ cvt.d.w $f6, $f4 -/* 0655A0 800649A0 44816800 */ mtc1 $at, $f13 -/* 0655A4 800649A4 44806000 */ mtc1 $zero, $f12 -/* 0655A8 800649A8 24A50001 */ addiu $a1, $a1, 1 -/* 0655AC 800649AC 462C3083 */ div.d $f2, $f6, $f12 -/* 0655B0 800649B0 28A10010 */ slti $at, $a1, 0x10 -/* 0655B4 800649B4 A4C30008 */ sh $v1, 8($a2) -/* 0655B8 800649B8 24C60002 */ addiu $a2, $a2, 2 -/* 0655BC 800649BC 10200010 */ beqz $at, .L80064A00 -/* 0655C0 800649C0 46201006 */ mov.d $f0, $f2 -.L800649C4: -/* 0655C4 800649C4 46220002 */ mul.d $f0, $f0, $f2 -/* 0655C8 800649C8 24A50001 */ addiu $a1, $a1, 1 -/* 0655CC 800649CC 24C60002 */ addiu $a2, $a2, 2 -/* 0655D0 800649D0 462C0202 */ mul.d $f8, $f0, $f12 -/* 0655D4 800649D4 444AF800 */ cfc1 $t2, $31 -/* 0655D8 800649D8 00000000 */ nop -/* 0655DC 800649DC 35410003 */ ori $at, $t2, 3 -/* 0655E0 800649E0 38210002 */ xori $at, $at, 2 -/* 0655E4 800649E4 44C1F800 */ ctc1 $at, $31 -/* 0655E8 800649E8 28A10010 */ slti $at, $a1, 0x10 -/* 0655EC 800649EC 462042A4 */ cvt.w.d $f10, $f8 -/* 0655F0 800649F0 440B5000 */ mfc1 $t3, $f10 -/* 0655F4 800649F4 44CAF800 */ ctc1 $t2, $31 -/* 0655F8 800649F8 1420FFF2 */ bnez $at, .L800649C4 -/* 0655FC 800649FC A4CB0006 */ sh $t3, 6($a2) -.L80064A00: -/* 065600 80064A00 03E00008 */ jr $ra -/* 065604 80064A04 00000000 */ nop - diff --git a/include/PR/libaudio.h b/include/PR/libaudio.h index 9439df2e..6fb448cc 100644 --- a/include/PR/libaudio.h +++ b/include/PR/libaudio.h @@ -704,6 +704,7 @@ typedef struct { ALOscInit initOsc; ALOscUpdate updateOsc; ALOscStop stopOsc; + s32 unk7C; } ALCSPlayer; /* Maintain backwards compatibility with old routine names. */ diff --git a/include/structs.h b/include/structs.h index a109c376..fb254316 100644 --- a/include/structs.h +++ b/include/structs.h @@ -391,7 +391,15 @@ typedef struct Player_4C { } Player_4C; typedef struct Object_64 { - f32 unk0; + union { + f32 unk0; + struct { + s8 unk0; + s8 unk1; + s8 unk2; + s8 unk3; + } unk0_b; + }; s32 unk4; u8 pad8[4]; union { diff --git a/asm/non_matchings/unknown_064830/alFxNew.s b/lib/asm/non_matchings/alFxNew/alFxNew.s similarity index 93% rename from asm/non_matchings/unknown_064830/alFxNew.s rename to lib/asm/non_matchings/alFxNew/alFxNew.s index 6f9b7480..9351ec84 100644 --- a/asm/non_matchings/unknown_064830/alFxNew.s +++ b/lib/asm/non_matchings/alFxNew/alFxNew.s @@ -48,11 +48,11 @@ glabel alFxNew /* 06569C 80064A9C AED80028 */ sw $t8, 0x28($s6) /* 0656A0 80064AA0 0050C821 */ addu $t9, $v0, $s0 /* 0656A4 80064AA4 9328001C */ lbu $t0, 0x1c($t9) -/* 0656A8 80064AA8 3C13800E */ lui $s3, %hi(D_800DD028) # $s3, 0x800e +/* 0656A8 80064AA8 3C13800E */ lui $s3, %hi(NULL_PARAMS) # $s3, 0x800e /* 0656AC 80064AAC 2509FFFF */ addiu $t1, $t0, -1 /* 0656B0 80064AB0 2D210006 */ sltiu $at, $t1, 6 /* 0656B4 80064AB4 1020001C */ beqz $at, .L80064B28 -/* 0656B8 80064AB8 2673D028 */ addiu $s3, %lo(D_800DD028) # addiu $s3, $s3, -0x2fd8 +/* 0656B8 80064AB8 2673D028 */ addiu $s3, %lo(NULL_PARAMS) # addiu $s3, $s3, -0x2fd8 /* 0656BC 80064ABC 00094880 */ sll $t1, $t1, 2 /* 0656C0 80064AC0 3C01800E */ lui $at, %hi(jpt_800E6EA0) # $at, 0x800e /* 0656C4 80064AC4 00290821 */ addu $at, $at, $t1 @@ -61,25 +61,25 @@ glabel alFxNew /* 0656D0 80064AD0 01200008 */ jr $t1 /* 0656D4 80064AD4 00000000 */ nop glabel L80064AD8 -/* 0656D8 80064AD8 3C13800E */ lui $s3, %hi(D_800DCEC0) # $s3, 0x800e +/* 0656D8 80064AD8 3C13800E */ lui $s3, %hi(SMALLROOM_PARAMS) # $s3, 0x800e /* 0656DC 80064ADC 10000012 */ b .L80064B28 -/* 0656E0 80064AE0 2673CEC0 */ addiu $s3, %lo(D_800DCEC0) # addiu $s3, $s3, -0x3140 +/* 0656E0 80064AE0 2673CEC0 */ addiu $s3, %lo(SMALLROOM_PARAMS) # addiu $s3, $s3, -0x3140 glabel L80064AE4 -/* 0656E4 80064AE4 3C13800E */ lui $s3, %hi(D_800DCF28) # $s3, 0x800e +/* 0656E4 80064AE4 3C13800E */ lui $s3, %hi(BIGROOM_PARAMS) # $s3, 0x800e /* 0656E8 80064AE8 1000000F */ b .L80064B28 -/* 0656EC 80064AEC 2673CF28 */ addiu $s3, %lo(D_800DCF28) # addiu $s3, $s3, -0x30d8 +/* 0656EC 80064AEC 2673CF28 */ addiu $s3, %lo(BIGROOM_PARAMS) # addiu $s3, $s3, -0x30d8 glabel L80064AF0 -/* 0656F0 80064AF0 3C13800E */ lui $s3, %hi(D_800DCFB0) # $s3, 0x800e +/* 0656F0 80064AF0 3C13800E */ lui $s3, %hi(ECHO_PARAMS) # $s3, 0x800e /* 0656F4 80064AF4 1000000C */ b .L80064B28 -/* 0656F8 80064AF8 2673CFB0 */ addiu $s3, %lo(D_800DCFB0) # addiu $s3, $s3, -0x3050 +/* 0656F8 80064AF8 2673CFB0 */ addiu $s3, %lo(ECHO_PARAMS) # addiu $s3, $s3, -0x3050 glabel L80064AFC -/* 0656FC 80064AFC 3C13800E */ lui $s3, %hi(D_800DCFD8) # $s3, 0x800e +/* 0656FC 80064AFC 3C13800E */ lui $s3, %hi(CHORUS_PARAMS) # $s3, 0x800e /* 065700 80064B00 10000009 */ b .L80064B28 -/* 065704 80064B04 2673CFD8 */ addiu $s3, %lo(D_800DCFD8) # addiu $s3, $s3, -0x3028 +/* 065704 80064B04 2673CFD8 */ addiu $s3, %lo(CHORUS_PARAMS) # addiu $s3, $s3, -0x3028 glabel L80064B08 -/* 065708 80064B08 3C13800E */ lui $s3, %hi(D_800DD000) # $s3, 0x800e +/* 065708 80064B08 3C13800E */ lui $s3, %hi(FLANGE_PARAMS) # $s3, 0x800e /* 06570C 80064B0C 10000006 */ b .L80064B28 -/* 065710 80064B10 2673D000 */ addiu $s3, %lo(D_800DD000) # addiu $s3, $s3, -0x3000 +/* 065710 80064B10 2673D000 */ addiu $s3, %lo(FLANGE_PARAMS) # addiu $s3, $s3, -0x3000 glabel L80064B14 /* 065714 80064B14 00105080 */ sll $t2, $s0, 2 /* 065718 80064B18 004A5821 */ addu $t3, $v0, $t2 diff --git a/asm/non_matchings/unknown_061D30/__CSPHandleMIDIMsg.s b/lib/asm/non_matchings/csplayer/__CSPHandleMIDIMsg.s similarity index 100% rename from asm/non_matchings/unknown_061D30/__CSPHandleMIDIMsg.s rename to lib/asm/non_matchings/csplayer/__CSPHandleMIDIMsg.s diff --git a/asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s b/lib/asm/non_matchings/csplayer/__CSPVoiceHandler.s similarity index 100% rename from asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s rename to lib/asm/non_matchings/csplayer/__CSPVoiceHandler.s diff --git a/asm/non_matchings/unknown_061D30/alCSPNew.s b/lib/asm/non_matchings/csplayer/alCSPNew.s similarity index 100% rename from asm/non_matchings/unknown_061D30/alCSPNew.s rename to lib/asm/non_matchings/csplayer/alCSPNew.s diff --git a/asm/non_matchings/unknown_064830/_doModFunc.s b/lib/asm/non_matchings/reverb/_doModFunc.s similarity index 100% rename from asm/non_matchings/unknown_064830/_doModFunc.s rename to lib/asm/non_matchings/reverb/_doModFunc.s diff --git a/asm/non_matchings/unknown_064830/_loadOutputBuffer.s b/lib/asm/non_matchings/reverb/_loadOutputBuffer.s similarity index 100% rename from asm/non_matchings/unknown_064830/_loadOutputBuffer.s rename to lib/asm/non_matchings/reverb/_loadOutputBuffer.s diff --git a/asm/non_matchings/unknown_064830/alFxParamHdl.s b/lib/asm/non_matchings/reverb/alFxParamHdl.s similarity index 100% rename from asm/non_matchings/unknown_064830/alFxParamHdl.s rename to lib/asm/non_matchings/reverb/alFxParamHdl.s diff --git a/asm/non_matchings/unknown_064830/alFxPull.s b/lib/asm/non_matchings/reverb/alFxPull.s similarity index 100% rename from asm/non_matchings/unknown_064830/alFxPull.s rename to lib/asm/non_matchings/reverb/alFxPull.s diff --git a/asm/non_matchings/unknown_064830/func_8006492C.s b/lib/asm/non_matchings/reverb/func_8006492C.s similarity index 100% rename from asm/non_matchings/unknown_064830/func_8006492C.s rename to lib/asm/non_matchings/reverb/func_8006492C.s diff --git a/src/unknown_065550.c b/lib/src/mips1/al/alFxNew.c similarity index 54% rename from src/unknown_065550.c rename to lib/src/mips1/al/alFxNew.c index a098f86e..f8a204e0 100644 --- a/src/unknown_065550.c +++ b/lib/src/mips1/al/alFxNew.c @@ -6,86 +6,68 @@ #include "libultra_internal.h" #include "audio_internal.h" +/* + * WARNING: THE FOLLOWING CONSTANT MUST BE KEPT IN SYNC + * WITH SCALING IN MICROCODE!!! + */ #define SCALE 16384 -/************ .data ************/ +/* + * the following arrays contain default parameters for + * a few hopefully useful effects. + */ +#define ms *(((s32)((f32)44.1))&~0x7) -// TODO: Figure out what this actually is. -s32 D_800DCEC0[26] = { - 0x00000003, 0x00000FA0, - 0x00000000, 0x00000870, - 0x00002666, 0xFFFFD99A, - 0x00000000, 0x00000000, - 0x00000000, 0x00000000, - 0x000002F8, 0x000005F0, - 0x00000CCC, 0xFFFFF334, - 0x00003FFF, 0x00000000, - 0x00000000, 0x00000000, - 0x00000000, 0x00000960, - 0x00001388, 0x00000000, - 0x00000000, 0x00000000, - 0x00000000, 0x00005000 +s32 SMALLROOM_PARAMS[26] = { + /* sections length */ + 3, 100 ms, + /* chorus chorus filter + input output fbcoef ffcoef gain rate depth coef */ + 0, 54 ms, 9830, -9830, 0, 0, 0, 0, + 19 ms, 38 ms, 3276, -3276, 0x3fff, 0, 0, 0, + 0, 60 ms, 5000, 0, 0, 0, 0, 0x5000 }; -// TODO: Figure out what this actually is. -s32 D_800DCF28[34] = { - 0x00000004, 0x00000FA0, - 0x00000000, 0x00000A50, - 0x00002666, 0xFFFFD99A, - 0x00000000, 0x00000000, - 0x00000000, 0x00000000, - 0x00000370, 0x00000870, - 0x00000CCC, 0xFFFFF334, - 0x00003FFF, 0x00000000, - 0x00000000, 0x00000000, - 0x00000A50, 0x00000E38, - 0x00000CCC, 0xFFFFF334, - 0x00003FFF, 0x00000000, - 0x00000000, 0x00000000, - 0x00000000, 0x00000EB0, - 0x00001F40, 0x00000000, - 0x00000000, 0x00000000, - 0x00000000, 0x00005000 +s32 BIGROOM_PARAMS[34] = { + /* sections length */ + 4, 100 ms, + /* chorus chorus filter + input output fbcoef ffcoef gain rate depth coef */ + 0, 66 ms, 9830, -9830, 0, 0, 0, 0, + 22 ms, 54 ms, 3276, -3276, 0x3fff, 0, 0, 0, + 66 ms, 91 ms, 3276, -3276, 0x3fff, 0, 0, 0, + 0, 94 ms, 8000, 0, 0, 0, 0, 0x5000 }; -// TODO: Figure out what this actually is. -s32 D_800DCFB0[10] = { - 0x00000001, 0x00001F40, - 0x00000000, 0x00001BF8, - 0x00002EE0, 0x00000000, - 0x00007FFF, 0x00000000, - 0x00000000, 0x00000000 +s32 ECHO_PARAMS[10] = { + /* sections length */ + 1, 200 ms, + /* chorus chorus filter + input output fbcoef ffcoef gain rate depth coef */ + 0, 179 ms, 12000, 0, 0x7fff, 0, 0, 0 }; -// TODO: Figure out what this actually is. -s32 D_800DCFD8[10] = { - 0x00000001, 0x00000320, - 0x00000000, 0x000000C8, - 0x00004000, 0x00000000, - 0x00007FFF, 0x00001DB0, - 0x000002BC, 0x00000000 +s32 CHORUS_PARAMS[10] = { + /* sections length */ + 1, 20 ms, + /* chorus chorus filter + input output fbcoef ffcoef gain rate depth coef */ + 0, 5 ms, 0x4000, 0, 0x7fff, 7600, 700, 0 }; -// TODO: Figure out what this actually is. -s32 D_800DD000[10] = { - 0x00000001, 0x00000320, - 0x00000000, 0x000000C8, - 0x00000000, 0x00005FFF, - 0x00007FFF, 0x0000017C, - 0x000001F4, 0x00000000 +s32 FLANGE_PARAMS[10] = { + /* sections length */ + 1, 20 ms, + /* chorus chorus filter + input output fbcoef ffcoef gain rate depth coef */ + 0, 5 ms, 0, 0x5fff, 0x7fff, 380, 500, 0 }; -// TODO: Figure out what this actually is. -s32 D_800DD028[10] = { - 0x00000000, 0x00000000, - 0x00000000, 0x00000000, - 0x00000000, 0x00000000, - 0x00000000, 0x00000000, - 0x00000000, 0x00000000 +s32 NULL_PARAMS[10] = { + 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 }; -/*******************************/ - extern s32 alAuxBusPull; extern s32 alAuxBusParam; extern s32 alEnvMixerPull; @@ -122,7 +104,7 @@ void init_lpfilter(ALLowPass *lp) } } -GLOBAL_ASM("asm/non_matchings/unknown_064830/alFxNew.s") +GLOBAL_ASM("lib/asm/non_matchings/alFxNew/alFxNew.s") void alEnvmixerNew(ALEnvMixer* e, s32 arg1) { alFilterNew(e, &alEnvMixerPull, &alEnvmixerParam, 4); diff --git a/lib/src/mips1/al/csplayer.c b/lib/src/mips1/al/csplayer.c new file mode 100644 index 00000000..b57c3d0a --- /dev/null +++ b/lib/src/mips1/al/csplayer.c @@ -0,0 +1,175 @@ +/* The comment below is needed for this file to be picked up by generate_ld */ +/* RAM_POS: 0x80062290 */ + +#include "PR/os_exception.h" +#include "types.h" +#include "macros.h" +#include "audio_internal.h" +#include "seqp.h" + +/************ .rodata ************/ + +const char D_800E6C20[] = "CSP: oh oh \n"; + +/*********************************/ + +void __CSPPostNextSeqEvent(ALCSPlayer *seqp); +void __CSPHandleNextSeqEvent(ALCSPlayer *seqp); +void __CSPHandleMetaMsg(ALCSPlayer *seqp, ALEvent *event); +void __CSPRepostEvent(ALEventQueue *evtq, ALEventListItem *item); +void __setUsptFromTempo(ALCSPlayer *seqp, f32 tempo); + +GLOBAL_ASM("lib/asm/non_matchings/csplayer/alCSPNew.s") +GLOBAL_ASM("lib/asm/non_matchings/csplayer/__CSPVoiceHandler.s") + +void __CSPPostNextSeqEvent(ALCSPlayer *seqp) +{ + ALEvent evt; + s32 deltaTicks; + + if (seqp->state != AL_PLAYING || seqp->target == NULL) + return; + + /* Get the next event time in ticks. */ + /* If false is returned, then there is no next delta (ie. end of sequence reached). */ + if (!__alCSeqNextDelta(seqp->target, &deltaTicks)) + return; + + evt.type = AL_SEQ_REF_EVT; + alEvtqPostEvent(&seqp->evtq, &evt, deltaTicks * seqp->uspt); +} + +void __CSPHandleNextSeqEvent(ALCSPlayer *seqp) +{ + ALEvent evt; + + if (seqp->target == NULL) + return; + + __alCSeqGetTrackEvent(seqp->target, &evt); + + switch (evt.type) + { + case AL_SEQ_MIDI_EVT: + __CSPHandleMIDIMsg(seqp, &evt); + __CSPPostNextSeqEvent(seqp); + break; + + case AL_TEMPO_EVT: + __CSPHandleMetaMsg(seqp, &evt); + __CSPPostNextSeqEvent(seqp); + break; + + case AL_SEQ_END_EVT: + seqp->state = AL_STOPPING; + evt.type = AL_SEQP_STOP_EVT; + alEvtqPostEvent(&seqp->evtq, &evt, AL_EVTQ_END); + break; + + case AL_TRACK_END: + case AL_CSP_LOOPSTART: + case AL_CSP_LOOPEND: + __CSPPostNextSeqEvent(seqp); + break; + } +} + +GLOBAL_ASM("lib/asm/non_matchings/csplayer/__CSPHandleMIDIMsg.s") + +void __CSPHandleMetaMsg(ALCSPlayer *seqp, ALEvent *event) +{ + ALTempoEvent *tevt = &event->msg.tempo; + ALEvent evt; + s32 tempo; + s32 oldUspt; + u32 ticks; + ALMicroTime tempDelta,curDelta = 0; + ALEventListItem *thisNode,*nextNode,*firstTemp = 0; + + + if (event->msg.tempo.status == AL_MIDI_Meta) + { + if (event->msg.tempo.type == AL_MIDI_META_TEMPO) + { + oldUspt = seqp->uspt; + tempo = (tevt->byte1 << 16) | (tevt->byte2 << 8) | (tevt->byte3 << 0); + __setUsptFromTempo (seqp, (f32)tempo); /* sct 1/8/96 */ + + thisNode = (ALEventListItem*)seqp->evtq.allocList.next; + while(thisNode) + { + curDelta += thisNode->delta; + nextNode = (ALEventListItem*)thisNode->node.next; + if(thisNode->evt.type == AL_CSP_NOTEOFF_EVT) + { + alUnlink((ALLink*)thisNode); + + if(firstTemp) + alLink((ALLink*)thisNode,(ALLink*)firstTemp); + else + { + thisNode->node.next = 0; + thisNode->node.prev = 0; + firstTemp = thisNode; + } + tempDelta = curDelta; /* record the current delta */ + if(nextNode) /* don't do this if no nextNode */ + { + curDelta -= thisNode->delta; /* subtract out this delta */ + nextNode->delta += thisNode->delta; /* add it to next event */ + } + thisNode->delta = tempDelta; /* set this event delta from current */ + } + thisNode = nextNode; + } + + thisNode = firstTemp; + while(thisNode) + { + nextNode = (ALEventListItem*)thisNode->node.next; + ticks = thisNode->delta/oldUspt; + thisNode->delta = ticks * seqp->uspt; + __CSPRepostEvent(&seqp->evtq,thisNode); + thisNode = nextNode; + } + } + } +} + +void __CSPRepostEvent(ALEventQueue *evtq, ALEventListItem *item) +{ + OSIntMask mask; + ALLink *node; + ALEventListItem *nextItem; + + mask = osSetIntMask(OS_IM_NONE); + + for (node = &evtq->allocList; node != 0; node = node->next) + { + if (!node->next) /* end of the list */ + { + alLink((ALLink *)item, node); + break; + } + else + { + nextItem = (ALEventListItem *)node->next; + if (item->delta < nextItem->delta) + { + nextItem->delta -= item->delta; + alLink((ALLink *)item, node); + break; + } + item->delta -= nextItem->delta; + } + } + osSetIntMask(mask); +} + +void __setUsptFromTempo(ALCSPlayer *seqp, f32 tempo) +{ + if (seqp->target) + seqp->uspt = (s32)((f32)tempo * seqp->target->qnpt); + else + seqp->uspt = 488; /* This is the initial value set by alSeqpNew. */ +} diff --git a/src/unknown_064830.c b/lib/src/mips1/al/reverb.c similarity index 91% rename from src/unknown_064830.c rename to lib/src/mips1/al/reverb.c index 9ac418ef..7efd720f 100644 --- a/src/unknown_064830.c +++ b/lib/src/mips1/al/reverb.c @@ -1,8 +1,6 @@ /* The comment below is needed for this file to be picked up by generate_ld */ /* RAM_POS: 0x80063C30 */ -#include "unknown_064830.h" - #include "types.h" #include "macros.h" #include "libultra_internal.h" @@ -17,7 +15,7 @@ s32 D_800DCEBC = 0x20; // Currently unknown, might be a different type. /*******************************/ -GLOBAL_ASM("asm/non_matchings/unknown_064830/alFxPull.s") +GLOBAL_ASM("lib/asm/non_matchings/reverb/alFxPull.s") s32 alFxParam(void* filter, s32 paramID, void* param) { if (paramID == 1) { @@ -26,8 +24,8 @@ s32 alFxParam(void* filter, s32 paramID, void* param) { return 0; } -GLOBAL_ASM("asm/non_matchings/unknown_064830/alFxParamHdl.s") -GLOBAL_ASM("asm/non_matchings/unknown_064830/_loadOutputBuffer.s") +GLOBAL_ASM("lib/asm/non_matchings/reverb/alFxParamHdl.s") +GLOBAL_ASM("lib/asm/non_matchings/reverb/_loadOutputBuffer.s") /* * This routine is for loading data from the delay line buff. If the @@ -133,5 +131,5 @@ Acmd *_filterBuffer(ALLowPass *lp, s32 buff, s32 count, Acmd *p) return ptr; } -GLOBAL_ASM("asm/non_matchings/unknown_064830/_doModFunc.s") -GLOBAL_ASM("asm/non_matchings/unknown_064830/func_8006492C.s") +GLOBAL_ASM("lib/asm/non_matchings/reverb/_doModFunc.s") +GLOBAL_ASM("lib/asm/non_matchings/reverb/func_8006492C.s") diff --git a/lib/src/mips1/al/seqp.h b/lib/src/mips1/al/seqp.h new file mode 100644 index 00000000..c9ab02ba --- /dev/null +++ b/lib/src/mips1/al/seqp.h @@ -0,0 +1,37 @@ + + +#define KILL_TIME 50000 /* 50 ms */ + +#ifndef MIN +#define MIN(a,b) (((a)<(b))?(a):(b)) +#endif + +#ifndef MAX +#define MAX(a,b) (((a)>(b))?(a):(b)) +#endif + +ALVoiceState *__mapVoice(ALSeqPlayer *, u8, u8, u8); +void __unmapVoice(ALSeqPlayer *seqp, ALVoice *voice); +char __voiceNeedsNoteKill(ALSeqPlayer *seqp, ALVoice *voice, ALMicroTime killTime); /* sct 1/5/96 */ + +ALVoiceState *__lookupVoice(ALSeqPlayer *, u8, u8); +ALSound *__lookupSound(ALSeqPlayer *, u8, u8, u8); +ALSound *__lookupSoundQuick(ALSeqPlayer *, u8, u8, u8); + +s16 __vsVol(ALVoiceState *voice, ALSeqPlayer *seqp); +ALMicroTime __vsDelta(ALVoiceState *voice, ALMicroTime t); +ALPan __vsPan(ALVoiceState *voice, ALSeqPlayer *seqp); + +void __initFromBank(ALSeqPlayer *seqp, ALBank *b); +void __initChanState(ALSeqPlayer *seqp); +void __resetPerfChanState(ALSeqPlayer *seqp, s32 chan); +void __setInstChanState(ALSeqPlayer *seqp, ALInstrument *inst, s32 chan); + +void __seqpPrintVoices(ALSeqPlayer *); +void __seqpReleaseVoice(ALSeqPlayer *seqp, ALVoice *voice, + ALMicroTime deltaTime); + +void __seqpStopOsc(ALSeqPlayer *seqp, ALVoiceState *vs); + +void __postNextSeqEvent(ALSeqPlayer *seqp); /* sct 11/7/95 */ + diff --git a/src/unknown_064690.c b/lib/src/mips1/al/unknown_064690.c similarity index 95% rename from src/unknown_064690.c rename to lib/src/mips1/al/unknown_064690.c index b5e3a0f9..f7fcb336 100644 --- a/src/unknown_064690.c +++ b/lib/src/mips1/al/unknown_064690.c @@ -1,8 +1,6 @@ /* The comment below is needed for this file to be picked up by generate_ld */ /* RAM_POS: 0x80063A90 */ -#include "unknown_064690.h" - #include "types.h" #include "macros.h" diff --git a/lib/src/mips1/al/unknown_0646F0.c b/lib/src/mips1/al/unknown_0646F0.c new file mode 100644 index 00000000..6c354c2c --- /dev/null +++ b/lib/src/mips1/al/unknown_0646F0.c @@ -0,0 +1,38 @@ +/* The comment below is needed for this file to be picked up by generate_ld */ +/* RAM_POS: 0x80063AF0 */ + +#include "types.h" +#include "macros.h" +#include "audio_internal.h" + +/* Size: 0x0C bytes */ +typedef struct unk80063AF0 { + s16 unk0; + s16 unk2; + s32 unk4; + u8 unk8; + u8 unk9; + u8 unkA; +} unk80063AF0; + +void func_80063AF0(u32 arg0, u8 arg1) { + s32 unusedVariable; + unk80063AF0 unknownStruct; + unknownStruct.unk0 = 2; + unknownStruct.unk4 = 0; + unknownStruct.unk8 = 0xB0; + unknownStruct.unk9 = 0x6A; + unknownStruct.unkA = arg1; + alEvtqPostEvent(arg0 + 0x48, &unknownStruct, 0); +} + +void func_80063B44(u32 arg0, u8 arg1) { + s32 unusedVariable; + unk80063AF0 unknownStruct; + unknownStruct.unk0 = 2; + unknownStruct.unk4 = 0; + unknownStruct.unk8 = 0xB0; + unknownStruct.unk9 = 0x6C; + unknownStruct.unkA = arg1; + alEvtqPostEvent(arg0 + 0x48, &unknownStruct, 0); +} diff --git a/src/unknown_0647A0.c b/lib/src/mips1/al/unknown_0647A0.c similarity index 95% rename from src/unknown_0647A0.c rename to lib/src/mips1/al/unknown_0647A0.c index 76c8aa95..aba14871 100644 --- a/src/unknown_0647A0.c +++ b/lib/src/mips1/al/unknown_0647A0.c @@ -1,10 +1,9 @@ /* The comment below is needed for this file to be picked up by generate_ld */ /* RAM_POS: 0x80063BA0 */ -#include "unknown_0647A0.h" - #include "types.h" #include "macros.h" +#include "audio_internal.h" /* Size: 0x0C bytes */ typedef struct unk80063BA0 { diff --git a/src/unknown_064800.c b/lib/src/mips1/al/unknown_064800.c similarity index 95% rename from src/unknown_064800.c rename to lib/src/mips1/al/unknown_064800.c index 78a630af..45a5a1ab 100644 --- a/src/unknown_064800.c +++ b/lib/src/mips1/al/unknown_064800.c @@ -1,8 +1,6 @@ /* The comment below is needed for this file to be picked up by generate_ld */ /* RAM_POS: 0x80063C00 */ -#include "unknown_064800.h" - #include "types.h" #include "macros.h" #include "audio_internal.h" diff --git a/src/unknown_060450.c b/src/object_models.c similarity index 84% rename from src/unknown_060450.c rename to src/object_models.c index 4a3d97fd..d1e04ca7 100644 --- a/src/unknown_060450.c +++ b/src/object_models.c @@ -67,6 +67,8 @@ void func_8005F850(void) { D_8011D63C = load_asset_section_from_rom(ASSET_OBJECT_ANIMATIONS_TABLE); D_8011D644 = allocate_from_main_pool_safe(0xC00, COLOR_TAG_GREEN); D_8011D640 = 0; + + // Anti-tamper check. checksum = 0; for (i = 0; i < D_800DCEA4; i++) { checksum += *(u8*)(((s32)&func_80024D54) + i); @@ -76,8 +78,8 @@ void func_8005F850(void) { } } -GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_8005F99C.s") -GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_8005FCD0.s") +GLOBAL_ASM("asm/non_matchings/object_models/func_8005F99C.s") +GLOBAL_ASM("asm/non_matchings/object_models/func_8005FCD0.s") #if 0 void free_object_model(ObjectModel *model); @@ -113,7 +115,7 @@ void func_8005FF40(ObjectModel **modelPtr) { } } #else -GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_8005FF40.s") +GLOBAL_ASM("asm/non_matchings/object_models/func_8005FF40.s") #endif #ifdef NON_MATCHING @@ -144,14 +146,14 @@ void free_object_model(ObjectModel *model) { free_from_memory_pool(model); } #else -GLOBAL_ASM("asm/non_matchings/unknown_05F690/free_object_model.s") +GLOBAL_ASM("asm/non_matchings/object_models/free_object_model.s") #endif -GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_8006017C.s") -GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_80060910.s") -GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_80060AC8.s") -GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_80060C58.s") -GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_80060EA8.s") +GLOBAL_ASM("asm/non_matchings/object_models/func_8006017C.s") +GLOBAL_ASM("asm/non_matchings/object_models/func_80060910.s") +GLOBAL_ASM("asm/non_matchings/object_models/func_80060AC8.s") +GLOBAL_ASM("asm/non_matchings/object_models/func_80060C58.s") +GLOBAL_ASM("asm/non_matchings/object_models/func_80060EA8.s") void func_800619F4(s32 arg0) { D_8011D640 = arg0; @@ -159,6 +161,6 @@ void func_800619F4(s32 arg0) { // s32 func_80061A00(ObjectModel *model, s32 animTableIndex) // Returns 0 if successful, or 1 if an error occured. -GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_80061A00.s") +GLOBAL_ASM("asm/non_matchings/object_models/func_80061A00.s") -GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_80061C0C.s") +GLOBAL_ASM("asm/non_matchings/object_models/func_80061C0C.s") diff --git a/src/unknown_060450.h b/src/object_models.h similarity index 100% rename from src/unknown_060450.h rename to src/object_models.h diff --git a/src/unknown_00BC20.c b/src/unknown_00BC20.c index b6f868c7..afcac49d 100644 --- a/src/unknown_00BC20.c +++ b/src/unknown_00BC20.c @@ -488,7 +488,7 @@ void func_8000C460(void) { void func_8000C604(void) { s32 i, len; - func_80059B4C(); + free_tt_ghost_data(); D_800DC748 = 0; if (D_800DC71C != 0) { func_80072298(1); @@ -1433,11 +1433,11 @@ s8 func_800214C4(void) { GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_800214E4.s") GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_80021600.s") -GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_80022540.s") +GLOBAL_ASM("asm/non_matchings/unknown_00BC20/catmull_rom_interpolation.s") GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8002263C.s") GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8002277C.s") -f32 func_80022888(f32 *arg0, u32 arg1, f32 arg2) { +f32 lerp(f32 *arg0, u32 arg1, f32 arg2) { f32 result = arg0[arg1 + 1] + ((arg0[arg1 + 2] - arg0[arg1 + 1]) * arg2); return result; } diff --git a/src/unknown_043920.c b/src/unknown_043920.c index b5c8e4b9..e4967161 100644 --- a/src/unknown_043920.c +++ b/src/unknown_043920.c @@ -3,11 +3,36 @@ #include "unknown_043920.h" #include "memory.h" +#include "menu.h" #include "types.h" #include "macros.h" #include "structs.h" +#include "asset_sections.h" +/* Size: 8 bytes */ +typedef struct GhostHeader { + u8 levelID; + u8 vehicleID; // 0 = Car, 1 = Hovercraft, 2 = Plane + u8 characterID; // 9 = T.T. + u8 unk3; // Might just be padding? + s16 time; // In frames, where 60 frames = 1 second. + s16 nodeCount; // Maximum of 1080 nodes. +} GhostHeader; + +/* Size: 12 bytes */ +typedef struct GhostNode { + s16 x; + s16 y; + s16 z; + s16 zRotation; // This order is correct. + s16 xRotation; + s16 yRotation; +} GhostNode; + +// This number should be 1080, so every ghost node represents 4 seconds? +// 3 minute limit = 180 seconds. +#define MAX_NUMBER_OF_GHOST_NODES 360 /************ .data ************/ @@ -139,7 +164,7 @@ typedef struct unk8011D510 { unk8011D510 D_8011D510; s32 D_8011D528; -s32 D_8011D52C; +s32 gActivePlayerButtonPress; s32 D_8011D530; s32 D_8011D534; s32 D_8011D538; @@ -178,13 +203,12 @@ s8 D_8011D58C; s8 D_8011D58D; s8 D_8011D58E; s8 D_8011D58F; -u32 D_8011D590[2]; -s32 D_8011D598; +GhostHeader *gGhostData[3]; s8 D_8011D59C; s8 D_8011D59D; s16 D_8011D59E; s16 D_8011D5A0[2]; -s32 D_8011D5A4; +s16 gTTGhostNodeCount; // Gets assigned, but never used? s16 D_8011D5A8[2]; s16 D_8011D5AC; s16 D_8011D5AE; @@ -450,11 +474,13 @@ typedef struct unk80056930 { void func_80057048(unk800570A4_2 *arg0, s32 arg1); -void func_80056930(unk800570A4_2 *arg0, unk80056930 *arg1) { - if ((get_filtered_cheats() & 0x100) != 0) { +void play_char_horn_sound(Object *arg0, Object_64 *arg1) { + if (get_filtered_cheats() & CHEAT_HORN_CHEAT) { + // Play character voice instead of horn. func_800570B8(arg0, 0x162, 8, 0x82); } else { - func_80057048(arg0, arg1->unk3 + 0x156); + // Play character's horn sound + func_80057048(arg0, arg1->unk0_b.unk3 + 0x156); } } @@ -518,9 +544,9 @@ GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059208.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059790.s") void func_800598D0(void) { - D_8011D590[0] = allocate_from_main_pool_safe(0x21C0, COLOR_TAG_RED); - D_8011D590[1] = D_8011D590[0] + 0x10E0; - D_8011D590[2] = 0; + gGhostData[0] = allocate_from_main_pool_safe(0x21C0, COLOR_TAG_RED); + gGhostData[1] = (GhostNode*)gGhostData[0] + MAX_NUMBER_OF_GHOST_NODES; + gGhostData[2] = NULL; // T.T. Ghost D_8011D5A0[0] = 0; D_8011D5A0[1] = 0; D_8011D5A0[2] = 0; @@ -552,7 +578,7 @@ s32 func_800599B8(s32 arg0, s32 arg1, s16 arg2, s32 arg3, s32 arg4) { s16 sp2E; temp_t8 = (D_8011D59C + 1) & 1; - temp_v0 = func_80074B34(arg0, (s16)arg1, arg2, arg3, arg4, &sp2E, D_8011D590[temp_t8]); + temp_v0 = func_80074B34(arg0, (s16)arg1, arg2, arg3, arg4, &sp2E, gGhostData[temp_t8]); if (arg3 != 0) { if (temp_v0 == 0) { D_8011D5A0[temp_t8] = sp2E; @@ -565,17 +591,39 @@ s32 func_800599B8(s32 arg0, s32 arg1, s16 arg2, s32 arg3, s32 arg4) { return temp_v0; } -GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059A68.s") - -void func_80059B4C(void) { - if (D_8011D598 != 0) { - free_from_memory_pool(D_8011D598); +/** + * Loads T.T. ghost node data into gGhostData[2]. + * Returns 0 if successful, or 1 if an error occured. + */ +s32 load_tt_ghost(s32 ghostOffset, s32 size, s16 *outTime) { + GhostHeader *ghost = allocate_from_main_pool_safe(size, COLOR_TAG_RED); + if (ghost != NULL) { + load_asset_to_address(ASSET_TTGHOSTS, ghost, ghostOffset, size); + if (gGhostData[2] != NULL) { + free_from_memory_pool(gGhostData[2]); + } + gGhostData[2] = allocate_from_main_pool_safe(size - sizeof(GhostHeader), COLOR_TAG_WHITE); + if (gGhostData[2] != NULL) { + *outTime = ghost->time; + gTTGhostNodeCount = ghost->nodeCount; + bcopy((u8*)ghost + 8, gGhostData[2], size - sizeof(GhostHeader)); + free_from_memory_pool(ghost); + return 0; + } + free_from_memory_pool(ghost); } - D_8011D598 = 0; + return 1; +} + +void free_tt_ghost_data(void) { + if (gGhostData[2] != NULL) { + free_from_memory_pool(gGhostData[2]); + } + gGhostData[2] = NULL; } void func_80059B7C(s32 arg0, s32 arg1, s16 arg2, s16 arg3, s16 arg4) { - func_80075000(arg0, (s16)arg1, arg2, arg3, arg4, D_8011D5A0[D_8011D59C], D_8011D590[D_8011D59C]); + func_80075000(arg0, (s16)arg1, arg2, arg3, arg4, D_8011D5A0[D_8011D59C], gGhostData[D_8011D59C]); } GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059BF0.s") @@ -584,7 +632,7 @@ s16 func_80059E20(void) { return D_8011D5A8[D_8011D59C]; } -GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059E40.s") +GLOBAL_ASM("asm/non_matchings/unknown_043920/set_ghost_position_and_rotation.s") void func_8005A3B0(void) { D_8011D584 = 1; diff --git a/src/unknown_05FF10.c b/src/unknown_05FF10.c index 3d08b515..efce3d07 100644 --- a/src/unknown_05FF10.c +++ b/src/unknown_05FF10.c @@ -24,4 +24,4 @@ s8 D_8011D611; /******************************/ -GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_8005F310.s") \ No newline at end of file +GLOBAL_ASM("asm/non_matchings/unknown_05FF10/func_8005F310.s") diff --git a/src/unknown_061D30.c b/src/unknown_061D30.c deleted file mode 100644 index eb172ba6..00000000 --- a/src/unknown_061D30.c +++ /dev/null @@ -1,22 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80062290 */ - -#include "unknown_061D30.h" - -#include "types.h" -#include "macros.h" - -/************ .rodata ************/ - -const char D_800E6C20[] = "CSP: oh oh \n"; - -/*********************************/ - -GLOBAL_ASM("asm/non_matchings/unknown_061D30/alCSPNew.s") -GLOBAL_ASM("asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s") -GLOBAL_ASM("asm/non_matchings/unknown_061D30/__CSPPostNextSeqEvent.s") -GLOBAL_ASM("asm/non_matchings/unknown_061D30/__CSPHandleNextSeqEvent.s") -GLOBAL_ASM("asm/non_matchings/unknown_061D30/__CSPHandleMIDIMsg.s") -GLOBAL_ASM("asm/non_matchings/unknown_061D30/__CSPHandleMetaMsg.s") -GLOBAL_ASM("asm/non_matchings/unknown_061D30/__CSPRepostEvent.s") -GLOBAL_ASM("asm/non_matchings/unknown_061D30/__setUsptFromTempo.s") diff --git a/src/unknown_061D30.h b/src/unknown_061D30.h deleted file mode 100644 index 935df3f2..00000000 --- a/src/unknown_061D30.h +++ /dev/null @@ -1,4 +0,0 @@ -#ifndef _UNKNOWN_061D30_H_ -#define _UNKNOWN_061D30_H_ - -#endif \ No newline at end of file diff --git a/src/unknown_064690.h b/src/unknown_064690.h deleted file mode 100644 index 0477abc7..00000000 --- a/src/unknown_064690.h +++ /dev/null @@ -1,4 +0,0 @@ -#ifndef _UNKNOWN_064690_H_ -#define _UNKNOWN_064690_H_ - -#endif \ No newline at end of file diff --git a/src/unknown_0646F0.c b/src/unknown_0646F0.c deleted file mode 100644 index cc9fe5a1..00000000 --- a/src/unknown_0646F0.c +++ /dev/null @@ -1,10 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x80063AF0 */ - -#include "unknown_0646F0.h" - -#include "types.h" -#include "macros.h" - -GLOBAL_ASM("asm/non_matchings/unknown_0646F0/func_80063AF0.s") -GLOBAL_ASM("asm/non_matchings/unknown_0646F0/func_80063B44.s") diff --git a/src/unknown_0646F0.h b/src/unknown_0646F0.h deleted file mode 100644 index 98b804d7..00000000 --- a/src/unknown_0646F0.h +++ /dev/null @@ -1,4 +0,0 @@ -#ifndef _UNKNOWN_0646F0_H_ -#define _UNKNOWN_0646F0_H_ - -#endif \ No newline at end of file diff --git a/src/unknown_0647A0.h b/src/unknown_0647A0.h deleted file mode 100644 index 612b7f25..00000000 --- a/src/unknown_0647A0.h +++ /dev/null @@ -1,4 +0,0 @@ -#ifndef _UNKNOWN_0647A0_H_ -#define _UNKNOWN_0647A0_H_ - -#endif \ No newline at end of file diff --git a/src/unknown_064800.h b/src/unknown_064800.h deleted file mode 100644 index 96e628b1..00000000 --- a/src/unknown_064800.h +++ /dev/null @@ -1,4 +0,0 @@ -#ifndef _UNKNOWN_064800_H_ -#define _UNKNOWN_064800_H_ - -#endif \ No newline at end of file diff --git a/src/unknown_064830.h b/src/unknown_064830.h deleted file mode 100644 index 8fc2ba1d..00000000 --- a/src/unknown_064830.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef _UNKNOWN_064830_H_ -#define _UNKNOWN_064830_H_ - -#include "types.h" - -extern s8 D_800DCEB0; -extern s32 D_800DCEB4; -extern s32 D_800DCEB8; -extern s32 D_800DCEBC; - -// TODO: Figure out what this actually is. -extern s32 D_800DCEC0[26]; - -// TODO: Figure out what this actually is. -extern s32 D_800DCF28[34]; - -// TODO: Figure out what this actually is. -extern s32 D_800DCFB0[10]; - -// TODO: Figure out what this actually is. -extern s32 D_800DCFD8[10]; - -// TODO: Figure out what this actually is. -extern s32 D_800DD000[10]; - -// TODO: Figure out what this actually is. -extern s32 D_800DD028[10]; - -#endif \ No newline at end of file