mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-08-18 22:07:43 -04:00
f6a11c734a
Added some comments for the possible values of Mode and CC selection Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
223 lines
11 KiB
ArmAsm
223 lines
11 KiB
ArmAsm
glabel func_8007D360
|
|
/* 07DF60 8007D360 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 07DF64 8007D364 24010001 */ li $at, 1
|
|
/* 07DF68 8007D368 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 07DF6C 8007D36C AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 07DF70 8007D370 AFA40020 */ sw $a0, 0x20($sp)
|
|
/* 07DF74 8007D374 14A10057 */ bne $a1, $at, .L8007D4D4
|
|
/* 07DF78 8007D378 AFA50024 */ sw $a1, 0x24($sp)
|
|
/* 07DF7C 8007D37C 0C0ADF8D */ jal random_int
|
|
/* 07DF80 8007D380 2404001E */ li $a0, 30
|
|
/* 07DF84 8007D384 8FAF0020 */ lw $t7, 0x20($sp)
|
|
/* 07DF88 8007D388 44823000 */ mtc1 $v0, $f6
|
|
/* 07DF8C 8007D38C 3C198016 */ lui $t9, %hi(D_80165C18) # $t9, 0x8016
|
|
/* 07DF90 8007D390 000FC0C0 */ sll $t8, $t7, 3
|
|
/* 07DF94 8007D394 030FC023 */ subu $t8, $t8, $t7
|
|
/* 07DF98 8007D398 0018C140 */ sll $t8, $t8, 5
|
|
/* 07DF9C 8007D39C 27395C18 */ addiu $t9, %lo(D_80165C18) # addiu $t9, $t9, 0x5c18
|
|
/* 07DFA0 8007D3A0 3C01800F */ lui $at, %hi(D_800EEEE8)
|
|
/* 07DFA4 8007D3A4 D424EEE8 */ ldc1 $f4, %lo(D_800EEEE8)($at)
|
|
/* 07DFA8 8007D3A8 03198021 */ addu $s0, $t8, $t9
|
|
/* 07DFAC 8007D3AC 04410006 */ bgez $v0, .L8007D3C8
|
|
/* 07DFB0 8007D3B0 46803221 */ cvt.d.w $f8, $f6
|
|
/* 07DFB4 8007D3B4 3C0141F0 */ li $at, 0x41F00000 # 30.000000
|
|
/* 07DFB8 8007D3B8 44815800 */ mtc1 $at, $f11
|
|
/* 07DFBC 8007D3BC 44805000 */ mtc1 $zero, $f10
|
|
/* 07DFC0 8007D3C0 00000000 */ nop
|
|
/* 07DFC4 8007D3C4 462A4200 */ add.d $f8, $f8, $f10
|
|
.L8007D3C8:
|
|
/* 07DFC8 8007D3C8 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019
|
|
/* 07DFCC 8007D3CC C432D01C */ lwc1 $f18, %lo(D_8018D01C)($at)
|
|
/* 07DFD0 8007D3D0 46282401 */ sub.d $f16, $f4, $f8
|
|
/* 07DFD4 8007D3D4 24040019 */ li $a0, 25
|
|
/* 07DFD8 8007D3D8 460091A1 */ cvt.d.s $f6, $f18
|
|
/* 07DFDC 8007D3DC 46268282 */ mul.d $f10, $f16, $f6
|
|
/* 07DFE0 8007D3E0 46205120 */ cvt.s.d $f4, $f10
|
|
/* 07DFE4 8007D3E4 0C0ADF8D */ jal random_int
|
|
/* 07DFE8 8007D3E8 E6040010 */ swc1 $f4, 0x10($s0)
|
|
/* 07DFEC 8007D3EC 44824000 */ mtc1 $v0, $f8
|
|
/* 07DFF0 8007D3F0 44803000 */ mtc1 $zero, $f6
|
|
/* 07DFF4 8007D3F4 04410006 */ bgez $v0, .L8007D410
|
|
/* 07DFF8 8007D3F8 468044A1 */ cvt.d.w $f18, $f8
|
|
/* 07DFFC 8007D3FC 3C0141F0 */ li $at, 0x41F00000 # 30.000000
|
|
/* 07E000 8007D400 44818800 */ mtc1 $at, $f17
|
|
/* 07E004 8007D404 44808000 */ mtc1 $zero, $f16
|
|
/* 07E008 8007D408 00000000 */ nop
|
|
/* 07E00C 8007D40C 46309480 */ add.d $f18, $f18, $f16
|
|
.L8007D410:
|
|
/* 07E010 8007D410 3C014039 */ li $at, 0x40390000 # 2.890625
|
|
/* 07E014 8007D414 44813800 */ mtc1 $at, $f7
|
|
/* 07E018 8007D418 2404001E */ li $a0, 30
|
|
/* 07E01C 8007D41C 46269280 */ add.d $f10, $f18, $f6
|
|
/* 07E020 8007D420 46205120 */ cvt.s.d $f4, $f10
|
|
/* 07E024 8007D424 0C0ADF8D */ jal random_int
|
|
/* 07E028 8007D428 E6040014 */ swc1 $f4, 0x14($s0)
|
|
/* 07E02C 8007D42C 44824000 */ mtc1 $v0, $f8
|
|
/* 07E030 8007D430 3C0141F0 */ li $at, 0x41F00000 # 30.000000
|
|
/* 07E034 8007D434 04410005 */ bgez $v0, .L8007D44C
|
|
/* 07E038 8007D438 46804421 */ cvt.d.w $f16, $f8
|
|
/* 07E03C 8007D43C 44819800 */ mtc1 $at, $f19
|
|
/* 07E040 8007D440 44809000 */ mtc1 $zero, $f18
|
|
/* 07E044 8007D444 00000000 */ nop
|
|
/* 07E048 8007D448 46328400 */ add.d $f16, $f16, $f18
|
|
.L8007D44C:
|
|
/* 07E04C 8007D44C 3C01800F */ lui $at, %hi(D_800EEEF0)
|
|
/* 07E050 8007D450 D426EEF0 */ ldc1 $f6, %lo(D_800EEEF0)($at)
|
|
/* 07E054 8007D454 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019
|
|
/* 07E058 8007D458 24040096 */ li $a0, 150
|
|
/* 07E05C 8007D45C 46268280 */ add.d $f10, $f16, $f6
|
|
/* 07E060 8007D460 46205120 */ cvt.s.d $f4, $f10
|
|
/* 07E064 8007D464 E6040018 */ swc1 $f4, 0x18($s0)
|
|
/* 07E068 8007D468 C428D01C */ lwc1 $f8, %lo(D_8018D01C)($at)
|
|
/* 07E06C 8007D46C 3C01800F */ lui $at, %hi(D_800EEEF8)
|
|
/* 07E070 8007D470 D430EEF8 */ ldc1 $f16, %lo(D_800EEEF8)($at)
|
|
/* 07E074 8007D474 460044A1 */ cvt.d.s $f18, $f8
|
|
/* 07E078 8007D478 44802000 */ mtc1 $zero, $f4
|
|
/* 07E07C 8007D47C 46309182 */ mul.d $f6, $f18, $f16
|
|
/* 07E080 8007D480 E6040020 */ swc1 $f4, 0x20($s0)
|
|
/* 07E084 8007D484 462032A0 */ cvt.s.d $f10, $f6
|
|
/* 07E088 8007D488 0C0ADF8D */ jal random_int
|
|
/* 07E08C 8007D48C E60A001C */ swc1 $f10, 0x1c($s0)
|
|
/* 07E090 8007D490 44829000 */ mtc1 $v0, $f18
|
|
/* 07E094 8007D494 3C01800F */ lui $at, %hi(D_800EEF00)
|
|
/* 07E098 8007D498 D428EF00 */ ldc1 $f8, %lo(D_800EEF00)($at)
|
|
/* 07E09C 8007D49C 04410006 */ bgez $v0, .L8007D4B8
|
|
/* 07E0A0 8007D4A0 46809421 */ cvt.d.w $f16, $f18
|
|
/* 07E0A4 8007D4A4 3C0141F0 */ li $at, 0x41F00000 # 30.000000
|
|
/* 07E0A8 8007D4A8 44813800 */ mtc1 $at, $f7
|
|
/* 07E0AC 8007D4AC 44803000 */ mtc1 $zero, $f6
|
|
/* 07E0B0 8007D4B0 00000000 */ nop
|
|
/* 07E0B4 8007D4B4 46268400 */ add.d $f16, $f16, $f6
|
|
.L8007D4B8:
|
|
/* 07E0B8 8007D4B8 46304281 */ sub.d $f10, $f8, $f16
|
|
/* 07E0BC 8007D4BC 3408DC00 */ li $t0, 56320
|
|
/* 07E0C0 8007D4C0 24090800 */ li $t1, 2048
|
|
/* 07E0C4 8007D4C4 A60800BE */ sh $t0, 0xbe($s0)
|
|
/* 07E0C8 8007D4C8 46205120 */ cvt.s.d $f4, $f10
|
|
/* 07E0CC 8007D4CC A60900C6 */ sh $t1, 0xc6($s0)
|
|
/* 07E0D0 8007D4D0 E6040024 */ swc1 $f4, 0x24($s0)
|
|
.L8007D4D4:
|
|
/* 07E0D4 8007D4D4 8FAA0020 */ lw $t2, 0x20($sp)
|
|
/* 07E0D8 8007D4D8 8FAD0024 */ lw $t5, 0x24($sp)
|
|
/* 07E0DC 8007D4DC 3C0C8016 */ lui $t4, %hi(D_80165C18) # $t4, 0x8016
|
|
/* 07E0E0 8007D4E0 000A58C0 */ sll $t3, $t2, 3
|
|
/* 07E0E4 8007D4E4 016A5823 */ subu $t3, $t3, $t2
|
|
/* 07E0E8 8007D4E8 000B5940 */ sll $t3, $t3, 5
|
|
/* 07E0EC 8007D4EC 258C5C18 */ addiu $t4, %lo(D_80165C18) # addiu $t4, $t4, 0x5c18
|
|
/* 07E0F0 8007D4F0 24010002 */ li $at, 2
|
|
/* 07E0F4 8007D4F4 15A10032 */ bne $t5, $at, .L8007D5C0
|
|
/* 07E0F8 8007D4F8 016C8021 */ addu $s0, $t3, $t4
|
|
/* 07E0FC 8007D4FC 0C0ADF8D */ jal random_int
|
|
/* 07E100 8007D500 2404001E */ li $a0, 30
|
|
/* 07E104 8007D504 240EFAA5 */ li $t6, -1371
|
|
/* 07E108 8007D508 01C27823 */ subu $t7, $t6, $v0
|
|
/* 07E10C 8007D50C 448F9000 */ mtc1 $t7, $f18
|
|
/* 07E110 8007D510 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019
|
|
/* 07E114 8007D514 C428D01C */ lwc1 $f8, %lo(D_8018D01C)($at)
|
|
/* 07E118 8007D518 468091A0 */ cvt.s.w $f6, $f18
|
|
/* 07E11C 8007D51C 24040019 */ li $a0, 25
|
|
/* 07E120 8007D520 46083402 */ mul.s $f16, $f6, $f8
|
|
/* 07E124 8007D524 0C0ADF8D */ jal random_int
|
|
/* 07E128 8007D528 E6100010 */ swc1 $f16, 0x10($s0)
|
|
/* 07E12C 8007D52C 2458000F */ addiu $t8, $v0, 0xf
|
|
/* 07E130 8007D530 44985000 */ mtc1 $t8, $f10
|
|
/* 07E134 8007D534 2404001E */ li $a0, 30
|
|
/* 07E138 8007D538 46805120 */ cvt.s.w $f4, $f10
|
|
/* 07E13C 8007D53C 0C0ADF8D */ jal random_int
|
|
/* 07E140 8007D540 E6040014 */ swc1 $f4, 0x14($s0)
|
|
/* 07E144 8007D544 2459FF18 */ addiu $t9, $v0, -0xe8
|
|
/* 07E148 8007D548 44999000 */ mtc1 $t9, $f18
|
|
/* 07E14C 8007D54C 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019
|
|
/* 07E150 8007D550 240400C8 */ li $a0, 200
|
|
/* 07E154 8007D554 468091A0 */ cvt.s.w $f6, $f18
|
|
/* 07E158 8007D558 E6060018 */ swc1 $f6, 0x18($s0)
|
|
/* 07E15C 8007D55C C428D01C */ lwc1 $f8, %lo(D_8018D01C)($at)
|
|
/* 07E160 8007D560 3C01800F */ lui $at, %hi(D_800EEF08)
|
|
/* 07E164 8007D564 D42AEF08 */ ldc1 $f10, %lo(D_800EEF08)($at)
|
|
/* 07E168 8007D568 46004421 */ cvt.d.s $f16, $f8
|
|
/* 07E16C 8007D56C 44803000 */ mtc1 $zero, $f6
|
|
/* 07E170 8007D570 462A8102 */ mul.d $f4, $f16, $f10
|
|
/* 07E174 8007D574 E6060020 */ swc1 $f6, 0x20($s0)
|
|
/* 07E178 8007D578 462024A0 */ cvt.s.d $f18, $f4
|
|
/* 07E17C 8007D57C 0C0ADF8D */ jal random_int
|
|
/* 07E180 8007D580 E612001C */ swc1 $f18, 0x1c($s0)
|
|
/* 07E184 8007D584 44824000 */ mtc1 $v0, $f8
|
|
/* 07E188 8007D588 3C0141F0 */ li $at, 0x41F00000 # 30.000000
|
|
/* 07E18C 8007D58C 04410005 */ bgez $v0, .L8007D5A4
|
|
/* 07E190 8007D590 46804421 */ cvt.d.w $f16, $f8
|
|
/* 07E194 8007D594 44815800 */ mtc1 $at, $f11
|
|
/* 07E198 8007D598 44805000 */ mtc1 $zero, $f10
|
|
/* 07E19C 8007D59C 00000000 */ nop
|
|
/* 07E1A0 8007D5A0 462A8400 */ add.d $f16, $f16, $f10
|
|
.L8007D5A4:
|
|
/* 07E1A4 8007D5A4 3C01800F */ lui $at, %hi(D_800EEF10)
|
|
/* 07E1A8 8007D5A8 D424EF10 */ ldc1 $f4, %lo(D_800EEF10)($at)
|
|
/* 07E1AC 8007D5AC A60000BE */ sh $zero, 0xbe($s0)
|
|
/* 07E1B0 8007D5B0 A60000C6 */ sh $zero, 0xc6($s0)
|
|
/* 07E1B4 8007D5B4 46248480 */ add.d $f18, $f16, $f4
|
|
/* 07E1B8 8007D5B8 462091A0 */ cvt.s.d $f6, $f18
|
|
/* 07E1BC 8007D5BC E6060024 */ swc1 $f6, 0x24($s0)
|
|
.L8007D5C0:
|
|
/* 07E1C0 8007D5C0 C60C0010 */ lwc1 $f12, 0x10($s0)
|
|
/* 07E1C4 8007D5C4 C60E001C */ lwc1 $f14, 0x1c($s0)
|
|
/* 07E1C8 8007D5C8 8E060018 */ lw $a2, 0x18($s0)
|
|
/* 07E1CC 8007D5CC 0C0105DC */ jal func_80041770
|
|
/* 07E1D0 8007D5D0 8E070024 */ lw $a3, 0x24($s0)
|
|
/* 07E1D4 8007D5D4 A60200C0 */ sh $v0, 0xc0($s0)
|
|
/* 07E1D8 8007D5D8 A60000C2 */ sh $zero, 0xc2($s0)
|
|
/* 07E1DC 8007D5DC 8FA40020 */ lw $a0, 0x20($sp)
|
|
/* 07E1E0 8007D5E0 24050000 */ li $a1, 0
|
|
/* 07E1E4 8007D5E4 24060000 */ li $a2, 0
|
|
/* 07E1E8 8007D5E8 0C022E03 */ jal func_8008B80C
|
|
/* 07E1EC 8007D5EC 24070000 */ li $a3, 0
|
|
/* 07E1F0 8007D5F0 A60000B0 */ sh $zero, 0xb0($s0)
|
|
/* 07E1F4 8007D5F4 3C08800E */ lui $t0, %hi(gCCSelection) # $t0, 0x800e
|
|
/* 07E1F8 8007D5F8 8D08C548 */ lw $t0, %lo(gCCSelection)($t0)
|
|
/* 07E1FC 8007D5FC 29010002 */ slti $at, $t0, 2
|
|
/* 07E200 8007D600 10200013 */ beqz $at, .L8007D650
|
|
/* 07E204 8007D604 00000000 */ nop
|
|
/* 07E208 8007D608 0C0ADF8D */ jal random_int
|
|
/* 07E20C 8007D60C 24040004 */ li $a0, 4
|
|
/* 07E210 8007D610 44824000 */ mtc1 $v0, $f8
|
|
/* 07E214 8007D614 44802000 */ mtc1 $zero, $f4
|
|
/* 07E218 8007D618 04410006 */ bgez $v0, .L8007D634
|
|
/* 07E21C 8007D61C 468042A1 */ cvt.d.w $f10, $f8
|
|
/* 07E220 8007D620 3C0141F0 */ li $at, 0x41F00000 # 30.000000
|
|
/* 07E224 8007D624 44818800 */ mtc1 $at, $f17
|
|
/* 07E228 8007D628 44808000 */ mtc1 $zero, $f16
|
|
/* 07E22C 8007D62C 00000000 */ nop
|
|
/* 07E230 8007D630 46305280 */ add.d $f10, $f10, $f16
|
|
.L8007D634:
|
|
/* 07E234 8007D634 3C014010 */ li $at, 0x40100000 # 2.250000
|
|
/* 07E238 8007D638 44812800 */ mtc1 $at, $f5
|
|
/* 07E23C 8007D63C 00000000 */ nop
|
|
/* 07E240 8007D640 46245480 */ add.d $f18, $f10, $f4
|
|
/* 07E244 8007D644 462091A0 */ cvt.s.d $f6, $f18
|
|
/* 07E248 8007D648 10000012 */ b .L8007D694
|
|
/* 07E24C 8007D64C E6060034 */ swc1 $f6, 0x34($s0)
|
|
.L8007D650:
|
|
/* 07E250 8007D650 0C0ADF8D */ jal random_int
|
|
/* 07E254 8007D654 24040004 */ li $a0, 4
|
|
/* 07E258 8007D658 44824000 */ mtc1 $v0, $f8
|
|
/* 07E25C 8007D65C 44802000 */ mtc1 $zero, $f4
|
|
/* 07E260 8007D660 04410006 */ bgez $v0, .L8007D67C
|
|
/* 07E264 8007D664 46804421 */ cvt.d.w $f16, $f8
|
|
/* 07E268 8007D668 3C0141F0 */ li $at, 0x41F00000 # 30.000000
|
|
/* 07E26C 8007D66C 44815800 */ mtc1 $at, $f11
|
|
/* 07E270 8007D670 44805000 */ mtc1 $zero, $f10
|
|
/* 07E274 8007D674 00000000 */ nop
|
|
/* 07E278 8007D678 462A8400 */ add.d $f16, $f16, $f10
|
|
.L8007D67C:
|
|
/* 07E27C 8007D67C 3C014014 */ li $at, 0x40140000 # 2.312500
|
|
/* 07E280 8007D680 44812800 */ mtc1 $at, $f5
|
|
/* 07E284 8007D684 00000000 */ nop
|
|
/* 07E288 8007D688 46248480 */ add.d $f18, $f16, $f4
|
|
/* 07E28C 8007D68C 462091A0 */ cvt.s.d $f6, $f18
|
|
/* 07E290 8007D690 E6060034 */ swc1 $f6, 0x34($s0)
|
|
.L8007D694:
|
|
/* 07E294 8007D694 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 07E298 8007D698 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 07E29C 8007D69C 27BD0020 */ addiu $sp, $sp, 0x20
|
|
/* 07E2A0 8007D6A0 03E00008 */ jr $ra
|
|
/* 07E2A4 8007D6A4 00000000 */ nop
|