mirror of https://github.com/n64decomp/mk64.git
More matches in code_80005FD0 (#502)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
parent
6b9f36bbb0
commit
b7b494f9d8
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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;
|
||||
s16 temp_v1;
|
||||
u16 thing;
|
||||
|
||||
temp_a3 = arg1 & 0xFFFF;
|
||||
temp_v1 = D_801645E0[temp_a3];
|
||||
sp28 = 6;
|
||||
sp1C = temp_a3 * 2;
|
||||
arg1 = temp_a3;
|
||||
sp26 = temp_v1;
|
||||
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 @@ loop_34:
|
|||
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;
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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) {
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
|
|
|||
Loading…
Reference in New Issue