mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 08:52:40 +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>
218 lines
9.4 KiB
ArmAsm
218 lines
9.4 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_80032600
|
|
/* DA00 80032600 44853000 */ mtc1 $a1, $f6
|
|
/* DA04 80032604 94820000 */ lhu $v0, ($a0)
|
|
/* DA08 80032608 8C830448 */ lw $v1, 0x448($a0)
|
|
/* DA0C 8003260C 30421000 */ andi $v0, $v0, 0x1000
|
|
/* DA10 80032610 10600005 */ beqz $v1, .L80032628
|
|
/* DA14 80032614 0002302B */ sltu $a2, $zero, $v0
|
|
/* DA18 80032618 8C630000 */ lw $v1, ($v1)
|
|
/* DA1C 8003261C 24020004 */ addiu $v0, $zero, 4
|
|
/* DA20 80032620 50620001 */ beql $v1, $v0, .L80032628
|
|
/* DA24 80032624 24060001 */ addiu $a2, $zero, 1
|
|
.L80032628:
|
|
/* DA28 80032628 10C00008 */ beqz $a2, .L8003264C
|
|
/* DA2C 8003262C 24020001 */ addiu $v0, $zero, 1
|
|
/* DA30 80032630 44804000 */ mtc1 $zero, $f8
|
|
/* DA34 80032634 3C013F80 */ lui $at, 0x3f80
|
|
/* DA38 80032638 44810000 */ mtc1 $at, $f0
|
|
/* DA3C 8003263C AC82051C */ sw $v0, 0x51c($a0)
|
|
/* DA40 80032640 E4800514 */ swc1 $f0, 0x514($a0)
|
|
/* DA44 80032644 0800C9B1 */ j .L800326C4
|
|
/* DA48 80032648 E4880510 */ swc1 $f8, 0x510($a0)
|
|
.L8003264C:
|
|
/* DA4C 8003264C 3C05800F */ lui $a1, %hi(D_800F7CC0)
|
|
/* DA50 80032650 8CA57CC0 */ lw $a1, %lo(D_800F7CC0)($a1)
|
|
/* DA54 80032654 8CA20004 */ lw $v0, 4($a1)
|
|
/* DA58 80032658 3C030040 */ lui $v1, 0x40
|
|
/* DA5C 8003265C 00431024 */ and $v0, $v0, $v1
|
|
/* DA60 80032660 10400007 */ beqz $v0, .L80032680
|
|
/* DA64 80032664 00000000 */ nop
|
|
/* DA68 80032668 3C028011 */ lui $v0, %hi(D_8010ED74)
|
|
/* DA6C 8003266C 8442ED74 */ lh $v0, %lo(D_8010ED74)($v0)
|
|
/* DA70 80032670 44824000 */ mtc1 $v0, $f8
|
|
/* DA74 80032674 00000000 */ nop
|
|
/* DA78 80032678 0800C9A2 */ j .L80032688
|
|
/* DA7C 8003267C 46804220 */ cvt.s.w $f8, $f8
|
|
.L80032680:
|
|
/* DA80 80032680 C4A800E8 */ lwc1 $f8, 0xe8($a1)
|
|
/* DA84 80032684 46804220 */ cvt.s.w $f8, $f8
|
|
.L80032688:
|
|
/* DA88 80032688 44800000 */ mtc1 $zero, $f0
|
|
/* DA8C 8003268C 00000000 */ nop
|
|
/* DA90 80032690 4608003C */ c.lt.s $f0, $f8
|
|
/* DA94 80032694 00000000 */ nop
|
|
/* DA98 80032698 45000004 */ bc1f .L800326AC
|
|
/* DA9C 8003269C 00000000 */ nop
|
|
/* DAA0 800326A0 3C014248 */ lui $at, 0x4248
|
|
/* DAA4 800326A4 44814000 */ mtc1 $at, $f8
|
|
/* DAA8 800326A8 00000000 */ nop
|
|
.L800326AC:
|
|
/* DAAC 800326AC 4600403C */ c.lt.s $f8, $f0
|
|
/* DAB0 800326B0 00000000 */ nop
|
|
/* DAB4 800326B4 45000003 */ bc1f .L800326C4
|
|
/* DAB8 800326B8 00000000 */ nop
|
|
/* DABC 800326BC 3C01C248 */ lui $at, 0xc248
|
|
/* DAC0 800326C0 44814000 */ mtc1 $at, $f8
|
|
.L800326C4:
|
|
/* DAC4 800326C4 44801000 */ mtc1 $zero, $f2
|
|
/* DAC8 800326C8 00000000 */ nop
|
|
/* DACC 800326CC 46024032 */ c.eq.s $f8, $f2
|
|
/* DAD0 800326D0 00000000 */ nop
|
|
/* DAD4 800326D4 4501003A */ bc1t .L800327C0
|
|
/* DAD8 800326D8 00000000 */ nop
|
|
/* DADC 800326DC 4602403C */ c.lt.s $f8, $f2
|
|
/* DAE0 800326E0 00000000 */ nop
|
|
/* DAE4 800326E4 4500001C */ bc1f .L80032758
|
|
/* DAE8 800326E8 00000000 */ nop
|
|
/* DAEC 800326EC C4800518 */ lwc1 $f0, 0x518($a0)
|
|
/* DAF0 800326F0 4600103C */ c.lt.s $f2, $f0
|
|
/* DAF4 800326F4 00000000 */ nop
|
|
/* DAF8 800326F8 45020003 */ bc1fl .L80032708
|
|
/* DAFC 800326FC 46080000 */ add.s $f0, $f0, $f8
|
|
/* DB00 80032700 0800C9C3 */ j .L8003270C
|
|
/* DB04 80032704 E4880518 */ swc1 $f8, 0x518($a0)
|
|
.L80032708:
|
|
/* DB08 80032708 E4800518 */ swc1 $f0, 0x518($a0)
|
|
.L8003270C:
|
|
/* DB0C 8003270C C4800518 */ lwc1 $f0, 0x518($a0)
|
|
/* DB10 80032710 3C01C396 */ lui $at, 0xc396
|
|
/* DB14 80032714 44812000 */ mtc1 $at, $f4
|
|
/* DB18 80032718 00000000 */ nop
|
|
/* DB1C 8003271C 4604003E */ c.le.s $f0, $f4
|
|
/* DB20 80032720 00000000 */ nop
|
|
/* DB24 80032724 45000026 */ bc1f .L800327C0
|
|
/* DB28 80032728 24020001 */ addiu $v0, $zero, 1
|
|
/* DB2C 8003272C C4800510 */ lwc1 $f0, 0x510($a0)
|
|
/* DB30 80032730 44801000 */ mtc1 $zero, $f2
|
|
/* DB34 80032734 00000000 */ nop
|
|
/* DB38 80032738 4600103C */ c.lt.s $f2, $f0
|
|
/* DB3C 8003273C 00000000 */ nop
|
|
/* DB40 80032740 45000002 */ bc1f .L8003274C
|
|
/* DB44 80032744 AC82051C */ sw $v0, 0x51c($a0)
|
|
/* DB48 80032748 E4820514 */ swc1 $f2, 0x514($a0)
|
|
.L8003274C:
|
|
/* DB4C 8003274C 46003007 */ neg.s $f0, $f6
|
|
/* DB50 80032750 0800C9EF */ j .L800327BC
|
|
/* DB54 80032754 E4800510 */ swc1 $f0, 0x510($a0)
|
|
.L80032758:
|
|
/* DB58 80032758 C4800518 */ lwc1 $f0, 0x518($a0)
|
|
/* DB5C 8003275C 4602003C */ c.lt.s $f0, $f2
|
|
/* DB60 80032760 00000000 */ nop
|
|
/* DB64 80032764 45020003 */ bc1fl .L80032774
|
|
/* DB68 80032768 46080000 */ add.s $f0, $f0, $f8
|
|
/* DB6C 8003276C 0800C9DE */ j .L80032778
|
|
/* DB70 80032770 E4880518 */ swc1 $f8, 0x518($a0)
|
|
.L80032774:
|
|
/* DB74 80032774 E4800518 */ swc1 $f0, 0x518($a0)
|
|
.L80032778:
|
|
/* DB78 80032778 C4800518 */ lwc1 $f0, 0x518($a0)
|
|
/* DB7C 8003277C 3C014396 */ lui $at, 0x4396
|
|
/* DB80 80032780 44812000 */ mtc1 $at, $f4
|
|
/* DB84 80032784 00000000 */ nop
|
|
/* DB88 80032788 4600203E */ c.le.s $f4, $f0
|
|
/* DB8C 8003278C 00000000 */ nop
|
|
/* DB90 80032790 4500000B */ bc1f .L800327C0
|
|
/* DB94 80032794 24020001 */ addiu $v0, $zero, 1
|
|
/* DB98 80032798 C4800510 */ lwc1 $f0, 0x510($a0)
|
|
/* DB9C 8003279C 44801000 */ mtc1 $zero, $f2
|
|
/* DBA0 800327A0 00000000 */ nop
|
|
/* DBA4 800327A4 4602003C */ c.lt.s $f0, $f2
|
|
/* DBA8 800327A8 00000000 */ nop
|
|
/* DBAC 800327AC 45000002 */ bc1f .L800327B8
|
|
/* DBB0 800327B0 AC82051C */ sw $v0, 0x51c($a0)
|
|
/* DBB4 800327B4 E4820514 */ swc1 $f2, 0x514($a0)
|
|
.L800327B8:
|
|
/* DBB8 800327B8 E4860510 */ swc1 $f6, 0x510($a0)
|
|
.L800327BC:
|
|
/* DBBC 800327BC E4840518 */ swc1 $f4, 0x518($a0)
|
|
.L800327C0:
|
|
/* DBC0 800327C0 8C82051C */ lw $v0, 0x51c($a0)
|
|
/* DBC4 800327C4 1040000F */ beqz $v0, .L80032804
|
|
/* DBC8 800327C8 00000000 */ nop
|
|
/* DBCC 800327CC C4800514 */ lwc1 $f0, 0x514($a0)
|
|
/* DBD0 800327D0 3C013C23 */ lui $at, 0x3c23
|
|
/* DBD4 800327D4 3421D70A */ ori $at, $at, 0xd70a
|
|
/* DBD8 800327D8 44811000 */ mtc1 $at, $f2
|
|
/* DBDC 800327DC 00000000 */ nop
|
|
/* DBE0 800327E0 46020000 */ add.s $f0, $f0, $f2
|
|
/* DBE4 800327E4 3C013F80 */ lui $at, 0x3f80
|
|
/* DBE8 800327E8 44811000 */ mtc1 $at, $f2
|
|
/* DBEC 800327EC 00000000 */ nop
|
|
/* DBF0 800327F0 4600103C */ c.lt.s $f2, $f0
|
|
/* DBF4 800327F4 00000000 */ nop
|
|
/* DBF8 800327F8 45000002 */ bc1f .L80032804
|
|
/* DBFC 800327FC E4800514 */ swc1 $f0, 0x514($a0)
|
|
/* DC00 80032800 E4820514 */ swc1 $f2, 0x514($a0)
|
|
.L80032804:
|
|
/* DC04 80032804 C4800510 */ lwc1 $f0, 0x510($a0)
|
|
/* DC08 80032808 C482050C */ lwc1 $f2, 0x50c($a0)
|
|
/* DC0C 8003280C 46020001 */ sub.s $f0, $f0, $f2
|
|
/* DC10 80032810 44805000 */ mtc1 $zero, $f10
|
|
/* DC14 80032814 00000000 */ nop
|
|
/* DC18 80032818 460A0032 */ c.eq.s $f0, $f10
|
|
/* DC1C 8003281C 00000000 */ nop
|
|
/* DC20 80032820 45000003 */ bc1f .L80032830
|
|
/* DC24 80032824 00000000 */ nop
|
|
/* DC28 80032828 E48A0514 */ swc1 $f10, 0x514($a0)
|
|
/* DC2C 8003282C AC80051C */ sw $zero, 0x51c($a0)
|
|
.L80032830:
|
|
/* DC30 80032830 C4800510 */ lwc1 $f0, 0x510($a0)
|
|
/* DC34 80032834 C482050C */ lwc1 $f2, 0x50c($a0)
|
|
/* DC38 80032838 46020101 */ sub.s $f4, $f0, $f2
|
|
/* DC3C 8003283C C4800514 */ lwc1 $f0, 0x514($a0)
|
|
/* DC40 80032840 46002182 */ mul.s $f6, $f4, $f0
|
|
/* DC44 80032844 00000000 */ nop
|
|
/* DC48 80032848 4604503C */ c.lt.s $f10, $f4
|
|
/* DC4C 8003284C 00000000 */ nop
|
|
/* DC50 80032850 4500000D */ bc1f .L80032888
|
|
/* DC54 80032854 46002021 */ cvt.d.s $f0, $f4
|
|
/* DC58 80032858 3C01800A */ lui $at, %hi(D_80098260)
|
|
/* DC5C 8003285C D4228260 */ ldc1 $f2, %lo(D_80098260)($at)
|
|
/* DC60 80032860 4622003C */ c.lt.d $f0, $f2
|
|
/* DC64 80032864 00000000 */ nop
|
|
/* DC68 80032868 45030001 */ bc1tl .L80032870
|
|
/* DC6C 8003286C 46002186 */ mov.s $f6, $f4
|
|
.L80032870:
|
|
/* DC70 80032870 3C014040 */ lui $at, 0x4040
|
|
/* DC74 80032874 44810000 */ mtc1 $at, $f0
|
|
/* DC78 80032878 00000000 */ nop
|
|
/* DC7C 8003287C 4606003C */ c.lt.s $f0, $f6
|
|
/* DC80 80032880 0800CA2D */ j .L800328B4
|
|
/* DC84 80032884 00000000 */ nop
|
|
.L80032888:
|
|
/* DC88 80032888 3C01800A */ lui $at, %hi(D_80098268)
|
|
/* DC8C 8003288C D4228268 */ ldc1 $f2, %lo(D_80098268)($at)
|
|
/* DC90 80032890 4620103C */ c.lt.d $f2, $f0
|
|
/* DC94 80032894 00000000 */ nop
|
|
/* DC98 80032898 45030001 */ bc1tl .L800328A0
|
|
/* DC9C 8003289C 46002186 */ mov.s $f6, $f4
|
|
.L800328A0:
|
|
/* DCA0 800328A0 3C01C040 */ lui $at, 0xc040
|
|
/* DCA4 800328A4 44810000 */ mtc1 $at, $f0
|
|
/* DCA8 800328A8 00000000 */ nop
|
|
/* DCAC 800328AC 4600303C */ c.lt.s $f6, $f0
|
|
/* DCB0 800328B0 00000000 */ nop
|
|
.L800328B4:
|
|
/* DCB4 800328B4 45030001 */ bc1tl .L800328BC
|
|
/* DCB8 800328B8 46000186 */ mov.s $f6, $f0
|
|
.L800328BC:
|
|
/* DCBC 800328BC 44800000 */ mtc1 $zero, $f0
|
|
/* DCC0 800328C0 00000000 */ nop
|
|
/* DCC4 800328C4 46004032 */ c.eq.s $f8, $f0
|
|
/* DCC8 800328C8 00000000 */ nop
|
|
/* DCCC 800328CC 45000003 */ bc1f .L800328DC
|
|
/* DCD0 800328D0 00000000 */ nop
|
|
/* DCD4 800328D4 10C00005 */ beqz $a2, .L800328EC
|
|
/* DCD8 800328D8 00000000 */ nop
|
|
.L800328DC:
|
|
/* DCDC 800328DC C480050C */ lwc1 $f0, 0x50c($a0)
|
|
/* DCE0 800328E0 46060000 */ add.s $f0, $f0, $f6
|
|
/* DCE4 800328E4 03E00008 */ jr $ra
|
|
/* DCE8 800328E8 E480050C */ swc1 $f0, 0x50c($a0)
|
|
.L800328EC:
|
|
/* DCEC 800328EC 03E00008 */ jr $ra
|
|
/* DCF0 800328F0 E4800514 */ swc1 $f0, 0x514($a0)
|