diff --git a/asm/bss_80005FD0.s b/asm/bss_80005FD0.s index 049c545e7b..ee7847c1e8 100644 --- a/asm/bss_80005FD0.s +++ b/asm/bss_80005FD0.s @@ -225,6 +225,7 @@ glabel D_80163438 glabel D_80163448 .skip 2 +# D_8016344A is fake, its just the lower half-word of D_80163448 glabel D_8016344A .skip 2 diff --git a/asm/bss_MainSeg.s b/asm/bss_MainSeg.s index 7e5d4a656b..3bb0517e3d 100644 --- a/asm/bss_MainSeg.s +++ b/asm/bss_MainSeg.s @@ -65,14 +65,8 @@ glabel D_80163DD8 glabel D_80163DE4 .skip 4 -# gBombKarts should actually be of size 588 (0x54 * 7) -# D_80163E2C is a fake variable glabel gBombKarts -.skip 68 - -glabel D_80163E2C -.skip 520 -# end gBombKarts +.skip 588 glabel D_80164034 .skip 4 diff --git a/asm/non_matchings/code_80005FD0/func_8000D438.s b/asm/non_matchings/code_80005FD0/func_8000D438.s deleted file mode 100644 index 66b5dbe2b6..0000000000 --- a/asm/non_matchings/code_80005FD0/func_8000D438.s +++ /dev/null @@ -1,182 +0,0 @@ -glabel func_8000D438 -/* 00E038 8000D438 3C0E8016 */ lui $t6, %hi(D_801645E0) # $t6, 0x8016 -/* 00E03C 8000D43C 8DCE45E0 */ lw $t6, %lo(D_801645E0)($t6) -/* 00E040 8000D440 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 00E044 8000D444 30A7FFFF */ andi $a3, $a1, 0xffff -/* 00E048 8000D448 00074040 */ sll $t0, $a3, 1 -/* 00E04C 8000D44C AFBF0014 */ sw $ra, 0x14($sp) -/* 00E050 8000D450 AFA40050 */ sw $a0, 0x50($sp) -/* 00E054 8000D454 AFA50054 */ sw $a1, 0x54($sp) -/* 00E058 8000D458 01C87821 */ addu $t7, $t6, $t0 -/* 00E05C 8000D45C 85E30000 */ lh $v1, ($t7) -/* 00E060 8000D460 24060006 */ li $a2, 6 -/* 00E064 8000D464 AFA60028 */ sw $a2, 0x28($sp) -/* 00E068 8000D468 AFA8001C */ sw $t0, 0x1c($sp) -/* 00E06C 8000D46C A7A70056 */ sh $a3, 0x56($sp) -/* 00E070 8000D470 0C0034EE */ jal func_8000D3B8 -/* 00E074 8000D474 A7A30026 */ sh $v1, 0x26($sp) -/* 00E078 8000D478 3C02800E */ lui $v0, %hi(gCurrentCourseId) -/* 00E07C 8000D47C 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) -/* 00E080 8000D480 24010004 */ li $at, 4 -/* 00E084 8000D484 87A30026 */ lh $v1, 0x26($sp) -/* 00E088 8000D488 8FA60028 */ lw $a2, 0x28($sp) -/* 00E08C 8000D48C 97A70056 */ lhu $a3, 0x56($sp) -/* 00E090 8000D490 8FA8001C */ lw $t0, 0x1c($sp) -/* 00E094 8000D494 10410013 */ beq $v0, $at, .L8000D4E4 -/* 00E098 8000D498 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 00E09C 8000D49C 2401000A */ li $at, 10 -/* 00E0A0 8000D4A0 10410005 */ beq $v0, $at, .L8000D4B8 -/* 00E0A4 8000D4A4 24010014 */ li $at, 20 -/* 00E0A8 8000D4A8 54410006 */ bnel $v0, $at, .L8000D4C4 -/* 00E0AC 8000D4AC 28610006 */ slti $at, $v1, 6 -/* 00E0B0 8000D4B0 1000000C */ b .L8000D4E4 -/* 00E0B4 8000D4B4 24060001 */ li $a2, 1 -.L8000D4B8: -/* 00E0B8 8000D4B8 1000000A */ b .L8000D4E4 -/* 00E0BC 8000D4BC 24060007 */ li $a2, 7 -/* 00E0C0 8000D4C0 28610006 */ slti $at, $v1, 6 -.L8000D4C4: -/* 00E0C4 8000D4C4 50200004 */ beql $at, $zero, .L8000D4D8 -/* 00E0C8 8000D4C8 28610015 */ slti $at, $v1, 0x15 -/* 00E0CC 8000D4CC 10000005 */ b .L8000D4E4 -/* 00E0D0 8000D4D0 24060008 */ li $a2, 8 -/* 00E0D4 8000D4D4 28610015 */ slti $at, $v1, 0x15 -.L8000D4D8: -/* 00E0D8 8000D4D8 54200003 */ bnel $at, $zero, .L8000D4E8 -/* 00E0DC 8000D4DC 28C10008 */ slti $at, $a2, 8 -/* 00E0E0 8000D4E0 24060014 */ li $a2, 20 -.L8000D4E4: -/* 00E0E4 8000D4E4 28C10008 */ slti $at, $a2, 8 -.L8000D4E8: -/* 00E0E8 8000D4E8 14200020 */ bnez $at, .L8000D56C -/* 00E0EC 8000D4EC 8FA40050 */ lw $a0, 0x50($sp) -/* 00E0F0 8000D4F0 8FB80050 */ lw $t8, 0x50($sp) -/* 00E0F4 8000D4F4 3C018016 */ lui $at, %hi(D_80163068) -/* 00E0F8 8000D4F8 3C098016 */ lui $t1, %hi(D_801631D8) # $t1, 0x8016 -/* 00E0FC 8000D4FC 0018C880 */ sll $t9, $t8, 2 -/* 00E100 8000D500 00390821 */ addu $at, $at, $t9 -/* 00E104 8000D504 C4203068 */ lwc1 $f0, %lo(D_80163068)($at) -/* 00E108 8000D508 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 00E10C 8000D50C 44812000 */ mtc1 $at, $f4 -/* 00E110 8000D510 3C01BF40 */ li $at, 0xBF400000 # -0.750000 -/* 00E114 8000D514 44813000 */ mtc1 $at, $f6 -/* 00E118 8000D518 4600203C */ c.lt.s $f4, $f0 -/* 00E11C 8000D51C 3C0C8016 */ lui $t4, %hi(D_801631D8) # $t4, 0x8016 -/* 00E120 8000D520 45020008 */ bc1fl .L8000D544 -/* 00E124 8000D524 4606003C */ c.lt.s $f0, $f6 -/* 00E128 8000D528 8D2931D8 */ lw $t1, %lo(D_801631D8)($t1) -/* 00E12C 8000D52C 01285021 */ addu $t2, $t1, $t0 -/* 00E130 8000D530 854B0000 */ lh $t3, ($t2) -/* 00E134 8000D534 55600003 */ bnel $t3, $zero, .L8000D544 -/* 00E138 8000D538 4606003C */ c.lt.s $f0, $f6 -/* 00E13C 8000D53C 24060007 */ li $a2, 7 -/* 00E140 8000D540 4606003C */ c.lt.s $f0, $f6 -.L8000D544: -/* 00E144 8000D544 00000000 */ nop -/* 00E148 8000D548 45020009 */ bc1fl .L8000D570 -/* 00E14C 8000D54C AFA60028 */ sw $a2, 0x28($sp) -/* 00E150 8000D550 8D8C31D8 */ lw $t4, %lo(D_801631D8)($t4) -/* 00E154 8000D554 24010001 */ li $at, 1 -/* 00E158 8000D558 01886821 */ addu $t5, $t4, $t0 -/* 00E15C 8000D55C 85AE0000 */ lh $t6, ($t5) -/* 00E160 8000D560 55C10003 */ bnel $t6, $at, .L8000D570 -/* 00E164 8000D564 AFA60028 */ sw $a2, 0x28($sp) -/* 00E168 8000D568 24060007 */ li $a2, 7 -.L8000D56C: -/* 00E16C 8000D56C AFA60028 */ sw $a2, 0x28($sp) -.L8000D570: -/* 00E170 8000D570 0C002E08 */ jal func_8000B820 -/* 00E174 8000D574 A7A70056 */ sh $a3, 0x56($sp) -/* 00E178 8000D578 24010001 */ li $at, 1 -/* 00E17C 8000D57C 8FA60028 */ lw $a2, 0x28($sp) -/* 00E180 8000D580 14410002 */ bne $v0, $at, .L8000D58C -/* 00E184 8000D584 97A70056 */ lhu $a3, 0x56($sp) -/* 00E188 8000D588 24060005 */ li $a2, 5 -.L8000D58C: -/* 00E18C 8000D58C 8FAF0050 */ lw $t7, 0x50($sp) -/* 00E190 8000D590 3C198016 */ lui $t9, %hi(D_80163380) # $t9, 0x8016 -/* 00E194 8000D594 27393380 */ addiu $t9, %lo(D_80163380) # addiu $t9, $t9, 0x3380 -/* 00E198 8000D598 000FC040 */ sll $t8, $t7, 1 -/* 00E19C 8000D59C 03191821 */ addu $v1, $t8, $t9 -/* 00E1A0 8000D5A0 84620000 */ lh $v0, ($v1) -/* 00E1A4 8000D5A4 3C0C8016 */ lui $t4, %hi(D_80164430) # $t4, 0x8016 -/* 00E1A8 8000D5A8 0046082A */ slt $at, $v0, $a2 -/* 00E1AC 8000D5AC 50200005 */ beql $at, $zero, .L8000D5C4 -/* 00E1B0 8000D5B0 00C2082A */ slt $at, $a2, $v0 -/* 00E1B4 8000D5B4 24490001 */ addiu $t1, $v0, 1 -/* 00E1B8 8000D5B8 A4690000 */ sh $t1, ($v1) -/* 00E1BC 8000D5BC 84620000 */ lh $v0, ($v1) -/* 00E1C0 8000D5C0 00C2082A */ slt $at, $a2, $v0 -.L8000D5C4: -/* 00E1C4 8000D5C4 10200004 */ beqz $at, .L8000D5D8 -/* 00E1C8 8000D5C8 3C068016 */ lui $a2, %hi(D_8016344A) # $a2, 0x8016 -/* 00E1CC 8000D5CC 244AFFFF */ addiu $t2, $v0, -1 -/* 00E1D0 8000D5D0 A46A0000 */ sh $t2, ($v1) -/* 00E1D4 8000D5D4 84620000 */ lh $v0, ($v1) -.L8000D5D8: -/* 00E1D8 8000D5D8 958C4430 */ lhu $t4, %lo(D_80164430)($t4) -/* 00E1DC 8000D5DC 00475821 */ addu $t3, $v0, $a3 -/* 00E1E0 8000D5E0 8FA5002C */ lw $a1, 0x2c($sp) -/* 00E1E4 8000D5E4 016C001A */ div $zero, $t3, $t4 -/* 00E1E8 8000D5E8 00006810 */ mfhi $t5 -/* 00E1EC 8000D5EC 31A4FFFF */ andi $a0, $t5, 0xffff -/* 00E1F0 8000D5F0 15800002 */ bnez $t4, .L8000D5FC -/* 00E1F4 8000D5F4 00000000 */ nop -/* 00E1F8 8000D5F8 0007000D */ break 7 -.L8000D5FC: -/* 00E1FC 8000D5FC 2401FFFF */ li $at, -1 -/* 00E200 8000D600 15810004 */ bne $t4, $at, .L8000D614 -/* 00E204 8000D604 3C018000 */ lui $at, 0x8000 -/* 00E208 8000D608 15610002 */ bne $t3, $at, .L8000D614 -/* 00E20C 8000D60C 00000000 */ nop -/* 00E210 8000D610 0006000D */ break 6 -.L8000D614: -/* 00E214 8000D614 A7AD0056 */ sh $t5, 0x56($sp) -/* 00E218 8000D618 0C002EF6 */ jal func_8000BBD8 -/* 00E21C 8000D61C 84C6344A */ lh $a2, %lo(D_8016344A)($a2) -/* 00E220 8000D620 97A70056 */ lhu $a3, 0x56($sp) -/* 00E224 8000D624 3C0F8016 */ lui $t7, %hi(D_80164430) # $t7, 0x8016 -/* 00E228 8000D628 95EF4430 */ lhu $t7, %lo(D_80164430)($t7) -/* 00E22C 8000D62C 24EE0001 */ addiu $t6, $a3, 1 -/* 00E230 8000D630 3C028016 */ lui $v0, %hi(D_80162FA0) # $v0, 0x8016 -/* 00E234 8000D634 01CF001A */ div $zero, $t6, $t7 -/* 00E238 8000D638 24422FA0 */ addiu $v0, %lo(D_80162FA0) # addiu $v0, $v0, 0x2fa0 -/* 00E23C 8000D63C C4480000 */ lwc1 $f8, ($v0) -/* 00E240 8000D640 C44A0008 */ lwc1 $f10, 8($v0) -/* 00E244 8000D644 0000C010 */ mfhi $t8 -/* 00E248 8000D648 3C068016 */ lui $a2, %hi(D_8016344A) # $a2, 0x8016 -/* 00E24C 8000D64C 84C6344A */ lh $a2, %lo(D_8016344A)($a2) -/* 00E250 8000D650 3304FFFF */ andi $a0, $t8, 0xffff -/* 00E254 8000D654 8FA5002C */ lw $a1, 0x2c($sp) -/* 00E258 8000D658 E7A80048 */ swc1 $f8, 0x48($sp) -/* 00E25C 8000D65C E7AA0044 */ swc1 $f10, 0x44($sp) -/* 00E260 8000D660 15E00002 */ bnez $t7, .L8000D66C -/* 00E264 8000D664 00000000 */ nop -/* 00E268 8000D668 0007000D */ break 7 -.L8000D66C: -/* 00E26C 8000D66C 2401FFFF */ li $at, -1 -/* 00E270 8000D670 15E10004 */ bne $t7, $at, .L8000D684 -/* 00E274 8000D674 3C018000 */ lui $at, 0x8000 -/* 00E278 8000D678 15C10002 */ bne $t6, $at, .L8000D684 -/* 00E27C 8000D67C 00000000 */ nop -/* 00E280 8000D680 0006000D */ break 6 -.L8000D684: -/* 00E284 8000D684 0C002EF6 */ jal func_8000BBD8 -/* 00E288 8000D688 00000000 */ nop -/* 00E28C 8000D68C 3C028016 */ lui $v0, %hi(D_80162FA0) # $v0, 0x8016 -/* 00E290 8000D690 24422FA0 */ addiu $v0, %lo(D_80162FA0) # addiu $v0, $v0, 0x2fa0 -/* 00E294 8000D694 C4400000 */ lwc1 $f0, ($v0) -/* 00E298 8000D698 C7B00048 */ lwc1 $f16, 0x48($sp) -/* 00E29C 8000D69C C4420008 */ lwc1 $f2, 8($v0) -/* 00E2A0 8000D6A0 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 00E2A4 8000D6A4 46008480 */ add.s $f18, $f16, $f0 -/* 00E2A8 8000D6A8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 00E2AC 8000D6AC 44816000 */ mtc1 $at, $f12 -/* 00E2B0 8000D6B0 46023200 */ add.s $f8, $f6, $f2 -/* 00E2B4 8000D6B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 00E2B8 8000D6B8 460C9102 */ mul.s $f4, $f18, $f12 -/* 00E2BC 8000D6BC 27BD0050 */ addiu $sp, $sp, 0x50 -/* 00E2C0 8000D6C0 460C4282 */ mul.s $f10, $f8, $f12 -/* 00E2C4 8000D6C4 E4440000 */ swc1 $f4, ($v0) -/* 00E2C8 8000D6C8 03E00008 */ jr $ra -/* 00E2CC 8000D6CC E44A0008 */ swc1 $f10, 8($v0) diff --git a/asm/non_matchings/code_80005FD0/func_8001AAAC.s b/asm/non_matchings/code_80005FD0/func_8001AAAC.s deleted file mode 100644 index 8b12fdf587..0000000000 --- a/asm/non_matchings/code_80005FD0/func_8001AAAC.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_8001AAAC -/* 01B6AC 8001AAAC 00047400 */ sll $t6, $a0, 0x10 -/* 01B6B0 8001AAB0 000E7C03 */ sra $t7, $t6, 0x10 -/* 01B6B4 8001AAB4 3C0B8016 */ lui $t3, %hi(D_801646D0) # $t3, 0x8016 -/* 01B6B8 8001AAB8 256B46D0 */ addiu $t3, %lo(D_801646D0) # addiu $t3, $t3, 0x46d0 -/* 01B6BC 8001AABC 000F50C0 */ sll $t2, $t7, 3 -/* 01B6C0 8001AAC0 014B1021 */ addu $v0, $t2, $t3 -/* 01B6C4 8001AAC4 844C0000 */ lh $t4, ($v0) -/* 01B6C8 8001AAC8 0005C400 */ sll $t8, $a1, 0x10 -/* 01B6CC 8001AACC 00064400 */ sll $t0, $a2, 0x10 -/* 01B6D0 8001AAD0 00084C03 */ sra $t1, $t0, 0x10 -/* 01B6D4 8001AAD4 0018CC03 */ sra $t9, $t8, 0x10 -/* 01B6D8 8001AAD8 AFA40000 */ sw $a0, ($sp) -/* 01B6DC 8001AADC AFA50004 */ sw $a1, 4($sp) -/* 01B6E0 8001AAE0 15800005 */ bnez $t4, .L8001AAF8 -/* 01B6E4 8001AAE4 AFA60008 */ sw $a2, 8($sp) -/* 01B6E8 8001AAE8 240D0001 */ li $t5, 1 -/* 01B6EC 8001AAEC A44D0000 */ sh $t5, ($v0) -/* 01B6F0 8001AAF0 A4590002 */ sh $t9, 2($v0) -/* 01B6F4 8001AAF4 A4490004 */ sh $t1, 4($v0) -.L8001AAF8: -/* 01B6F8 8001AAF8 03E00008 */ jr $ra -/* 01B6FC 8001AAFC 00000000 */ nop diff --git a/asm/non_matchings/code_80005FD0/func_8001C14C.s b/asm/non_matchings/code_80005FD0/func_8001C14C.s deleted file mode 100644 index 75397a147f..0000000000 --- a/asm/non_matchings/code_80005FD0/func_8001C14C.s +++ /dev/null @@ -1,172 +0,0 @@ -glabel func_8001C14C -/* 01CD4C 8001C14C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 01CD50 8001C150 AFB20028 */ sw $s2, 0x28($sp) -/* 01CD54 8001C154 3C128016 */ lui $s2, %hi(D_8016347C) # $s2, 0x8016 -/* 01CD58 8001C158 2652347C */ addiu $s2, %lo(D_8016347C) # addiu $s2, $s2, 0x347c -/* 01CD5C 8001C15C 864E0000 */ lh $t6, ($s2) -/* 01CD60 8001C160 AFB60038 */ sw $s6, 0x38($sp) -/* 01CD64 8001C164 24160001 */ li $s6, 1 -/* 01CD68 8001C168 AFBF0044 */ sw $ra, 0x44($sp) -/* 01CD6C 8001C16C AFBE0040 */ sw $fp, 0x40($sp) -/* 01CD70 8001C170 AFB7003C */ sw $s7, 0x3c($sp) -/* 01CD74 8001C174 AFB50034 */ sw $s5, 0x34($sp) -/* 01CD78 8001C178 AFB40030 */ sw $s4, 0x30($sp) -/* 01CD7C 8001C17C AFB3002C */ sw $s3, 0x2c($sp) -/* 01CD80 8001C180 AFB10024 */ sw $s1, 0x24($sp) -/* 01CD84 8001C184 AFB00020 */ sw $s0, 0x20($sp) -/* 01CD88 8001C188 16CE0006 */ bne $s6, $t6, .L8001C1A4 -/* 01CD8C 8001C18C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 01CD90 8001C190 3C0F8016 */ lui $t7, %hi(D_80163480) # $t7, 0x8016 -/* 01CD94 8001C194 8DEF3480 */ lw $t7, %lo(D_80163480)($t7) -/* 01CD98 8001C198 3C018016 */ lui $at, %hi(D_80163480) # $at, 0x8016 -/* 01CD9C 8001C19C 25F80001 */ addiu $t8, $t7, 1 -/* 01CDA0 8001C1A0 AC383480 */ sw $t8, %lo(D_80163480)($at) -.L8001C1A4: -/* 01CDA4 8001C1A4 3C178016 */ lui $s7, %hi(D_8016347E) # $s7, 0x8016 -/* 01CDA8 8001C1A8 26F7347E */ addiu $s7, %lo(D_8016347E) # addiu $s7, $s7, 0x347e -/* 01CDAC 8001C1AC 86F90000 */ lh $t9, ($s7) -/* 01CDB0 8001C1B0 3C088016 */ lui $t0, %hi(D_80163E2C) # $t0, 0x8016 -/* 01CDB4 8001C1B4 56D90015 */ bnel $s6, $t9, .L8001C20C -/* 01CDB8 8001C1B8 3C013FF0 */ lui $at, 0x3ff0 -/* 01CDBC 8001C1BC 95083E2C */ lhu $t0, %lo(D_80163E2C)($t0) -/* 01CDC0 8001C1C0 3C098028 */ lui $t1, %hi(D_802874D8+0x1D) # $t1, 0x8028 -/* 01CDC4 8001C1C4 55000011 */ bnel $t0, $zero, .L8001C20C -/* 01CDC8 8001C1C8 3C013FF0 */ lui $at, 0x3ff0 -/* 01CDCC 8001C1CC 812974F5 */ lb $t1, %lo(D_802874D8+0x1D)($t1) -/* 01CDD0 8001C1D0 3C1E8016 */ lui $fp, %hi(D_80163484) # $fp, 0x8016 -/* 01CDD4 8001C1D4 27DE3484 */ addiu $fp, %lo(D_80163484) # addiu $fp, $fp, 0x3484 -/* 01CDD8 8001C1D8 29210003 */ slti $at, $t1, 3 -/* 01CDDC 8001C1DC 5420000B */ bnel $at, $zero, .L8001C20C -/* 01CDE0 8001C1E0 3C013FF0 */ lui $at, 0x3ff0 -/* 01CDE4 8001C1E4 8FCA0000 */ lw $t2, ($fp) -/* 01CDE8 8001C1E8 240D0002 */ li $t5, 2 -/* 01CDEC 8001C1EC 254B0001 */ addiu $t3, $t2, 1 -/* 01CDF0 8001C1F0 2961000F */ slti $at, $t3, 0xf -/* 01CDF4 8001C1F4 14200004 */ bnez $at, .L8001C208 -/* 01CDF8 8001C1F8 AFCB0000 */ sw $t3, ($fp) -/* 01CDFC 8001C1FC AFC00000 */ sw $zero, ($fp) -/* 01CE00 8001C200 0C024997 */ jal func_8009265C -/* 01CE04 8001C204 A6ED0000 */ sh $t5, ($s7) -.L8001C208: -/* 01CE08 8001C208 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -.L8001C20C: -/* 01CE0C 8001C20C 3C1E8016 */ lui $fp, %hi(D_80163484) # $fp, 0x8016 -/* 01CE10 8001C210 3C14800E */ lui $s4, %hi(gPlayerOne) -/* 01CE14 8001C214 4481A800 */ mtc1 $at, $f21 -/* 01CE18 8001C218 4480A000 */ mtc1 $zero, $f20 -/* 01CE1C 8001C21C 27DE3484 */ addiu $fp, %lo(D_80163484) # addiu $fp, $fp, 0x3484 -/* 01CE20 8001C220 2694C4DC */ addiu $s4, %lo(gPlayerOne) # addiu $s4, $s4, -0x3b24 -/* 01CE24 8001C224 00008825 */ move $s1, $zero -/* 01CE28 8001C228 3C150100 */ lui $s5, 0x100 -/* 01CE2C 8001C22C 24130003 */ li $s3, 3 -.L8001C230: -/* 01CE30 8001C230 16330003 */ bne $s1, $s3, .L8001C240 -/* 01CE34 8001C234 001178C0 */ sll $t7, $s1, 3 -/* 01CE38 8001C238 864E0000 */ lh $t6, ($s2) -/* 01CE3C 8001C23C 11C00054 */ beqz $t6, .L8001C390 -.L8001C240: -/* 01CE40 8001C240 01F17823 */ subu $t7, $t7, $s1 -/* 01CE44 8001C244 000F7900 */ sll $t7, $t7, 4 -/* 01CE48 8001C248 01F17823 */ subu $t7, $t7, $s1 -/* 01CE4C 8001C24C 000F7880 */ sll $t7, $t7, 2 -/* 01CE50 8001C250 8E980000 */ lw $t8, ($s4) -/* 01CE54 8001C254 01F17823 */ subu $t7, $t7, $s1 -/* 01CE58 8001C258 000F78C0 */ sll $t7, $t7, 3 -/* 01CE5C 8001C25C 02202025 */ move $a0, $s1 -/* 01CE60 8001C260 0C0026D8 */ jal func_80009B60 -/* 01CE64 8001C264 01F88021 */ addu $s0, $t7, $t8 -/* 01CE68 8001C268 96030000 */ lhu $v1, ($s0) -/* 01CE6C 8001C26C 00111080 */ sll $v0, $s1, 2 -/* 01CE70 8001C270 3C018016 */ lui $at, %hi(D_80163418) -/* 01CE74 8001C274 30792000 */ andi $t9, $v1, 0x2000 -/* 01CE78 8001C278 17200041 */ bnez $t9, .L8001C380 -/* 01CE7C 8001C27C 00220821 */ addu $at, $at, $v0 -/* 01CE80 8001C280 C4243418 */ lwc1 $f4, %lo(D_80163418)($at) -/* 01CE84 8001C284 C6060014 */ lwc1 $f6, 0x14($s0) -/* 01CE88 8001C288 3C018016 */ lui $at, %hi(D_80163438) -/* 01CE8C 8001C28C 00220821 */ addu $at, $at, $v0 -/* 01CE90 8001C290 46062001 */ sub.s $f0, $f4, $f6 -/* 01CE94 8001C294 C4283438 */ lwc1 $f8, %lo(D_80163438)($at) -/* 01CE98 8001C298 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 01CE9C 8001C29C 46000402 */ mul.s $f16, $f0, $f0 -/* 01CEA0 8001C2A0 460A4081 */ sub.s $f2, $f8, $f10 -/* 01CEA4 8001C2A4 46021482 */ mul.s $f18, $f2, $f2 -/* 01CEA8 8001C2A8 46128100 */ add.s $f4, $f16, $f18 -/* 01CEAC 8001C2AC 460021A1 */ cvt.d.s $f6, $f4 -/* 01CEB0 8001C2B0 4634303C */ c.lt.d $f6, $f20 -/* 01CEB4 8001C2B4 00000000 */ nop -/* 01CEB8 8001C2B8 45020032 */ bc1fl .L8001C384 -/* 01CEBC 8001C2BC 26310001 */ addiu $s1, $s1, 1 -/* 01CEC0 8001C2C0 5233001E */ beql $s1, $s3, .L8001C33C -/* 01CEC4 8001C2C4 86EA0000 */ lh $t2, ($s7) -/* 01CEC8 8001C2C8 86480000 */ lh $t0, ($s2) -/* 01CECC 8001C2CC 306ADFFF */ andi $t2, $v1, 0xdfff -/* 01CED0 8001C2D0 34692000 */ ori $t1, $v1, 0x2000 -/* 01CED4 8001C2D4 15000003 */ bnez $t0, .L8001C2E4 -/* 01CED8 8001C2D8 3C0E800E */ lui $t6, %hi(gPlayerTwo) -/* 01CEDC 8001C2DC 10000002 */ b .L8001C2E8 -/* 01CEE0 8001C2E0 A6090000 */ sh $t1, ($s0) -.L8001C2E4: -/* 01CEE4 8001C2E4 A60A0000 */ sh $t2, ($s0) -.L8001C2E8: -/* 01CEE8 8001C2E8 8E8B0000 */ lw $t3, ($s4) -/* 01CEEC 8001C2EC 956C0000 */ lhu $t4, ($t3) -/* 01CEF0 8001C2F0 318D2000 */ andi $t5, $t4, 0x2000 -/* 01CEF4 8001C2F4 51A00023 */ beql $t5, $zero, .L8001C384 -/* 01CEF8 8001C2F8 26310001 */ addiu $s1, $s1, 1 -/* 01CEFC 8001C2FC 8DCEC4E0 */ lw $t6, %lo(gPlayerTwo)($t6) -/* 01CF00 8001C300 3C19800E */ lui $t9, %hi(gPlayerThree) -/* 01CF04 8001C304 95CF0000 */ lhu $t7, ($t6) -/* 01CF08 8001C308 31F82000 */ andi $t8, $t7, 0x2000 -/* 01CF0C 8001C30C 5300001D */ beql $t8, $zero, .L8001C384 -/* 01CF10 8001C310 26310001 */ addiu $s1, $s1, 1 -/* 01CF14 8001C314 8F39C4E4 */ lw $t9, %lo(gPlayerThree)($t9) -/* 01CF18 8001C318 3C018016 */ lui $at, %hi(D_80163480) # $at, 0x8016 -/* 01CF1C 8001C31C 97280000 */ lhu $t0, ($t9) -/* 01CF20 8001C320 31092000 */ andi $t1, $t0, 0x2000 -/* 01CF24 8001C324 51200017 */ beql $t1, $zero, .L8001C384 -/* 01CF28 8001C328 26310001 */ addiu $s1, $s1, 1 -/* 01CF2C 8001C32C A6560000 */ sh $s6, ($s2) -/* 01CF30 8001C330 10000013 */ b .L8001C380 -/* 01CF34 8001C334 AC203480 */ sw $zero, %lo(D_80163480)($at) -/* 01CF38 8001C338 86EA0000 */ lh $t2, ($s7) -.L8001C33C: -/* 01CF3C 8001C33C 5540000B */ bnel $t2, $zero, .L8001C36C -/* 01CF40 8001C340 8E0E00BC */ lw $t6, 0xbc($s0) -/* 01CF44 8001C344 8E0B00BC */ lw $t3, 0xbc($s0) -/* 01CF48 8001C348 346D2000 */ ori $t5, $v1, 0x2000 -/* 01CF4C 8001C34C 01756024 */ and $t4, $t3, $s5 -/* 01CF50 8001C350 55800003 */ bnel $t4, $zero, .L8001C360 -/* 01CF54 8001C354 A6F60000 */ sh $s6, ($s7) -/* 01CF58 8001C358 A60D0000 */ sh $t5, ($s0) -/* 01CF5C 8001C35C A6F60000 */ sh $s6, ($s7) -.L8001C360: -/* 01CF60 8001C360 10000007 */ b .L8001C380 -/* 01CF64 8001C364 AFC00000 */ sw $zero, ($fp) -/* 01CF68 8001C368 8E0E00BC */ lw $t6, 0xbc($s0) -.L8001C36C: -/* 01CF6C 8001C36C 34782000 */ ori $t8, $v1, 0x2000 -/* 01CF70 8001C370 01D57824 */ and $t7, $t6, $s5 -/* 01CF74 8001C374 55E00003 */ bnel $t7, $zero, .L8001C384 -/* 01CF78 8001C378 26310001 */ addiu $s1, $s1, 1 -/* 01CF7C 8001C37C A6180000 */ sh $t8, ($s0) -.L8001C380: -/* 01CF80 8001C380 26310001 */ addiu $s1, $s1, 1 -.L8001C384: -/* 01CF84 8001C384 24010004 */ li $at, 4 -/* 01CF88 8001C388 1621FFA9 */ bne $s1, $at, .L8001C230 -/* 01CF8C 8001C38C 00000000 */ nop -.L8001C390: -/* 01CF90 8001C390 8FBF0044 */ lw $ra, 0x44($sp) -/* 01CF94 8001C394 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 01CF98 8001C398 8FB00020 */ lw $s0, 0x20($sp) -/* 01CF9C 8001C39C 8FB10024 */ lw $s1, 0x24($sp) -/* 01CFA0 8001C3A0 8FB20028 */ lw $s2, 0x28($sp) -/* 01CFA4 8001C3A4 8FB3002C */ lw $s3, 0x2c($sp) -/* 01CFA8 8001C3A8 8FB40030 */ lw $s4, 0x30($sp) -/* 01CFAC 8001C3AC 8FB50034 */ lw $s5, 0x34($sp) -/* 01CFB0 8001C3B0 8FB60038 */ lw $s6, 0x38($sp) -/* 01CFB4 8001C3B4 8FB7003C */ lw $s7, 0x3c($sp) -/* 01CFB8 8001C3B8 8FBE0040 */ lw $fp, 0x40($sp) -/* 01CFBC 8001C3BC 03E00008 */ jr $ra -/* 01CFC0 8001C3C0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index a52e0675e6..e7934fef82 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -27,6 +27,7 @@ #include "menus.h" #include "code_80091750.h" #include "audio/external.h" +#include "ending/podium_ceremony_actors.h" extern UnkCommonTextureStruct0 *D_800DC720[]; @@ -524,10 +525,6 @@ s32 func_800061DC(Vec3f arg0, f32 arg1, s32 arg2) { return var_v1; } -extern u16 D_80163258[]; -extern u16 D_80163270[]; -extern s32 D_80163288[]; - void func_800065D0(s32 playerId, Player *player) { s16 temp_t2; s16 var_t1; @@ -2858,81 +2855,70 @@ f32 func_8000D3B8(s32 playerId) { return var_f2; } -#ifdef MIPS_TO_C -//generated by m2c commit beb457dabfc7a01ec6540a5404a6a05097a13602 on Nov-26-2023 -extern s16 D_8016344A; - void func_8000D438(s32 arg0, u16 arg1) { + s32 stackPadding0; f32 sp48; f32 sp44; + s32 stackPadding1; + s32 stackPadding2; + s32 stackPadding3; + f32 stackPadding4; + f32 stackPadding5; f32 sp2C; - s32 sp28; - s16 sp26; - s32 sp1C; - f32 temp_f0; - s16 *temp_v1_2; - s16 temp_v0; - s16 temp_v1; - s32 temp_hi; s32 var_a2; - s32 var_a2_2; - u16 temp_a3; - - temp_a3 = arg1 & 0xFFFF; - temp_v1 = D_801645E0[temp_a3]; - sp28 = 6; - sp1C = temp_a3 * 2; - arg1 = temp_a3; - sp26 = temp_v1; + s16 temp_v1; + u16 thing; + + temp_v1 = D_801645E0[arg1]; var_a2 = 6; sp2C = func_8000D3B8(arg0); - if (gCurrentCourseId != 4) { - if (gCurrentCourseId != 0x000A) { - if (gCurrentCourseId == 0x0014) { - var_a2 = 1; - } else if (temp_v1 < 6) { - var_a2 = 8; - } else if (temp_v1 >= 0x15) { - var_a2 = 0x00000014; - } - } else { - var_a2 = 7; + thing = arg1; + + switch(gCurrentCourseId) { + case COURSE_AWARD_CEREMONY: + var_a2 = 1; + break; + case COURSE_TOADS_TURNPIKE: + var_a2 = 7; + break; + case COURSE_YOSHI_VALLEY: + break; + default: + if (temp_v1 < 6) { + var_a2 = 8; + } else if (temp_v1 >= 0x15) { + var_a2 = 20; } + break; } + if (var_a2 >= 8) { - temp_f0 = D_80163068[arg0]; - if ((temp_f0 > 0.75f) && (D_801631D8[temp_a3] == 0)) { + if ((D_80163068[arg0] > 0.75f) && (D_801631D8[thing] == 0)) { var_a2 = 7; } - if ((temp_f0 < -0.75f) && (D_801631D8[temp_a3] == 1)) { + if ((D_80163068[arg0] < -0.75f) && (D_801631D8[thing] == 1)) { var_a2 = 7; } } - sp28 = var_a2; - var_a2_2 = var_a2; if (func_8000B820(arg0) == 1) { - var_a2_2 = 5; + var_a2 = 5; } - temp_v1_2 = &D_80163380[arg0]; - temp_v0 = *temp_v1_2; - if (temp_v0 < var_a2_2) { - *temp_v1_2 = temp_v0 + 1; + if (D_80163380[arg0] < var_a2) { + D_80163380[arg0]++; } - if (var_a2_2 < *temp_v1_2) { - *temp_v1_2 -= 1; + if (var_a2 < D_80163380[arg0]) { + D_80163380[arg0]--; } - temp_hi = (s32) (*temp_v1_2 + arg1) % (s32) D_80164430; - arg1 = (u16) temp_hi; - func_8000BBD8(temp_hi & 0xFFFF, sp2C, D_8016344A); - sp48 = D_80162FA0->unk0; - sp44 = D_80162FA0->unk8; - func_8000BBD8(((s32) (arg1 + 1) % (s32) D_80164430) & 0xFFFF, sp2C, D_8016344A); - D_80162FA0->unk0 = (sp48 + D_80162FA0->unk0) * 0.5f; - D_80162FA0->unk8 = (f32) ((sp44 + D_80162FA0->unk8) * 0.5f); + arg1 = (D_80163380[arg0] + arg1) % D_80164430; + func_8000BBD8(arg1, sp2C, D_80163448); + sp48 = D_80162FA0[0]; + sp44 = D_80162FA0[2]; + func_8000BBD8(((arg1 + 1) % D_80164430) & 0xFFFF, sp2C, D_80163448); + stackPadding5 = D_80162FA0[0]; + D_80162FA0[0] = (sp48 + stackPadding5) * 0.5f; + stackPadding4 = D_80162FA0[2]; + D_80162FA0[2] = (sp44 + stackPadding4) * 0.5f; } -#else -GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000D438.s") -#endif #ifdef NON_MATCHING // Something about the handling of D_80162FA0 is really off, can't figure out what @@ -2998,12 +2984,15 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000D6D0.s") #endif #ifdef NON_MATCHING -// Something about the handling of D_80162FA0 is really off, can't figure out what +// Something about ordering of the math regarding x/y/zdiff is off, can't figure out why s16 func_8000D940(f32 *arg0, s16 *waypointIndex, f32 arg2, f32 arg3, s16 pathIndex) { UNUSED s32 pad[4]; s16 waypoint2; s16 waypoint1; - UNUSED s32 pad2[4]; + f32 pad2; + f32 pad3; + f32 pad4; + s32 pad5; f32 distance; f32 temp_f20; f32 temp_f22; @@ -3017,7 +3006,7 @@ s16 func_8000D940(f32 *arg0, s16 *waypointIndex, f32 arg2, f32 arg3, s16 pathInd f32 ydiff; f32 zdiff; Vec3f sp54; - UNUSED s32 pad3; + s32 pad6; TrackWaypoint *path; sp54[0] = arg0[0]; @@ -3032,10 +3021,12 @@ s16 func_8000D940(f32 *arg0, s16 *waypointIndex, f32 arg2, f32 arg3, s16 pathInd waypoint1 = ((temp_v0 + waypointCount) - 3) % waypointCount; waypoint2 = ((temp_v0 + waypointCount) - 4) % waypointCount; func_8000BBD8(waypoint1, arg3, pathIndex); + pad2 = D_80162FA0[0]; + pad3 = D_80162FA0[2]; func_8000BBD8(waypoint2, arg3, pathIndex); ydiff = ((D_80164550[pathIndex][waypoint2].posY + D_80164550[pathIndex][waypoint1].posY) * 0.5f) - temp_f22; - xdiff = ((D_80162FA0[0] + D_80162FA0[0]) * 0.5f) - temp_f20; - zdiff = ((D_80162FA0[2] + D_80162FA0[2]) * 0.5f) - temp_f24; + xdiff = ((pad2 + D_80162FA0[0]) * 0.5f) - temp_f20; + zdiff = ((pad3 + D_80162FA0[2]) * 0.5f) - temp_f24; distance = sqrtf((xdiff * xdiff) + (ydiff * ydiff) + (zdiff * zdiff)); if (distance > 0.01f) { var_f2 = ((xdiff * arg2) / distance) + temp_f20; @@ -3697,30 +3688,6 @@ void func_8000F2DC(void) { func_8000EEDC(); } -// static f32 D_800DCAA0[21] = { -// 0.3f, -// 0.3f, -// 0.2f, -// 0.4f, -// 0.0f, -// 0.3f, -// 0.5f, -// 0.4f, -// 0.7f, -// 0.5f, -// 0.5f, -// 0.3f, -// 0.3f, -// 0.4f, -// 0.6f, -// 0.1f, -// 0.5f, -// 0.5f, -// 0.1f, -// 0.5f, -// 0.5f, -// }; - void func_8000F628(void) { Camera *camera; @@ -4405,15 +4372,10 @@ void func_80011AE4(s32 index) { } #ifdef MIPS_TO_C -//generated by m2c commit 08138748803d75e73e4a94bb0c619a273754ee9c on Oct-10-2023 -? func_80011EC0(s32, u16); /* extern */ +//generated by m2c commit beb457dabfc7a01ec6540a5404a6a05097a13602 on Dec-17-2023 extern ? D_80162EB8; -extern ? D_801630E8; extern void *D_801632B0; -extern ? D_80163350; -extern ? D_801633F8; extern ? D_801634FC; -s16 gCurrentCourseId; /* unable to generate initializer */ void func_80011B14(s32 playerId, Player *player) { u16 sp2E; @@ -4422,12 +4384,10 @@ void func_80011B14(s32 playerId, Player *player) { s16 *temp_a3; s16 temp_t1; s32 temp_t3; - s32 temp_v1; u16 temp_a2; void *temp_t0; void *temp_t6; - temp_v1 = playerId * 2; temp_a3 = &D_801632B8[playerId]; temp_a2 = (u16) *temp_a3; temp_t0 = *(&D_80162EB8 + (gCurrentCourseId * 4)); @@ -4447,13 +4407,13 @@ void func_80011B14(s32 playerId, Player *player) { *temp_a3 = temp_a2 + 1; switch (temp_t3) { case 1: - func_80011EC0((s32) player->unk_07C >> 0x10, sp2E); + func_80011EC0(playerId, player, (s32) player->unk_07C >> 0x10, (s32) sp2E); return; case 2: - sp1C = temp_v1; + sp1C = playerId * 2; func_8002AA50(player); player->effects &= ~0x10; - *(&D_801630E8 + temp_v1) = 0; + D_801630E8[playerId] = 0; return; case 3: *(&D_801634FC + (playerId * 0x10)) = 0.0f; @@ -4465,25 +4425,25 @@ void func_80011B14(s32 playerId, Player *player) { *(&D_801634FC + (playerId * 0x10)) = 0.6f; return; case 6: - *(&D_80163350 + temp_v1) = 0; + D_80163350[playerId] = 0; return; case 7: - *(&D_80163350 + temp_v1) = 1; + D_80163350[playerId] = 1; return; case 8: - *(&D_80163350 + temp_v1) = 2; + D_80163350[playerId] = (s16) 2U; return; case 11: - *(&D_80163350 + temp_v1) = 3; + D_80163350[playerId] = 3; return; case 9: - *(&D_801633F8 + temp_v1) = 1; + D_801633F8[playerId] = 1; D_801631E0[playerId] = 0; temp_v0 = &gPlayers[playerId]; temp_v0->effects &= ~0x1000; return; case 10: - *(&D_801633F8 + temp_v1) = 0; + D_801633F8[playerId] = 0; break; } } else { @@ -7816,23 +7776,13 @@ void func_8001A588(u16 *arg0, Camera *camera, Player *arg2, s8 arg3, s32 arg4) { GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8001A588.s") #endif -#ifdef MIPS_TO_C -//generated by m2c commit 08138748803d75e73e4a94bb0c619a273754ee9c on Oct-10-2023 -extern ? D_801646D0; - void func_8001AAAC(s16 arg0, s16 arg1, s16 arg2) { - void *temp_v0; - - temp_v0 = (arg0 * 8) + &D_801646D0; - if (temp_v0->unk0 == 0) { - temp_v0->unk0 = 1; - temp_v0->unk2 = arg1; - temp_v0->unk4 = arg2; + if (D_801646D0[arg0].unk0 == 0) { + D_801646D0[arg0].unk0 = 1; + D_801646D0[arg0].unk2 = arg1; + D_801646D0[arg0].unk4 = arg2; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8001AAAC.s") -#endif void func_8001AB00(void) { s32 var_v1; @@ -8409,84 +8359,54 @@ void func_8001C05C(void) { D_80163438[3] = -355.253997803; } -#ifdef MIPS_TO_C -//generated by m2c commit 08138748803d75e73e4a94bb0c619a273754ee9c on Oct-11-2023 -extern ? D_80163418; -extern ? D_80163438; -extern s16 D_8016347C; -extern s16 D_8016347E; -extern s32 D_80163480; -extern s32 D_80163484; -extern u16 D_80163E2C; - void func_8001C14C(void) { - Player *temp_s0; f32 temp_f0; f32 temp_f2; - s32 temp_t3; - s32 temp_v0; s32 var_s1; - u16 temp_v1; + Player *temp_s0; if (D_8016347C == 1) { D_80163480 += 1; } - if ((D_8016347E == 1) && (D_80163E2C == 0) && (D_802874D8.unk1D >= 3)) { - temp_t3 = D_80163484 + 1; - D_80163484 = temp_t3; - if (temp_t3 >= 0xF) { + if ((D_8016347E == 1) && (gBombKarts[0].state == 0) && (D_802874D8.unk1D >= 3)) { + D_80163484++; + if (D_80163484 >= 0xF) { D_80163484 = 0; D_8016347E = 2; func_8009265C(); } } - var_s1 = 0; -loop_8: - if (var_s1 == 3) { - if (D_8016347C != 0) { - goto block_12; - } - return; - } -block_12: - temp_s0 = &gPlayerOne[var_s1]; - func_80009B60(var_s1); - temp_v1 = temp_s0->type; - temp_v0 = var_s1 * 4; - if (!(temp_v1 & 0x2000)) { - temp_f0 = *(&D_80163418 + temp_v0) - temp_s0->pos[0]; - temp_f2 = *(&D_80163438 + temp_v0) - temp_s0->pos[2]; - if ((f64) ((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) < 1.0) { - if (var_s1 != 3) { - if (D_8016347C == 0) { - temp_s0->type = temp_v1 | 0x2000; - } else { - temp_s0->type = temp_v1 & 0xDFFF; - } - if ((gPlayerOne->type & 0x2000) && (gPlayerTwo->type & 0x2000) && (gPlayerThree->type & 0x2000)) { - D_8016347C = 1; - D_80163480 = 0; - } - } else if (D_8016347E == 0) { - if (!(temp_s0->effects & 0x01000000)) { - temp_s0->type = temp_v1 | 0x2000; + for (var_s1 = 0; var_s1 < 4; var_s1++) { + if ((var_s1 == 3) && (D_8016347C == 0)) break; + + temp_s0 = &gPlayerOne[var_s1]; + func_80009B60(var_s1); + if (!(temp_s0->type & 0x2000)) { + temp_f0 = D_80163418[var_s1] - temp_s0->pos[0]; + temp_f2 = D_80163438[var_s1] - temp_s0->pos[2]; + if ((f64) ((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) < 1.0) { + if (var_s1 != 3) { + if (1) {} + // Why oh why is a ternary required here? Who does that? + (D_8016347C == 0) ? (temp_s0->type |= 0x2000) : (temp_s0->type &= ~0x2000); + if ((gPlayerOne->type & 0x2000) && (gPlayerTwo->type & 0x2000) && (gPlayerThree->type & 0x2000)) { + D_8016347C = 1; + D_80163480 = 0; + } + } else if (D_8016347E == 0) { + if (!(temp_s0->effects & 0x01000000)) { + temp_s0->type |= 0x2000; + } + D_8016347E = 1; + D_80163484 = 0; + } else if (!(temp_s0->effects & 0x01000000)) { + temp_s0->type |= 0x2000; } - D_8016347E = 1; - D_80163484 = 0; - } else if (!(temp_s0->effects & 0x01000000)) { - temp_s0->type = temp_v1 | 0x2000; } } + } - var_s1 += 1; - if (var_s1 == 4) { - return; - } - goto loop_8; } -#else -GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8001C14C.s") -#endif void func_8001C3C4(s32 arg0) { if (gCurrentCourseId == COURSE_AWARD_CEREMONY) { diff --git a/src/code_80005FD0.h b/src/code_80005FD0.h index 9bcb8fa1ca..bef73ccc47 100644 --- a/src/code_80005FD0.h +++ b/src/code_80005FD0.h @@ -50,7 +50,7 @@ typedef struct { extern D_801642D8_entry D_801642D8[]; typedef struct { - u16 unk0; + s16 unk0; u16 unk2; u16 unk4; u16 unk6; @@ -106,6 +106,7 @@ s16 func_8000D24C(f32, f32, f32, s32*); s16 func_8000D2B4(f32, f32, f32, s16, s32); s16 func_8000D33C(f32, f32, f32, s16, s32); f32 func_8000D3B8(s32); +void func_8000D438(s32, u16); s16 func_8000D6D0(Vec3f, s16*, f32, f32, s16, s16); s16 func_8000D940(Vec3f, s16*, f32, f32, s16); s16 func_8000DBAC(Vec3f, s16*, f32); @@ -347,6 +348,7 @@ extern s16 D_80164680[]; extern f32 D_80164688[]; extern s16 D_801646C0[]; extern s16 D_801646CC; +extern UnkStruct_46D0 D_801646D0[]; extern s16 D_801630FC; extern s16 D_801631C8; extern u16 D_801631E0[8];