mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
3315d6010f
* all non-world rodata migrated * data disasm * kinda working * updated yaml * bloop * linker header * configure 2.0 * bin * mass rename to remove code_ * pause rename * battle partner stuff * whew * more renames * more renames * more renaming * it builds! * updates * remove main prefix * one more thing * crc, yay0 * .data, .rodata, .bss * img * dead_atan2 * it buildsgit add -A * split battle/partner/6FAD10 * rm &s on sleepy_sheep syms * sha1sum ninja rule description * OK but commented out PaperMarioMapFS and PaperMarioNpcSprites * uncomment * fix mapfs * match func_8003CFB4 * . * clean up and name npc_iter_no_op * npc.c * enable cc warnings * name npc_find_near * use singular options.asset_path * smores * cc_dsl only when needed * kinda fix configure for splat refactor2 * ok! * new msg format * remove old msg format docs * slight bug fixes, splat adjustment * git subrepo pull (merge) --force tools/splat subrepo: subdir: "tools/splat" merged: "cfc140bb76" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "cfc140bb76" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * git subrepo pull (merge) --force tools/splat subrepo: subdir: "tools/splat" merged: "85349befcd" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "85349befcd" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Update symbol addrs * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "a44631e194" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "a44631e194" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" Co-authored-by: Alex Bates <hi@imalex.xyz>
489 lines
24 KiB
ArmAsm
489 lines
24 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_800328F4
|
|
/* DCF4 800328F4 27BDFF68 */ addiu $sp, $sp, -0x98
|
|
/* DCF8 800328F8 AFB10054 */ sw $s1, 0x54($sp)
|
|
/* DCFC 800328FC 0080882D */ daddu $s1, $a0, $zero
|
|
/* DD00 80032900 AFBF0068 */ sw $ra, 0x68($sp)
|
|
/* DD04 80032904 AFB50064 */ sw $s5, 0x64($sp)
|
|
/* DD08 80032908 AFB40060 */ sw $s4, 0x60($sp)
|
|
/* DD0C 8003290C AFB3005C */ sw $s3, 0x5c($sp)
|
|
/* DD10 80032910 AFB20058 */ sw $s2, 0x58($sp)
|
|
/* DD14 80032914 AFB00050 */ sw $s0, 0x50($sp)
|
|
/* DD18 80032918 F7BC0090 */ sdc1 $f28, 0x90($sp)
|
|
/* DD1C 8003291C F7BA0088 */ sdc1 $f26, 0x88($sp)
|
|
/* DD20 80032920 F7B80080 */ sdc1 $f24, 0x80($sp)
|
|
/* DD24 80032924 F7B60078 */ sdc1 $f22, 0x78($sp)
|
|
/* DD28 80032928 F7B40070 */ sdc1 $f20, 0x70($sp)
|
|
/* DD2C 8003292C C6200084 */ lwc1 $f0, 0x84($s1)
|
|
/* DD30 80032930 3C014334 */ lui $at, 0x4334
|
|
/* DD34 80032934 44811000 */ mtc1 $at, $f2
|
|
/* DD38 80032938 3C014049 */ lui $at, 0x4049
|
|
/* DD3C 8003293C 34210FD8 */ ori $at, $at, 0xfd8
|
|
/* DD40 80032940 44812000 */ mtc1 $at, $f4
|
|
/* DD44 80032944 46020003 */ div.s $f0, $f0, $f2
|
|
/* DD48 80032948 46040502 */ mul.s $f20, $f0, $f4
|
|
/* DD4C 8003294C 00000000 */ nop
|
|
/* DD50 80032950 0000902D */ daddu $s2, $zero, $zero
|
|
/* DD54 80032954 C63A050C */ lwc1 $f26, 0x50c($s1)
|
|
/* DD58 80032958 0C00A864 */ jal func_8002A190
|
|
/* DD5C 8003295C 4600A306 */ mov.s $f12, $f20
|
|
/* DD60 80032960 0C00A84B */ jal func_8002A12C
|
|
/* DD64 80032964 4600A306 */ mov.s $f12, $f20
|
|
/* DD68 80032968 C6200064 */ lwc1 $f0, 0x64($s1)
|
|
/* DD6C 8003296C 3C014120 */ lui $at, 0x4120
|
|
/* DD70 80032970 44817000 */ mtc1 $at, $f14
|
|
/* DD74 80032974 C62C0060 */ lwc1 $f12, 0x60($s1)
|
|
/* DD78 80032978 460E0380 */ add.s $f14, $f0, $f14
|
|
/* DD7C 8003297C 8E260068 */ lw $a2, 0x68($s1)
|
|
/* DD80 80032980 0C00C7A8 */ jal func_80031EA0
|
|
/* DD84 80032984 0240382D */ daddu $a3, $s2, $zero
|
|
/* DD88 80032988 0040802D */ daddu $s0, $v0, $zero
|
|
/* DD8C 8003298C 120000A1 */ beqz $s0, .L80032C14
|
|
/* DD90 80032990 0200982D */ daddu $s3, $s0, $zero
|
|
/* DD94 80032994 8E030000 */ lw $v1, ($s0)
|
|
/* DD98 80032998 24020002 */ addiu $v0, $zero, 2
|
|
/* DD9C 8003299C 1062000A */ beq $v1, $v0, .L800329C8
|
|
/* DDA0 800329A0 24020005 */ addiu $v0, $zero, 5
|
|
/* DDA4 800329A4 10620008 */ beq $v1, $v0, .L800329C8
|
|
/* DDA8 800329A8 00000000 */ nop
|
|
/* DDAC 800329AC 8E250060 */ lw $a1, 0x60($s1)
|
|
/* DDB0 800329B0 8E260068 */ lw $a2, 0x68($s1)
|
|
/* DDB4 800329B4 0C00C94D */ jal func_80032534
|
|
/* DDB8 800329B8 0200202D */ daddu $a0, $s0, $zero
|
|
/* DDBC 800329BC 0040902D */ daddu $s2, $v0, $zero
|
|
/* DDC0 800329C0 12400094 */ beqz $s2, .L80032C14
|
|
/* DDC4 800329C4 00000000 */ nop
|
|
.L800329C8:
|
|
/* DDC8 800329C8 8E220530 */ lw $v0, 0x530($s1)
|
|
/* DDCC 800329CC 10400049 */ beqz $v0, .L80032AF4
|
|
/* DDD0 800329D0 00000000 */ nop
|
|
/* DDD4 800329D4 263000D4 */ addiu $s0, $s1, 0xd4
|
|
/* DDD8 800329D8 0200202D */ daddu $a0, $s0, $zero
|
|
/* DDDC 800329DC 8627000A */ lh $a3, 0xa($s1)
|
|
/* DDE0 800329E0 86220012 */ lh $v0, 0x12($s1)
|
|
/* DDE4 800329E4 8623000C */ lh $v1, 0xc($s1)
|
|
/* DDE8 800329E8 3C013F80 */ lui $at, 0x3f80
|
|
/* DDEC 800329EC 4481A000 */ mtc1 $at, $f20
|
|
/* DDF0 800329F0 44820000 */ mtc1 $v0, $f0
|
|
/* DDF4 800329F4 00000000 */ nop
|
|
/* DDF8 800329F8 46800020 */ cvt.s.w $f0, $f0
|
|
/* DDFC 800329FC E7A00010 */ swc1 $f0, 0x10($sp)
|
|
/* DE00 80032A00 86220014 */ lh $v0, 0x14($s1)
|
|
/* DE04 80032A04 44871000 */ mtc1 $a3, $f2
|
|
/* DE08 80032A08 00000000 */ nop
|
|
/* DE0C 80032A0C 468010A0 */ cvt.s.w $f2, $f2
|
|
/* DE10 80032A10 E7B40018 */ swc1 $f20, 0x18($sp)
|
|
/* DE14 80032A14 44820000 */ mtc1 $v0, $f0
|
|
/* DE18 80032A18 00000000 */ nop
|
|
/* DE1C 80032A1C 46800020 */ cvt.s.w $f0, $f0
|
|
/* DE20 80032A20 E7A00014 */ swc1 $f0, 0x14($sp)
|
|
/* DE24 80032A24 44830000 */ mtc1 $v1, $f0
|
|
/* DE28 80032A28 00000000 */ nop
|
|
/* DE2C 80032A2C 46800020 */ cvt.s.w $f0, $f0
|
|
/* DE30 80032A30 46001083 */ div.s $f2, $f2, $f0
|
|
/* DE34 80032A34 8E260018 */ lw $a2, 0x18($s1)
|
|
/* DE38 80032A38 44071000 */ mfc1 $a3, $f2
|
|
/* DE3C 80032A3C 0C018ED8 */ jal func_80063B60
|
|
/* DE40 80032A40 26250038 */ addiu $a1, $s1, 0x38
|
|
/* DE44 80032A44 26240114 */ addiu $a0, $s1, 0x114
|
|
/* DE48 80032A48 0200282D */ daddu $a1, $s0, $zero
|
|
/* DE4C 80032A4C 0C019D78 */ jal func_800675E0
|
|
/* DE50 80032A50 0200302D */ daddu $a2, $s0, $zero
|
|
/* DE54 80032A54 27A20030 */ addiu $v0, $sp, 0x30
|
|
/* DE58 80032A58 AFA20014 */ sw $v0, 0x14($sp)
|
|
/* DE5C 80032A5C 27A20034 */ addiu $v0, $sp, 0x34
|
|
/* DE60 80032A60 AFA20018 */ sw $v0, 0x18($sp)
|
|
/* DE64 80032A64 27A20038 */ addiu $v0, $sp, 0x38
|
|
/* DE68 80032A68 AFA2001C */ sw $v0, 0x1c($sp)
|
|
/* DE6C 80032A6C 27A2003C */ addiu $v0, $sp, 0x3c
|
|
/* DE70 80032A70 E7B40010 */ swc1 $f20, 0x10($sp)
|
|
/* DE74 80032A74 AFA20020 */ sw $v0, 0x20($sp)
|
|
/* DE78 80032A78 8E250060 */ lw $a1, 0x60($s1)
|
|
/* DE7C 80032A7C 8E260064 */ lw $a2, 0x64($s1)
|
|
/* DE80 80032A80 8E270068 */ lw $a3, 0x68($s1)
|
|
/* DE84 80032A84 0C00A578 */ jal func_800295E0
|
|
/* DE88 80032A88 0200202D */ daddu $a0, $s0, $zero
|
|
/* DE8C 80032A8C C7A0003C */ lwc1 $f0, 0x3c($sp)
|
|
/* DE90 80032A90 44802000 */ mtc1 $zero, $f4
|
|
/* DE94 80032A94 00000000 */ nop
|
|
/* DE98 80032A98 46040032 */ c.eq.s $f0, $f4
|
|
/* DE9C 80032A9C 00000000 */ nop
|
|
/* DEA0 80032AA0 45030001 */ bc1tl .L80032AA8
|
|
/* DEA4 80032AA4 E7B4003C */ swc1 $f20, 0x3c($sp)
|
|
.L80032AA8:
|
|
/* DEA8 80032AA8 C7A0003C */ lwc1 $f0, 0x3c($sp)
|
|
/* DEAC 80032AAC C7A20030 */ lwc1 $f2, 0x30($sp)
|
|
/* DEB0 80032AB0 4600A003 */ div.s $f0, $f20, $f0
|
|
/* DEB4 80032AB4 46001082 */ mul.s $f2, $f2, $f0
|
|
/* DEB8 80032AB8 00000000 */ nop
|
|
/* DEBC 80032ABC 2623052C */ addiu $v1, $s1, 0x52c
|
|
/* DEC0 80032AC0 E7A0003C */ swc1 $f0, 0x3c($sp)
|
|
/* DEC4 80032AC4 4602203C */ c.lt.s $f4, $f2
|
|
/* DEC8 80032AC8 E7A20030 */ swc1 $f2, 0x30($sp)
|
|
/* DECC 80032ACC 45010006 */ bc1t .L80032AE8
|
|
/* DED0 80032AD0 24020001 */ addiu $v0, $zero, 1
|
|
/* DED4 80032AD4 4604103C */ c.lt.s $f2, $f4
|
|
/* DED8 80032AD8 00000000 */ nop
|
|
/* DEDC 80032ADC 45000002 */ bc1f .L80032AE8
|
|
/* DEE0 80032AE0 0000102D */ daddu $v0, $zero, $zero
|
|
/* DEE4 80032AE4 2402FFFF */ addiu $v0, $zero, -1
|
|
.L80032AE8:
|
|
/* DEE8 80032AE8 AC620000 */ sw $v0, ($v1)
|
|
/* DEEC 80032AEC 0800CAED */ j .L80032BB4
|
|
/* DEF0 80032AF0 AE200530 */ sw $zero, 0x530($s1)
|
|
.L80032AF4:
|
|
/* DEF4 80032AF4 8E220534 */ lw $v0, 0x534($s1)
|
|
/* DEF8 80032AF8 10400011 */ beqz $v0, .L80032B40
|
|
/* DEFC 80032AFC 00000000 */ nop
|
|
/* DF00 80032B00 8C430000 */ lw $v1, ($v0)
|
|
/* DF04 80032B04 24020002 */ addiu $v0, $zero, 2
|
|
/* DF08 80032B08 1062002A */ beq $v1, $v0, .L80032BB4
|
|
/* DF0C 80032B0C 24020005 */ addiu $v0, $zero, 5
|
|
/* DF10 80032B10 10620028 */ beq $v1, $v0, .L80032BB4
|
|
/* DF14 80032B14 00000000 */ nop
|
|
/* DF18 80032B18 8E250524 */ lw $a1, 0x524($s1)
|
|
/* DF1C 80032B1C 8E260528 */ lw $a2, 0x528($s1)
|
|
/* DF20 80032B20 0C00C94D */ jal func_80032534
|
|
/* DF24 80032B24 0200202D */ daddu $a0, $s0, $zero
|
|
/* DF28 80032B28 14400022 */ bnez $v0, .L80032BB4
|
|
/* DF2C 80032B2C 00000000 */ nop
|
|
/* DF30 80032B30 12400003 */ beqz $s2, .L80032B40
|
|
/* DF34 80032B34 00000000 */ nop
|
|
/* DF38 80032B38 0800CAED */ j .L80032BB4
|
|
/* DF3C 80032B3C AE32052C */ sw $s2, 0x52c($s1)
|
|
.L80032B40:
|
|
/* DF40 80032B40 C6380060 */ lwc1 $f24, 0x60($s1)
|
|
/* DF44 80032B44 C6200524 */ lwc1 $f0, 0x524($s1)
|
|
/* DF48 80032B48 C6360068 */ lwc1 $f22, 0x68($s1)
|
|
/* DF4C 80032B4C 4600C601 */ sub.s $f24, $f24, $f0
|
|
/* DF50 80032B50 C6200528 */ lwc1 $f0, 0x528($s1)
|
|
/* DF54 80032B54 C62C006C */ lwc1 $f12, 0x6c($s1)
|
|
/* DF58 80032B58 0C00A8C4 */ jal func_8002A310
|
|
/* DF5C 80032B5C 4600B581 */ sub.s $f22, $f22, $f0
|
|
/* DF60 80032B60 C62C006C */ lwc1 $f12, 0x6c($s1)
|
|
/* DF64 80032B64 0C00A8AB */ jal func_8002A2AC
|
|
/* DF68 80032B68 46000507 */ neg.s $f20, $f0
|
|
/* DF6C 80032B6C 4614C602 */ mul.s $f24, $f24, $f20
|
|
/* DF70 80032B70 00000000 */ nop
|
|
/* DF74 80032B74 46000007 */ neg.s $f0, $f0
|
|
/* DF78 80032B78 4600B582 */ mul.s $f22, $f22, $f0
|
|
/* DF7C 80032B7C 00000000 */ nop
|
|
/* DF80 80032B80 4616C600 */ add.s $f24, $f24, $f22
|
|
/* DF84 80032B84 44800000 */ mtc1 $zero, $f0
|
|
/* DF88 80032B88 00000000 */ nop
|
|
/* DF8C 80032B8C 4618003C */ c.lt.s $f0, $f24
|
|
/* DF90 80032B90 00000000 */ nop
|
|
/* DF94 80032B94 45010006 */ bc1t .L80032BB0
|
|
/* DF98 80032B98 2402FFFF */ addiu $v0, $zero, -1
|
|
/* DF9C 80032B9C 4600C03C */ c.lt.s $f24, $f0
|
|
/* DFA0 80032BA0 00000000 */ nop
|
|
/* DFA4 80032BA4 45010002 */ bc1t .L80032BB0
|
|
/* DFA8 80032BA8 24020001 */ addiu $v0, $zero, 1
|
|
/* DFAC 80032BAC 0000102D */ daddu $v0, $zero, $zero
|
|
.L80032BB0:
|
|
/* DFB0 80032BB0 AE22052C */ sw $v0, 0x52c($s1)
|
|
.L80032BB4:
|
|
/* DFB4 80032BB4 44800000 */ mtc1 $zero, $f0
|
|
/* DFB8 80032BB8 00000000 */ nop
|
|
/* DFBC 80032BBC 461A003C */ c.lt.s $f0, $f26
|
|
/* DFC0 80032BC0 00000000 */ nop
|
|
/* DFC4 80032BC4 45000004 */ bc1f .L80032BD8
|
|
/* DFC8 80032BC8 00000000 */ nop
|
|
/* DFCC 80032BCC 8E22052C */ lw $v0, 0x52c($s1)
|
|
/* DFD0 80032BD0 5C400009 */ bgtzl $v0, .L80032BF8
|
|
/* DFD4 80032BD4 AE200514 */ sw $zero, 0x514($s1)
|
|
.L80032BD8:
|
|
/* DFD8 80032BD8 4600D03C */ c.lt.s $f26, $f0
|
|
/* DFDC 80032BDC 00000000 */ nop
|
|
/* DFE0 80032BE0 45000006 */ bc1f .L80032BFC
|
|
/* DFE4 80032BE4 00000000 */ nop
|
|
/* DFE8 80032BE8 8E22052C */ lw $v0, 0x52c($s1)
|
|
/* DFEC 80032BEC 04410003 */ bgez $v0, .L80032BFC
|
|
/* DFF0 80032BF0 00000000 */ nop
|
|
/* DFF4 80032BF4 AE200514 */ sw $zero, 0x514($s1)
|
|
.L80032BF8:
|
|
/* DFF8 80032BF8 AE20050C */ sw $zero, 0x50c($s1)
|
|
.L80032BFC:
|
|
/* DFFC 80032BFC C6200060 */ lwc1 $f0, 0x60($s1)
|
|
/* E000 80032C00 C6220068 */ lwc1 $f2, 0x68($s1)
|
|
/* E004 80032C04 AE330534 */ sw $s3, 0x534($s1)
|
|
/* E008 80032C08 E6200524 */ swc1 $f0, 0x524($s1)
|
|
/* E00C 80032C0C 0800CBFB */ j .L80032FEC
|
|
/* E010 80032C10 E6220528 */ swc1 $f2, 0x528($s1)
|
|
.L80032C14:
|
|
/* E014 80032C14 C6200060 */ lwc1 $f0, 0x60($s1)
|
|
/* E018 80032C18 C6220068 */ lwc1 $f2, 0x68($s1)
|
|
/* E01C 80032C1C 4600A306 */ mov.s $f12, $f20
|
|
/* E020 80032C20 AE20052C */ sw $zero, 0x52c($s1)
|
|
/* E024 80032C24 AE330534 */ sw $s3, 0x534($s1)
|
|
/* E028 80032C28 E6200524 */ swc1 $f0, 0x524($s1)
|
|
/* E02C 80032C2C 0C00A864 */ jal func_8002A190
|
|
/* E030 80032C30 E6220528 */ swc1 $f2, 0x528($s1)
|
|
/* E034 80032C34 4600D002 */ mul.s $f0, $f26, $f0
|
|
/* E038 80032C38 00000000 */ nop
|
|
/* E03C 80032C3C C6220060 */ lwc1 $f2, 0x60($s1)
|
|
/* E040 80032C40 46001700 */ add.s $f28, $f2, $f0
|
|
/* E044 80032C44 0C00A84B */ jal func_8002A12C
|
|
/* E048 80032C48 4600A306 */ mov.s $f12, $f20
|
|
/* E04C 80032C4C 4600D002 */ mul.s $f0, $f26, $f0
|
|
/* E050 80032C50 00000000 */ nop
|
|
/* E054 80032C54 C6220068 */ lwc1 $f2, 0x68($s1)
|
|
/* E058 80032C58 3C014120 */ lui $at, 0x4120
|
|
/* E05C 80032C5C 44817000 */ mtc1 $at, $f14
|
|
/* E060 80032C60 46001680 */ add.s $f26, $f2, $f0
|
|
/* E064 80032C64 C6200064 */ lwc1 $f0, 0x64($s1)
|
|
/* E068 80032C68 27A70040 */ addiu $a3, $sp, 0x40
|
|
/* E06C 80032C6C 460E0380 */ add.s $f14, $f0, $f14
|
|
/* E070 80032C70 4406D000 */ mfc1 $a2, $f26
|
|
/* E074 80032C74 0C00C7A8 */ jal func_80031EA0
|
|
/* E078 80032C78 4600E306 */ mov.s $f12, $f28
|
|
/* E07C 80032C7C 0040802D */ daddu $s0, $v0, $zero
|
|
/* E080 80032C80 120000DA */ beqz $s0, .L80032FEC
|
|
/* E084 80032C84 24020002 */ addiu $v0, $zero, 2
|
|
/* E088 80032C88 8E040000 */ lw $a0, ($s0)
|
|
/* E08C 80032C8C 1082000A */ beq $a0, $v0, .L80032CB8
|
|
/* E090 80032C90 24020005 */ addiu $v0, $zero, 5
|
|
/* E094 80032C94 10820008 */ beq $a0, $v0, .L80032CB8
|
|
/* E098 80032C98 00000000 */ nop
|
|
/* E09C 80032C9C 8E240534 */ lw $a0, 0x534($s1)
|
|
/* E0A0 80032CA0 4405E000 */ mfc1 $a1, $f28
|
|
/* E0A4 80032CA4 4406D000 */ mfc1 $a2, $f26
|
|
/* E0A8 80032CA8 0C00C94D */ jal func_80032534
|
|
/* E0AC 80032CAC 00000000 */ nop
|
|
/* E0B0 80032CB0 104000CE */ beqz $v0, .L80032FEC
|
|
/* E0B4 80032CB4 00000000 */ nop
|
|
.L80032CB8:
|
|
/* E0B8 80032CB8 8E240534 */ lw $a0, 0x534($s1)
|
|
/* E0BC 80032CBC 3C014974 */ lui $at, 0x4974
|
|
/* E0C0 80032CC0 34212400 */ ori $at, $at, 0x2400
|
|
/* E0C4 80032CC4 4481A000 */ mtc1 $at, $f20
|
|
/* E0C8 80032CC8 10800043 */ beqz $a0, .L80032DD8
|
|
/* E0CC 80032CCC 24120001 */ addiu $s2, $zero, 1
|
|
/* E0D0 80032CD0 8C830000 */ lw $v1, ($a0)
|
|
/* E0D4 80032CD4 24020006 */ addiu $v0, $zero, 6
|
|
/* E0D8 80032CD8 1462003F */ bne $v1, $v0, .L80032DD8
|
|
/* E0DC 80032CDC 0080802D */ daddu $s0, $a0, $zero
|
|
/* E0E0 80032CE0 C6200060 */ lwc1 $f0, 0x60($s1)
|
|
/* E0E4 80032CE4 C6080018 */ lwc1 $f8, 0x18($s0)
|
|
/* E0E8 80032CE8 C604000C */ lwc1 $f4, 0xc($s0)
|
|
/* E0EC 80032CEC C6020020 */ lwc1 $f2, 0x20($s0)
|
|
/* E0F0 80032CF0 C6060014 */ lwc1 $f6, 0x14($s0)
|
|
/* E0F4 80032CF4 E7A00010 */ swc1 $f0, 0x10($sp)
|
|
/* E0F8 80032CF8 C6200068 */ lwc1 $f0, 0x68($s1)
|
|
/* E0FC 80032CFC 27A20044 */ addiu $v0, $sp, 0x44
|
|
/* E100 80032D00 AFA20020 */ sw $v0, 0x20($sp)
|
|
/* E104 80032D04 27A20048 */ addiu $v0, $sp, 0x48
|
|
/* E108 80032D08 46061601 */ sub.s $f24, $f2, $f6
|
|
/* E10C 80032D0C AFA20024 */ sw $v0, 0x24($sp)
|
|
/* E110 80032D10 27A2004C */ addiu $v0, $sp, 0x4c
|
|
/* E114 80032D14 46044581 */ sub.s $f22, $f8, $f4
|
|
/* E118 80032D18 E7BC0018 */ swc1 $f28, 0x18($sp)
|
|
/* E11C 80032D1C E7BA001C */ swc1 $f26, 0x1c($sp)
|
|
/* E120 80032D20 AFA20028 */ sw $v0, 0x28($sp)
|
|
/* E124 80032D24 46182281 */ sub.s $f10, $f4, $f24
|
|
/* E128 80032D28 E7A00014 */ swc1 $f0, 0x14($sp)
|
|
/* E12C 80032D2C C60C000C */ lwc1 $f12, 0xc($s0)
|
|
/* E130 80032D30 46163180 */ add.s $f6, $f6, $f22
|
|
/* E134 80032D34 C60E0014 */ lwc1 $f14, 0x14($s0)
|
|
/* E138 80032D38 44065000 */ mfc1 $a2, $f10
|
|
/* E13C 80032D3C 44073000 */ mfc1 $a3, $f6
|
|
/* E140 80032D40 0C00C89D */ jal func_80032274
|
|
/* E144 80032D44 0000902D */ daddu $s2, $zero, $zero
|
|
/* E148 80032D48 10400006 */ beqz $v0, .L80032D64
|
|
/* E14C 80032D4C 00000000 */ nop
|
|
/* E150 80032D50 C7A0004C */ lwc1 $f0, 0x4c($sp)
|
|
/* E154 80032D54 4614003C */ c.lt.s $f0, $f20
|
|
/* E158 80032D58 00000000 */ nop
|
|
/* E15C 80032D5C 45030001 */ bc1tl .L80032D64
|
|
/* E160 80032D60 46000506 */ mov.s $f20, $f0
|
|
.L80032D64:
|
|
/* E164 80032D64 C6200060 */ lwc1 $f0, 0x60($s1)
|
|
/* E168 80032D68 C6020018 */ lwc1 $f2, 0x18($s0)
|
|
/* E16C 80032D6C C6040020 */ lwc1 $f4, 0x20($s0)
|
|
/* E170 80032D70 E7A00010 */ swc1 $f0, 0x10($sp)
|
|
/* E174 80032D74 C6200068 */ lwc1 $f0, 0x68($s1)
|
|
/* E178 80032D78 27A20044 */ addiu $v0, $sp, 0x44
|
|
/* E17C 80032D7C AFA20020 */ sw $v0, 0x20($sp)
|
|
/* E180 80032D80 27A20048 */ addiu $v0, $sp, 0x48
|
|
/* E184 80032D84 46181081 */ sub.s $f2, $f2, $f24
|
|
/* E188 80032D88 AFA20024 */ sw $v0, 0x24($sp)
|
|
/* E18C 80032D8C 27A2004C */ addiu $v0, $sp, 0x4c
|
|
/* E190 80032D90 46162100 */ add.s $f4, $f4, $f22
|
|
/* E194 80032D94 E7BC0018 */ swc1 $f28, 0x18($sp)
|
|
/* E198 80032D98 E7BA001C */ swc1 $f26, 0x1c($sp)
|
|
/* E19C 80032D9C AFA20028 */ sw $v0, 0x28($sp)
|
|
/* E1A0 80032DA0 E7A00014 */ swc1 $f0, 0x14($sp)
|
|
/* E1A4 80032DA4 C60C0018 */ lwc1 $f12, 0x18($s0)
|
|
/* E1A8 80032DA8 C60E0020 */ lwc1 $f14, 0x20($s0)
|
|
/* E1AC 80032DAC 44061000 */ mfc1 $a2, $f2
|
|
/* E1B0 80032DB0 44072000 */ mfc1 $a3, $f4
|
|
/* E1B4 80032DB4 0C00C89D */ jal func_80032274
|
|
/* E1B8 80032DB8 00000000 */ nop
|
|
/* E1BC 80032DBC 10400006 */ beqz $v0, .L80032DD8
|
|
/* E1C0 80032DC0 00000000 */ nop
|
|
/* E1C4 80032DC4 C7A0004C */ lwc1 $f0, 0x4c($sp)
|
|
/* E1C8 80032DC8 4614003C */ c.lt.s $f0, $f20
|
|
/* E1CC 80032DCC 00000000 */ nop
|
|
/* E1D0 80032DD0 45030001 */ bc1tl .L80032DD8
|
|
/* E1D4 80032DD4 46000506 */ mov.s $f20, $f0
|
|
.L80032DD8:
|
|
/* E1D8 80032DD8 1240005C */ beqz $s2, .L80032F4C
|
|
/* E1DC 80032DDC 00000000 */ nop
|
|
/* E1E0 80032DE0 8FA30040 */ lw $v1, 0x40($sp)
|
|
/* E1E4 80032DE4 8462000A */ lh $v0, 0xa($v1)
|
|
/* E1E8 80032DE8 18400058 */ blez $v0, .L80032F4C
|
|
/* E1EC 80032DEC 0000902D */ daddu $s2, $zero, $zero
|
|
/* E1F0 80032DF0 27B50044 */ addiu $s5, $sp, 0x44
|
|
/* E1F4 80032DF4 27B40048 */ addiu $s4, $sp, 0x48
|
|
/* E1F8 80032DF8 27B3004C */ addiu $s3, $sp, 0x4c
|
|
/* E1FC 80032DFC 0240802D */ daddu $s0, $s2, $zero
|
|
.L80032E00:
|
|
/* E200 80032E00 8C62000C */ lw $v0, 0xc($v1)
|
|
/* E204 80032E04 C6200060 */ lwc1 $f0, 0x60($s1)
|
|
/* E208 80032E08 02021021 */ addu $v0, $s0, $v0
|
|
/* E20C 80032E0C 8C430000 */ lw $v1, ($v0)
|
|
/* E210 80032E10 8C420004 */ lw $v0, 4($v0)
|
|
/* E214 80032E14 E7A00010 */ swc1 $f0, 0x10($sp)
|
|
/* E218 80032E18 C6200068 */ lwc1 $f0, 0x68($s1)
|
|
/* E21C 80032E1C E7BC0018 */ swc1 $f28, 0x18($sp)
|
|
/* E220 80032E20 E7BA001C */ swc1 $f26, 0x1c($sp)
|
|
/* E224 80032E24 AFB50020 */ sw $s5, 0x20($sp)
|
|
/* E228 80032E28 AFB40024 */ sw $s4, 0x24($sp)
|
|
/* E22C 80032E2C AFB30028 */ sw $s3, 0x28($sp)
|
|
/* E230 80032E30 E7A00014 */ swc1 $f0, 0x14($sp)
|
|
/* E234 80032E34 C46C0000 */ lwc1 $f12, ($v1)
|
|
/* E238 80032E38 C46E0008 */ lwc1 $f14, 8($v1)
|
|
/* E23C 80032E3C 8C460000 */ lw $a2, ($v0)
|
|
/* E240 80032E40 0C00C7DB */ jal func_80031F6C
|
|
/* E244 80032E44 8C470008 */ lw $a3, 8($v0)
|
|
/* E248 80032E48 10400006 */ beqz $v0, .L80032E64
|
|
/* E24C 80032E4C 00000000 */ nop
|
|
/* E250 80032E50 C7A0004C */ lwc1 $f0, 0x4c($sp)
|
|
/* E254 80032E54 4614003C */ c.lt.s $f0, $f20
|
|
/* E258 80032E58 00000000 */ nop
|
|
/* E25C 80032E5C 45030001 */ bc1tl .L80032E64
|
|
/* E260 80032E60 46000506 */ mov.s $f20, $f0
|
|
.L80032E64:
|
|
/* E264 80032E64 8FA20040 */ lw $v0, 0x40($sp)
|
|
/* E268 80032E68 8C42000C */ lw $v0, 0xc($v0)
|
|
/* E26C 80032E6C C6200060 */ lwc1 $f0, 0x60($s1)
|
|
/* E270 80032E70 02021021 */ addu $v0, $s0, $v0
|
|
/* E274 80032E74 8C430004 */ lw $v1, 4($v0)
|
|
/* E278 80032E78 8C420008 */ lw $v0, 8($v0)
|
|
/* E27C 80032E7C E7A00010 */ swc1 $f0, 0x10($sp)
|
|
/* E280 80032E80 C6200068 */ lwc1 $f0, 0x68($s1)
|
|
/* E284 80032E84 E7BC0018 */ swc1 $f28, 0x18($sp)
|
|
/* E288 80032E88 E7BA001C */ swc1 $f26, 0x1c($sp)
|
|
/* E28C 80032E8C AFB50020 */ sw $s5, 0x20($sp)
|
|
/* E290 80032E90 AFB40024 */ sw $s4, 0x24($sp)
|
|
/* E294 80032E94 AFB30028 */ sw $s3, 0x28($sp)
|
|
/* E298 80032E98 E7A00014 */ swc1 $f0, 0x14($sp)
|
|
/* E29C 80032E9C C46C0000 */ lwc1 $f12, ($v1)
|
|
/* E2A0 80032EA0 C46E0008 */ lwc1 $f14, 8($v1)
|
|
/* E2A4 80032EA4 8C460000 */ lw $a2, ($v0)
|
|
/* E2A8 80032EA8 0C00C7DB */ jal func_80031F6C
|
|
/* E2AC 80032EAC 8C470008 */ lw $a3, 8($v0)
|
|
/* E2B0 80032EB0 10400006 */ beqz $v0, .L80032ECC
|
|
/* E2B4 80032EB4 00000000 */ nop
|
|
/* E2B8 80032EB8 C7A0004C */ lwc1 $f0, 0x4c($sp)
|
|
/* E2BC 80032EBC 4614003C */ c.lt.s $f0, $f20
|
|
/* E2C0 80032EC0 00000000 */ nop
|
|
/* E2C4 80032EC4 45030001 */ bc1tl .L80032ECC
|
|
/* E2C8 80032EC8 46000506 */ mov.s $f20, $f0
|
|
.L80032ECC:
|
|
/* E2CC 80032ECC 8FA20040 */ lw $v0, 0x40($sp)
|
|
/* E2D0 80032ED0 8C42000C */ lw $v0, 0xc($v0)
|
|
/* E2D4 80032ED4 C6200060 */ lwc1 $f0, 0x60($s1)
|
|
/* E2D8 80032ED8 02021021 */ addu $v0, $s0, $v0
|
|
/* E2DC 80032EDC 8C430008 */ lw $v1, 8($v0)
|
|
/* E2E0 80032EE0 8C420000 */ lw $v0, ($v0)
|
|
/* E2E4 80032EE4 E7A00010 */ swc1 $f0, 0x10($sp)
|
|
/* E2E8 80032EE8 C6200068 */ lwc1 $f0, 0x68($s1)
|
|
/* E2EC 80032EEC E7BC0018 */ swc1 $f28, 0x18($sp)
|
|
/* E2F0 80032EF0 E7BA001C */ swc1 $f26, 0x1c($sp)
|
|
/* E2F4 80032EF4 AFB50020 */ sw $s5, 0x20($sp)
|
|
/* E2F8 80032EF8 AFB40024 */ sw $s4, 0x24($sp)
|
|
/* E2FC 80032EFC AFB30028 */ sw $s3, 0x28($sp)
|
|
/* E300 80032F00 E7A00014 */ swc1 $f0, 0x14($sp)
|
|
/* E304 80032F04 C46C0000 */ lwc1 $f12, ($v1)
|
|
/* E308 80032F08 C46E0008 */ lwc1 $f14, 8($v1)
|
|
/* E30C 80032F0C 8C460000 */ lw $a2, ($v0)
|
|
/* E310 80032F10 0C00C7DB */ jal func_80031F6C
|
|
/* E314 80032F14 8C470008 */ lw $a3, 8($v0)
|
|
/* E318 80032F18 10400006 */ beqz $v0, .L80032F34
|
|
/* E31C 80032F1C 00000000 */ nop
|
|
/* E320 80032F20 C7A0004C */ lwc1 $f0, 0x4c($sp)
|
|
/* E324 80032F24 4614003C */ c.lt.s $f0, $f20
|
|
/* E328 80032F28 00000000 */ nop
|
|
/* E32C 80032F2C 45030001 */ bc1tl .L80032F34
|
|
/* E330 80032F30 46000506 */ mov.s $f20, $f0
|
|
.L80032F34:
|
|
/* E334 80032F34 8FA30040 */ lw $v1, 0x40($sp)
|
|
/* E338 80032F38 8462000A */ lh $v0, 0xa($v1)
|
|
/* E33C 80032F3C 26520001 */ addiu $s2, $s2, 1
|
|
/* E340 80032F40 0242102A */ slt $v0, $s2, $v0
|
|
/* E344 80032F44 1440FFAE */ bnez $v0, .L80032E00
|
|
/* E348 80032F48 26100040 */ addiu $s0, $s0, 0x40
|
|
.L80032F4C:
|
|
/* E34C 80032F4C 3C014974 */ lui $at, 0x4974
|
|
/* E350 80032F50 34212400 */ ori $at, $at, 0x2400
|
|
/* E354 80032F54 44810000 */ mtc1 $at, $f0
|
|
/* E358 80032F58 00000000 */ nop
|
|
/* E35C 80032F5C 4600A032 */ c.eq.s $f20, $f0
|
|
/* E360 80032F60 00000000 */ nop
|
|
/* E364 80032F64 45030020 */ bc1tl .L80032FE8
|
|
/* E368 80032F68 AE20050C */ sw $zero, 0x50c($s1)
|
|
/* E36C 80032F6C 44801000 */ mtc1 $zero, $f2
|
|
/* E370 80032F70 00000000 */ nop
|
|
/* E374 80032F74 4602A032 */ c.eq.s $f20, $f2
|
|
/* E378 80032F78 00000000 */ nop
|
|
/* E37C 80032F7C 45000003 */ bc1f .L80032F8C
|
|
/* E380 80032F80 00000000 */ nop
|
|
/* E384 80032F84 0800CBFA */ j .L80032FE8
|
|
/* E388 80032F88 AE20050C */ sw $zero, 0x50c($s1)
|
|
.L80032F8C:
|
|
/* E38C 80032F8C C620050C */ lwc1 $f0, 0x50c($s1)
|
|
/* E390 80032F90 4600103C */ c.lt.s $f2, $f0
|
|
/* E394 80032F94 00000000 */ nop
|
|
/* E398 80032F98 4500000A */ bc1f .L80032FC4
|
|
/* E39C 80032F9C 2630050C */ addiu $s0, $s1, 0x50c
|
|
/* E3A0 80032FA0 4600A004 */ sqrt.s $f0, $f20
|
|
/* E3A4 80032FA4 46000032 */ c.eq.s $f0, $f0
|
|
/* E3A8 80032FA8 00000000 */ nop
|
|
/* E3AC 80032FAC 4503000E */ bc1tl .L80032FE8
|
|
/* E3B0 80032FB0 E6000000 */ swc1 $f0, ($s0)
|
|
/* E3B4 80032FB4 0C0187B0 */ jal func_80061EC0
|
|
/* E3B8 80032FB8 4600A306 */ mov.s $f12, $f20
|
|
/* E3BC 80032FBC 0800CBFA */ j .L80032FE8
|
|
/* E3C0 80032FC0 E6000000 */ swc1 $f0, ($s0)
|
|
.L80032FC4:
|
|
/* E3C4 80032FC4 4600A004 */ sqrt.s $f0, $f20
|
|
/* E3C8 80032FC8 46000032 */ c.eq.s $f0, $f0
|
|
/* E3CC 80032FCC 00000000 */ nop
|
|
/* E3D0 80032FD0 45030004 */ bc1tl .L80032FE4
|
|
/* E3D4 80032FD4 46000007 */ neg.s $f0, $f0
|
|
/* E3D8 80032FD8 0C0187B0 */ jal func_80061EC0
|
|
/* E3DC 80032FDC 4600A306 */ mov.s $f12, $f20
|
|
/* E3E0 80032FE0 46000007 */ neg.s $f0, $f0
|
|
.L80032FE4:
|
|
/* E3E4 80032FE4 E6000000 */ swc1 $f0, ($s0)
|
|
.L80032FE8:
|
|
/* E3E8 80032FE8 AE200514 */ sw $zero, 0x514($s1)
|
|
.L80032FEC:
|
|
/* E3EC 80032FEC 8FBF0068 */ lw $ra, 0x68($sp)
|
|
/* E3F0 80032FF0 8FB50064 */ lw $s5, 0x64($sp)
|
|
/* E3F4 80032FF4 8FB40060 */ lw $s4, 0x60($sp)
|
|
/* E3F8 80032FF8 8FB3005C */ lw $s3, 0x5c($sp)
|
|
/* E3FC 80032FFC 8FB20058 */ lw $s2, 0x58($sp)
|
|
/* E400 80033000 8FB10054 */ lw $s1, 0x54($sp)
|
|
/* E404 80033004 8FB00050 */ lw $s0, 0x50($sp)
|
|
/* E408 80033008 D7BC0090 */ ldc1 $f28, 0x90($sp)
|
|
/* E40C 8003300C D7BA0088 */ ldc1 $f26, 0x88($sp)
|
|
/* E410 80033010 D7B80080 */ ldc1 $f24, 0x80($sp)
|
|
/* E414 80033014 D7B60078 */ ldc1 $f22, 0x78($sp)
|
|
/* E418 80033018 D7B40070 */ ldc1 $f20, 0x70($sp)
|
|
/* E41C 8003301C 03E00008 */ jr $ra
|
|
/* E420 80033020 27BD0098 */ addiu $sp, $sp, 0x98
|