mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
90 lines
4.5 KiB
ArmAsm
90 lines
4.5 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_E0042234
|
|
/* 3549D4 E0042234 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 3549D8 E0042238 AFBF0010 */ sw $ra, 0x10($sp)
|
|
/* 3549DC E004223C 8C83000C */ lw $v1, 0xc($a0)
|
|
/* 3549E0 E0042240 8C620030 */ lw $v0, 0x30($v1)
|
|
/* 3549E4 E0042244 2442FFFF */ addiu $v0, $v0, -1
|
|
/* 3549E8 E0042248 AC620030 */ sw $v0, 0x30($v1)
|
|
/* 3549EC E004224C 8C620034 */ lw $v0, 0x34($v1)
|
|
/* 3549F0 E0042250 8C650030 */ lw $a1, 0x30($v1)
|
|
/* 3549F4 E0042254 24420001 */ addiu $v0, $v0, 1
|
|
/* 3549F8 E0042258 04A10005 */ bgez $a1, .LE0042270
|
|
/* 3549FC E004225C AC620034 */ sw $v0, 0x34($v1)
|
|
/* 354A00 E0042260 0C080128 */ jal func_E02004A0
|
|
/* 354A04 E0042264 00000000 */ nop
|
|
/* 354A08 E0042268 080108DA */ j .LE0042368
|
|
/* 354A0C E004226C 00000000 */ nop
|
|
.LE0042270:
|
|
/* 354A10 E0042270 28A6000A */ slti $a2, $a1, 0xa
|
|
/* 354A14 E0042274 10C00009 */ beqz $a2, .LE004229C
|
|
/* 354A18 E0042278 00000000 */ nop
|
|
/* 354A1C E004227C 3C01E004 */ lui $at, %hi(D_E00427B0)
|
|
/* 354A20 E0042280 D42227B0 */ ldc1 $f2, %lo(D_E00427B0)($at)
|
|
/* 354A24 E0042284 C460002C */ lwc1 $f0, 0x2c($v1)
|
|
/* 354A28 E0042288 46800021 */ cvt.d.w $f0, $f0
|
|
/* 354A2C E004228C 46220002 */ mul.d $f0, $f0, $f2
|
|
/* 354A30 E0042290 00000000 */ nop
|
|
/* 354A34 E0042294 4620040D */ trunc.w.d $f16, $f0
|
|
/* 354A38 E0042298 E470002C */ swc1 $f16, 0x2c($v1)
|
|
.LE004229C:
|
|
/* 354A3C E004229C 8C820008 */ lw $v0, 8($a0)
|
|
/* 354A40 E00422A0 24050001 */ addiu $a1, $zero, 1
|
|
/* 354A44 E00422A4 00A2102A */ slt $v0, $a1, $v0
|
|
/* 354A48 E00422A8 1040002F */ beqz $v0, .LE0042368
|
|
/* 354A4C E00422AC 24630038 */ addiu $v1, $v1, 0x38
|
|
/* 354A50 E00422B0 24630024 */ addiu $v1, $v1, 0x24
|
|
/* 354A54 E00422B4 3C01E004 */ lui $at, %hi(D_E00427B8)
|
|
/* 354A58 E00422B8 D42E27B8 */ ldc1 $f14, %lo(D_E00427B8)($at)
|
|
/* 354A5C E00422BC 3C014024 */ lui $at, 0x4024
|
|
/* 354A60 E00422C0 44816800 */ mtc1 $at, $f13
|
|
/* 354A64 E00422C4 44806000 */ mtc1 $zero, $f12
|
|
.LE00422C8:
|
|
/* 354A68 E00422C8 C4660004 */ lwc1 $f6, 4($v1)
|
|
/* 354A6C E00422CC 460031A1 */ cvt.d.s $f6, $f6
|
|
/* 354A70 E00422D0 462E3182 */ mul.d $f6, $f6, $f14
|
|
/* 354A74 E00422D4 00000000 */ nop
|
|
/* 354A78 E00422D8 C4620004 */ lwc1 $f2, 4($v1)
|
|
/* 354A7C E00422DC C460FFEC */ lwc1 $f0, -0x14($v1)
|
|
/* 354A80 E00422E0 46001082 */ mul.s $f2, $f2, $f0
|
|
/* 354A84 E00422E4 00000000 */ nop
|
|
/* 354A88 E00422E8 C46A0004 */ lwc1 $f10, 4($v1)
|
|
/* 354A8C E00422EC C460FFF0 */ lwc1 $f0, -0x10($v1)
|
|
/* 354A90 E00422F0 46005282 */ mul.s $f10, $f10, $f0
|
|
/* 354A94 E00422F4 00000000 */ nop
|
|
/* 354A98 E00422F8 C4680004 */ lwc1 $f8, 4($v1)
|
|
/* 354A9C E00422FC C460FFF4 */ lwc1 $f0, -0xc($v1)
|
|
/* 354AA0 E0042300 46004202 */ mul.s $f8, $f8, $f0
|
|
/* 354AA4 E0042304 00000000 */ nop
|
|
/* 354AA8 E0042308 C464FFE0 */ lwc1 $f4, -0x20($v1)
|
|
/* 354AAC E004230C 46022100 */ add.s $f4, $f4, $f2
|
|
/* 354AB0 E0042310 C462FFE4 */ lwc1 $f2, -0x1c($v1)
|
|
/* 354AB4 E0042314 460A1080 */ add.s $f2, $f2, $f10
|
|
/* 354AB8 E0042318 C460FFE8 */ lwc1 $f0, -0x18($v1)
|
|
/* 354ABC E004231C 46080000 */ add.s $f0, $f0, $f8
|
|
/* 354AC0 E0042320 E464FFE0 */ swc1 $f4, -0x20($v1)
|
|
/* 354AC4 E0042324 E462FFE4 */ swc1 $f2, -0x1c($v1)
|
|
/* 354AC8 E0042328 E460FFE8 */ swc1 $f0, -0x18($v1)
|
|
/* 354ACC E004232C 46203020 */ cvt.s.d $f0, $f6
|
|
/* 354AD0 E0042330 10C00008 */ beqz $a2, .LE0042354
|
|
/* 354AD4 E0042334 E4600004 */ swc1 $f0, 4($v1)
|
|
/* 354AD8 E0042338 46000021 */ cvt.d.s $f0, $f0
|
|
/* 354ADC E004233C C4620000 */ lwc1 $f2, ($v1)
|
|
/* 354AE0 E0042340 462C0003 */ div.d $f0, $f0, $f12
|
|
/* 354AE4 E0042344 460010A1 */ cvt.d.s $f2, $f2
|
|
/* 354AE8 E0042348 46201080 */ add.d $f2, $f2, $f0
|
|
/* 354AEC E004234C 462010A0 */ cvt.s.d $f2, $f2
|
|
/* 354AF0 E0042350 E4620000 */ swc1 $f2, ($v1)
|
|
.LE0042354:
|
|
/* 354AF4 E0042354 24A50001 */ addiu $a1, $a1, 1
|
|
/* 354AF8 E0042358 8C820008 */ lw $v0, 8($a0)
|
|
/* 354AFC E004235C 00A2102A */ slt $v0, $a1, $v0
|
|
/* 354B00 E0042360 1440FFD9 */ bnez $v0, .LE00422C8
|
|
/* 354B04 E0042364 24630038 */ addiu $v1, $v1, 0x38
|
|
.LE0042368:
|
|
/* 354B08 E0042368 8FBF0010 */ lw $ra, 0x10($sp)
|
|
/* 354B0C E004236C 03E00008 */ jr $ra
|
|
/* 354B10 E0042370 27BD0018 */ addiu $sp, $sp, 0x18
|