mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-07-01 04:20:13 -04:00
8ab4557b39
* Split asm using autodecompiler * Placed libultra bss and linked more C
98 lines
4.6 KiB
ArmAsm
98 lines
4.6 KiB
ArmAsm
glabel func_80077F64
|
|
/* 078B64 80077F64 000470C0 */ sll $t6, $a0, 3
|
|
/* 078B68 80077F68 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 078B6C 80077F6C 01C47023 */ subu $t6, $t6, $a0
|
|
/* 078B70 80077F70 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
|
|
/* 078B74 80077F74 AFB00014 */ sw $s0, 0x14($sp)
|
|
/* 078B78 80077F78 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
|
|
/* 078B7C 80077F7C 000E7140 */ sll $t6, $t6, 5
|
|
/* 078B80 80077F80 01CF8021 */ addu $s0, $t6, $t7
|
|
/* 078B84 80077F84 860200AE */ lh $v0, 0xae($s0)
|
|
/* 078B88 80077F88 AFB10018 */ sw $s1, 0x18($sp)
|
|
/* 078B8C 80077F8C 00808825 */ move $s1, $a0
|
|
/* 078B90 80077F90 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 078B94 80077F94 10400048 */ beqz $v0, .L800780B8
|
|
/* 078B98 80077F98 00A03825 */ move $a3, $a1
|
|
/* 078B9C 80077F9C 24010001 */ li $at, 1
|
|
/* 078BA0 80077FA0 10410009 */ beq $v0, $at, .L80077FC8
|
|
/* 078BA4 80077FA4 24044000 */ li $a0, 16384
|
|
/* 078BA8 80077FA8 24010002 */ li $at, 2
|
|
/* 078BAC 80077FAC 1041002D */ beq $v0, $at, .L80078064
|
|
/* 078BB0 80077FB0 02202025 */ move $a0, $s1
|
|
/* 078BB4 80077FB4 24010003 */ li $at, 3
|
|
/* 078BB8 80077FB8 1041003D */ beq $v0, $at, .L800780B0
|
|
/* 078BBC 80077FBC 00000000 */ nop
|
|
/* 078BC0 80077FC0 1000003E */ b .L800780BC
|
|
/* 078BC4 80077FC4 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L80077FC8:
|
|
/* 078BC8 80077FC8 0C0ADF8D */ jal random_int
|
|
/* 078BCC 80077FCC AFA70024 */ sw $a3, 0x24($sp)
|
|
/* 078BD0 80077FD0 8FA70024 */ lw $a3, 0x24($sp)
|
|
/* 078BD4 80077FD4 02202025 */ move $a0, $s1
|
|
/* 078BD8 80077FD8 240500B4 */ li $a1, 180
|
|
/* 078BDC 80077FDC 84F80026 */ lh $t8, 0x26($a3)
|
|
/* 078BE0 80077FE0 24060014 */ li $a2, 20
|
|
/* 078BE4 80077FE4 0058C821 */ addu $t9, $v0, $t8
|
|
/* 078BE8 80077FE8 2728E000 */ addiu $t0, $t9, -0x2000
|
|
/* 078BEC 80077FEC 0C022EAD */ jal func_8008BAB4
|
|
/* 078BF0 80077FF0 A60800C0 */ sh $t0, 0xc0($s0)
|
|
/* 078BF4 80077FF4 0C0ADF8D */ jal random_int
|
|
/* 078BF8 80077FF8 24040064 */ li $a0, 100
|
|
/* 078BFC 80077FFC 44822000 */ mtc1 $v0, $f4
|
|
/* 078C00 80078000 44800000 */ mtc1 $zero, $f0
|
|
/* 078C04 80078004 04410006 */ bgez $v0, .L80078020
|
|
/* 078C08 80078008 468021A1 */ cvt.d.w $f6, $f4
|
|
/* 078C0C 8007800C 3C0141F0 */ li $at, 0x41F00000 # 30.000000
|
|
/* 078C10 80078010 44814800 */ mtc1 $at, $f9
|
|
/* 078C14 80078014 44804000 */ mtc1 $zero, $f8
|
|
/* 078C18 80078018 00000000 */ nop
|
|
/* 078C1C 8007801C 46283180 */ add.d $f6, $f6, $f8
|
|
.L80078020:
|
|
/* 078C20 80078020 3C01800F */ lui $at, %hi(D_800EEB40)
|
|
/* 078C24 80078024 D42AEB40 */ ldc1 $f10, %lo(D_800EEB40)($at)
|
|
/* 078C28 80078028 3C01BFE8 */ li $at, 0xBFE80000 # -1.812500
|
|
/* 078C2C 8007802C 44814800 */ mtc1 $at, $f9
|
|
/* 078C30 80078030 462A3402 */ mul.d $f16, $f6, $f10
|
|
/* 078C34 80078034 44804000 */ mtc1 $zero, $f8
|
|
/* 078C38 80078038 E6000028 */ swc1 $f0, 0x28($s0)
|
|
/* 078C3C 8007803C E600002C */ swc1 $f0, 0x2c($s0)
|
|
/* 078C40 80078040 02202025 */ move $a0, $s1
|
|
/* 078C44 80078044 462084A0 */ cvt.s.d $f18, $f16
|
|
/* 078C48 80078048 46009121 */ cvt.d.s $f4, $f18
|
|
/* 078C4C 8007804C 46244181 */ sub.d $f6, $f8, $f4
|
|
/* 078C50 80078050 462032A0 */ cvt.s.d $f10, $f6
|
|
/* 078C54 80078054 0C021BF5 */ jal func_80086FD4
|
|
/* 078C58 80078058 E60A003C */ swc1 $f10, 0x3c($s0)
|
|
/* 078C5C 8007805C 10000017 */ b .L800780BC
|
|
/* 078C60 80078060 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L80078064:
|
|
/* 078C64 80078064 960500C0 */ lhu $a1, 0xc0($s0)
|
|
/* 078C68 80078068 0C01DFAE */ jal func_80077EB8
|
|
/* 078C6C 8007806C 00E03025 */ move $a2, $a3
|
|
/* 078C70 80078070 0C021DF1 */ jal func_800877C4
|
|
/* 078C74 80078074 02202025 */ move $a0, $s1
|
|
/* 078C78 80078078 0C022FC6 */ jal func_8008BF18
|
|
/* 078C7C 8007807C 02202025 */ move $a0, $s1
|
|
/* 078C80 80078080 0C022FF0 */ jal func_8008BFC0
|
|
/* 078C84 80078084 02202025 */ move $a0, $s1
|
|
/* 078C88 80078088 44800000 */ mtc1 $zero, $f0
|
|
/* 078C8C 8007808C C6100008 */ lwc1 $f16, 8($s0)
|
|
/* 078C90 80078090 4600803E */ c.le.s $f16, $f0
|
|
/* 078C94 80078094 00000000 */ nop
|
|
/* 078C98 80078098 45020008 */ bc1fl .L800780BC
|
|
/* 078C9C 8007809C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 078CA0 800780A0 0C021BF5 */ jal func_80086FD4
|
|
/* 078CA4 800780A4 02202025 */ move $a0, $s1
|
|
/* 078CA8 800780A8 10000004 */ b .L800780BC
|
|
/* 078CAC 800780AC 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L800780B0:
|
|
/* 078CB0 800780B0 0C021BD8 */ jal func_80086F60
|
|
/* 078CB4 800780B4 02202025 */ move $a0, $s1
|
|
.L800780B8:
|
|
/* 078CB8 800780B8 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L800780BC:
|
|
/* 078CBC 800780BC 8FB00014 */ lw $s0, 0x14($sp)
|
|
/* 078CC0 800780C0 8FB10018 */ lw $s1, 0x18($sp)
|
|
/* 078CC4 800780C4 03E00008 */ jr $ra
|
|
/* 078CC8 800780C8 27BD0020 */ addiu $sp, $sp, 0x20
|