mirror of
https://github.com/n64decomp/mk64
synced 2026-06-28 09:50:46 -04:00
7df6d01ef3
* Add player labels, rename function * Relabel controller vars to improve readability
155 lines
7.8 KiB
ArmAsm
155 lines
7.8 KiB
ArmAsm
glabel func_80083FD0
|
|
/* 084BD0 80083FD0 000670C0 */ sll $t6, $a2, 3
|
|
/* 084BD4 80083FD4 01C67023 */ subu $t6, $t6, $a2
|
|
/* 084BD8 80083FD8 000E7100 */ sll $t6, $t6, 4
|
|
/* 084BDC 80083FDC 01C67023 */ subu $t6, $t6, $a2
|
|
/* 084BE0 80083FE0 3C0F800E */ lui $t7, %hi(gPlayerOne) # $t7, 0x800e
|
|
/* 084BE4 80083FE4 8DEFC4DC */ lw $t7, %lo(gPlayerOne)($t7)
|
|
/* 084BE8 80083FE8 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 084BEC 80083FEC 000E7080 */ sll $t6, $t6, 2
|
|
/* 084BF0 80083FF0 0004C8C0 */ sll $t9, $a0, 3
|
|
/* 084BF4 80083FF4 01C67023 */ subu $t6, $t6, $a2
|
|
/* 084BF8 80083FF8 0324C823 */ subu $t9, $t9, $a0
|
|
/* 084BFC 80083FFC 3C088016 */ lui $t0, %hi(D_80165C18) # $t0, 0x8016
|
|
/* 084C00 80084000 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 084C04 80084004 000E70C0 */ sll $t6, $t6, 3
|
|
/* 084C08 80084008 25085C18 */ addiu $t0, %lo(D_80165C18) # addiu $t0, $t0, 0x5c18
|
|
/* 084C0C 8008400C 0019C940 */ sll $t9, $t9, 5
|
|
/* 084C10 80084010 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 084C14 80084014 AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 084C18 80084018 03288021 */ addu $s0, $t9, $t0
|
|
/* 084C1C 8008401C 01CFC021 */ addu $t8, $t6, $t7
|
|
/* 084C20 80084020 AFB80020 */ sw $t8, 0x20($sp)
|
|
/* 084C24 80084024 A6060092 */ sh $a2, 0x92($s0)
|
|
/* 084C28 80084028 0C01C8E9 */ jal func_800723A4
|
|
/* 084C2C 8008402C 00002825 */ move $a1, $zero
|
|
/* 084C30 80084030 3C020600 */ lui $v0, %hi(D_060068E8) # $v0, 0x600
|
|
/* 084C34 80084034 244268E8 */ addiu $v0, %lo(D_060068E8) # addiu $v0, $v0, 0x68e8
|
|
/* 084C38 80084038 AE020060 */ sw $v0, 0x60($s0)
|
|
/* 084C3C 8008403C AE020068 */ sw $v0, 0x68($s0)
|
|
/* 084C40 80084040 0C0ADF8D */ jal random_int
|
|
/* 084C44 80084044 240401F4 */ li $a0, 500
|
|
/* 084C48 80084048 44822000 */ mtc1 $v0, $f4
|
|
/* 084C4C 8008404C 04410005 */ bgez $v0, .L80084064
|
|
/* 084C50 80084050 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 084C54 80084054 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
|
/* 084C58 80084058 44814000 */ mtc1 $at, $f8
|
|
/* 084C5C 8008405C 00000000 */ nop
|
|
/* 084C60 80084060 46083180 */ add.s $f6, $f6, $f8
|
|
.L80084064:
|
|
/* 084C64 80084064 3C01800F */ lui $at, %hi(D_800EF2A8)
|
|
/* 084C68 80084068 D430F2A8 */ ldc1 $f16, %lo(D_800EF2A8)($at)
|
|
/* 084C6C 8008406C 460032A1 */ cvt.d.s $f10, $f6
|
|
/* 084C70 80084070 3C01800F */ lui $at, %hi(D_800EF2B0)
|
|
/* 084C74 80084074 46305482 */ mul.d $f18, $f10, $f16
|
|
/* 084C78 80084078 D424F2B0 */ ldc1 $f4, %lo(D_800EF2B0)($at)
|
|
/* 084C7C 8008407C 24040032 */ li $a0, 50
|
|
/* 084C80 80084080 46249200 */ add.d $f8, $f18, $f4
|
|
/* 084C84 80084084 462041A0 */ cvt.s.d $f6, $f8
|
|
/* 084C88 80084088 0C0ADF8D */ jal random_int
|
|
/* 084C8C 8008408C E6060000 */ swc1 $f6, ($s0)
|
|
/* 084C90 80084090 44825000 */ mtc1 $v0, $f10
|
|
/* 084C94 80084094 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
|
/* 084C98 80084098 04410004 */ bgez $v0, .L800840AC
|
|
/* 084C9C 8008409C 46805420 */ cvt.s.w $f16, $f10
|
|
/* 084CA0 800840A0 44819000 */ mtc1 $at, $f18
|
|
/* 084CA4 800840A4 00000000 */ nop
|
|
/* 084CA8 800840A8 46128400 */ add.s $f16, $f16, $f18
|
|
.L800840AC:
|
|
/* 084CAC 800840AC 3C01800F */ lui $at, %hi(D_800EF2B8)
|
|
/* 084CB0 800840B0 D428F2B8 */ ldc1 $f8, %lo(D_800EF2B8)($at)
|
|
/* 084CB4 800840B4 46008121 */ cvt.d.s $f4, $f16
|
|
/* 084CB8 800840B8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
|
/* 084CBC 800840BC 46282182 */ mul.d $f6, $f4, $f8
|
|
/* 084CC0 800840C0 44815800 */ mtc1 $at, $f11
|
|
/* 084CC4 800840C4 44805000 */ mtc1 $zero, $f10
|
|
/* 084CC8 800840C8 2404000A */ li $a0, 10
|
|
/* 084CCC 800840CC 462A3480 */ add.d $f18, $f6, $f10
|
|
/* 084CD0 800840D0 46209420 */ cvt.s.d $f16, $f18
|
|
/* 084CD4 800840D4 0C0ADF8D */ jal random_int
|
|
/* 084CD8 800840D8 E610003C */ swc1 $f16, 0x3c($s0)
|
|
/* 084CDC 800840DC 44822000 */ mtc1 $v0, $f4
|
|
/* 084CE0 800840E0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
|
/* 084CE4 800840E4 04410004 */ bgez $v0, .L800840F8
|
|
/* 084CE8 800840E8 46802220 */ cvt.s.w $f8, $f4
|
|
/* 084CEC 800840EC 44813000 */ mtc1 $at, $f6
|
|
/* 084CF0 800840F0 00000000 */ nop
|
|
/* 084CF4 800840F4 46064200 */ add.s $f8, $f8, $f6
|
|
.L800840F8:
|
|
/* 084CF8 800840F8 3C01800F */ lui $at, %hi(D_800EF2C0)
|
|
/* 084CFC 800840FC D432F2C0 */ ldc1 $f18, %lo(D_800EF2C0)($at)
|
|
/* 084D00 80084100 460042A1 */ cvt.d.s $f10, $f8
|
|
/* 084D04 80084104 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
|
/* 084D08 80084108 46325402 */ mul.d $f16, $f10, $f18
|
|
/* 084D0C 8008410C 44812800 */ mtc1 $at, $f5
|
|
/* 084D10 80084110 44802000 */ mtc1 $zero, $f4
|
|
/* 084D14 80084114 3C098016 */ lui $t1, %hi(D_801657A2) # $t1, 0x8016
|
|
/* 084D18 80084118 8FAA002C */ lw $t2, 0x2c($sp)
|
|
/* 084D1C 8008411C 24040014 */ li $a0, 20
|
|
/* 084D20 80084120 46248180 */ add.d $f6, $f16, $f4
|
|
/* 084D24 80084124 46203220 */ cvt.s.d $f8, $f6
|
|
/* 084D28 80084128 E6080034 */ swc1 $f8, 0x34($s0)
|
|
/* 084D2C 8008412C 952957A2 */ lhu $t1, %lo(D_801657A2)($t1)
|
|
/* 084D30 80084130 012A0019 */ multu $t1, $t2
|
|
/* 084D34 80084134 00005812 */ mflo $t3
|
|
/* 084D38 80084138 A60B00C0 */ sh $t3, 0xc0($s0)
|
|
/* 084D3C 8008413C 0C0ADF8D */ jal random_int
|
|
/* 084D40 80084140 00000000 */ nop
|
|
/* 084D44 80084144 44825000 */ mtc1 $v0, $f10
|
|
/* 084D48 80084148 8FAC0020 */ lw $t4, 0x20($sp)
|
|
/* 084D4C 8008414C 04410005 */ bgez $v0, .L80084164
|
|
/* 084D50 80084150 468054A0 */ cvt.s.w $f18, $f10
|
|
/* 084D54 80084154 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
|
/* 084D58 80084158 44818000 */ mtc1 $at, $f16
|
|
/* 084D5C 8008415C 00000000 */ nop
|
|
/* 084D60 80084160 46109480 */ add.s $f18, $f18, $f16
|
|
.L80084164:
|
|
/* 084D64 80084164 C5840014 */ lwc1 $f4, 0x14($t4)
|
|
/* 084D68 80084168 3C014120 */ li $at, 0x41200000 # 10.000000
|
|
/* 084D6C 8008416C 44814000 */ mtc1 $at, $f8
|
|
/* 084D70 80084170 46049180 */ add.s $f6, $f18, $f4
|
|
/* 084D74 80084174 2404000A */ li $a0, 10
|
|
/* 084D78 80084178 46083281 */ sub.s $f10, $f6, $f8
|
|
/* 084D7C 8008417C 0C0ADF8D */ jal random_int
|
|
/* 084D80 80084180 E60A0010 */ swc1 $f10, 0x10($s0)
|
|
/* 084D84 80084184 8FAD0020 */ lw $t5, 0x20($sp)
|
|
/* 084D88 80084188 3C014024 */ li $at, 0x40240000 # 2.562500
|
|
/* 084D8C 8008418C 44812800 */ mtc1 $at, $f5
|
|
/* 084D90 80084190 C5B00018 */ lwc1 $f16, 0x18($t5)
|
|
/* 084D94 80084194 44802000 */ mtc1 $zero, $f4
|
|
/* 084D98 80084198 44824000 */ mtc1 $v0, $f8
|
|
/* 084D9C 8008419C 460084A1 */ cvt.d.s $f18, $f16
|
|
/* 084DA0 800841A0 3C0141F0 */ li $at, 0x41F00000 # 30.000000
|
|
/* 084DA4 800841A4 46249181 */ sub.d $f6, $f18, $f4
|
|
/* 084DA8 800841A8 04410005 */ bgez $v0, .L800841C0
|
|
/* 084DAC 800841AC 468042A1 */ cvt.d.w $f10, $f8
|
|
/* 084DB0 800841B0 44818800 */ mtc1 $at, $f17
|
|
/* 084DB4 800841B4 44808000 */ mtc1 $zero, $f16
|
|
/* 084DB8 800841B8 00000000 */ nop
|
|
/* 084DBC 800841BC 46305280 */ add.d $f10, $f10, $f16
|
|
.L800841C0:
|
|
/* 084DC0 800841C0 46265480 */ add.d $f18, $f10, $f6
|
|
/* 084DC4 800841C4 24040014 */ li $a0, 20
|
|
/* 084DC8 800841C8 46209120 */ cvt.s.d $f4, $f18
|
|
/* 084DCC 800841CC 0C0ADF8D */ jal random_int
|
|
/* 084DD0 800841D0 E6040014 */ swc1 $f4, 0x14($s0)
|
|
/* 084DD4 800841D4 44824000 */ mtc1 $v0, $f8
|
|
/* 084DD8 800841D8 8FAE0020 */ lw $t6, 0x20($sp)
|
|
/* 084DDC 800841DC 04410005 */ bgez $v0, .L800841F4
|
|
/* 084DE0 800841E0 46804420 */ cvt.s.w $f16, $f8
|
|
/* 084DE4 800841E4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
|
/* 084DE8 800841E8 44815000 */ mtc1 $at, $f10
|
|
/* 084DEC 800841EC 00000000 */ nop
|
|
/* 084DF0 800841F0 460A8400 */ add.s $f16, $f16, $f10
|
|
.L800841F4:
|
|
/* 084DF4 800841F4 C5C6001C */ lwc1 $f6, 0x1c($t6)
|
|
/* 084DF8 800841F8 3C014120 */ li $at, 0x41200000 # 10.000000
|
|
/* 084DFC 800841FC 44812000 */ mtc1 $at, $f4
|
|
/* 084E00 80084200 46068480 */ add.s $f18, $f16, $f6
|
|
/* 084E04 80084204 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 084E08 80084208 46049201 */ sub.s $f8, $f18, $f4
|
|
/* 084E0C 8008420C E6080018 */ swc1 $f8, 0x18($s0)
|
|
/* 084E10 80084210 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 084E14 80084214 03E00008 */ jr $ra
|
|
/* 084E18 80084218 27BD0028 */ addiu $sp, $sp, 0x28
|