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/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/src/unknown_060450.c b/src/object_models.c similarity index 85% rename from src/unknown_060450.c rename to src/object_models.c index 51c46c4f..d1e04ca7 100644 --- a/src/unknown_060450.c +++ b/src/object_models.c @@ -78,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); @@ -115,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 @@ -146,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; @@ -161,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")