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>
141 lines
7.1 KiB
ArmAsm
141 lines
7.1 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_80059550
|
|
/* 34950 80059550 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 34954 80059554 00063400 */ sll $a2, $a2, 0x10
|
|
/* 34958 80059558 00063403 */ sra $a2, $a2, 0x10
|
|
/* 3495C 8005955C 2CC20008 */ sltiu $v0, $a2, 8
|
|
/* 34960 80059560 1040007D */ beqz $v0, .L80059758
|
|
/* 34964 80059564 AFBF0010 */ sw $ra, 0x10($sp)
|
|
/* 34968 80059568 00061080 */ sll $v0, $a2, 2
|
|
/* 3496C 8005956C 3C01800A */ lui $at, %hi(D_80098950)
|
|
/* 34970 80059570 00220821 */ addu $at, $at, $v0
|
|
/* 34974 80059574 8C228950 */ lw $v0, %lo(D_80098950)($at)
|
|
/* 34978 80059578 00400008 */ jr $v0
|
|
/* 3497C 8005957C 00000000 */ nop
|
|
/* 34980 80059580 00051400 */ sll $v0, $a1, 0x10
|
|
/* 34984 80059584 00021403 */ sra $v0, $v0, 0x10
|
|
/* 34988 80059588 00021840 */ sll $v1, $v0, 1
|
|
/* 3498C 8005958C 00621821 */ addu $v1, $v1, $v0
|
|
/* 34990 80059590 8C82000C */ lw $v0, 0xc($a0)
|
|
/* 34994 80059594 00031900 */ sll $v1, $v1, 4
|
|
/* 34998 80059598 00621821 */ addu $v1, $v1, $v0
|
|
/* 3499C 8005959C 2402FFF8 */ addiu $v0, $zero, -8
|
|
/* 349A0 800595A0 00E21024 */ and $v0, $a3, $v0
|
|
/* 349A4 800595A4 080165D6 */ j .L80059758
|
|
/* 349A8 800595A8 AC620000 */ sw $v0, ($v1)
|
|
/* 349AC 800595AC 00051400 */ sll $v0, $a1, 0x10
|
|
/* 349B0 800595B0 00021403 */ sra $v0, $v0, 0x10
|
|
/* 349B4 800595B4 00021840 */ sll $v1, $v0, 1
|
|
/* 349B8 800595B8 00621821 */ addu $v1, $v1, $v0
|
|
/* 349BC 800595BC 8C82000C */ lw $v0, 0xc($a0)
|
|
/* 349C0 800595C0 00031900 */ sll $v1, $v1, 4
|
|
/* 349C4 800595C4 00621821 */ addu $v1, $v1, $v0
|
|
/* 349C8 800595C8 2402FFF8 */ addiu $v0, $zero, -8
|
|
/* 349CC 800595CC 00E21024 */ and $v0, $a3, $v0
|
|
/* 349D0 800595D0 080165D6 */ j .L80059758
|
|
/* 349D4 800595D4 AC620004 */ sw $v0, 4($v1)
|
|
/* 349D8 800595D8 00051400 */ sll $v0, $a1, 0x10
|
|
/* 349DC 800595DC 00021403 */ sra $v0, $v0, 0x10
|
|
/* 349E0 800595E0 00021840 */ sll $v1, $v0, 1
|
|
/* 349E4 800595E4 00621821 */ addu $v1, $v1, $v0
|
|
/* 349E8 800595E8 8C82000C */ lw $v0, 0xc($a0)
|
|
/* 349EC 800595EC 00031900 */ sll $v1, $v1, 4
|
|
/* 349F0 800595F0 00621821 */ addu $v1, $v1, $v0
|
|
/* 349F4 800595F4 080165D6 */ j .L80059758
|
|
/* 349F8 800595F8 A4670008 */ sh $a3, 8($v1)
|
|
/* 349FC 800595FC 00051400 */ sll $v0, $a1, 0x10
|
|
/* 34A00 80059600 00021403 */ sra $v0, $v0, 0x10
|
|
/* 34A04 80059604 00021840 */ sll $v1, $v0, 1
|
|
/* 34A08 80059608 00621821 */ addu $v1, $v1, $v0
|
|
/* 34A0C 8005960C 8C82000C */ lw $v0, 0xc($a0)
|
|
/* 34A10 80059610 00031900 */ sll $v1, $v1, 4
|
|
/* 34A14 80059614 00621821 */ addu $v1, $v1, $v0
|
|
/* 34A18 80059618 080165D6 */ j .L80059758
|
|
/* 34A1C 8005961C A467000A */ sh $a3, 0xa($v1)
|
|
/* 34A20 80059620 00051400 */ sll $v0, $a1, 0x10
|
|
/* 34A24 80059624 00021403 */ sra $v0, $v0, 0x10
|
|
/* 34A28 80059628 00021840 */ sll $v1, $v0, 1
|
|
/* 34A2C 8005962C 00621821 */ addu $v1, $v1, $v0
|
|
/* 34A30 80059630 8C82000C */ lw $v0, 0xc($a0)
|
|
/* 34A34 80059634 00031900 */ sll $v1, $v1, 4
|
|
/* 34A38 80059638 00621821 */ addu $v1, $v1, $v0
|
|
/* 34A3C 8005963C 080165D6 */ j .L80059758
|
|
/* 34A40 80059640 A467000C */ sh $a3, 0xc($v1)
|
|
/* 34A44 80059644 00051400 */ sll $v0, $a1, 0x10
|
|
/* 34A48 80059648 00021403 */ sra $v0, $v0, 0x10
|
|
/* 34A4C 8005964C 00021840 */ sll $v1, $v0, 1
|
|
/* 34A50 80059650 00621821 */ addu $v1, $v1, $v0
|
|
/* 34A54 80059654 00031900 */ sll $v1, $v1, 4
|
|
/* 34A58 80059658 44870000 */ mtc1 $a3, $f0
|
|
/* 34A5C 8005965C 00000000 */ nop
|
|
/* 34A60 80059660 46800020 */ cvt.s.w $f0, $f0
|
|
/* 34A64 80059664 3C01447A */ lui $at, 0x447a
|
|
/* 34A68 80059668 44811000 */ mtc1 $at, $f2
|
|
/* 34A6C 8005966C 8C82000C */ lw $v0, 0xc($a0)
|
|
/* 34A70 80059670 3C048008 */ lui $a0, %hi(D_80078E20)
|
|
/* 34A74 80059674 8C848E20 */ lw $a0, %lo(D_80078E20)($a0)
|
|
/* 34A78 80059678 46020003 */ div.s $f0, $f0, $f2
|
|
/* 34A7C 8005967C 46000021 */ cvt.d.s $f0, $f0
|
|
/* 34A80 80059680 46200000 */ add.d $f0, $f0, $f0
|
|
/* 34A84 80059684 00621821 */ addu $v1, $v1, $v0
|
|
/* 34A88 80059688 C4820008 */ lwc1 $f2, 8($a0)
|
|
/* 34A8C 8005968C 468010A1 */ cvt.d.w $f2, $f2
|
|
/* 34A90 80059690 46220003 */ div.d $f0, $f0, $f2
|
|
/* 34A94 80059694 46200020 */ cvt.s.d $f0, $f0
|
|
/* 34A98 80059698 080165D6 */ j .L80059758
|
|
/* 34A9C 8005969C E4600010 */ swc1 $f0, 0x10($v1)
|
|
/* 34AA0 800596A0 00051400 */ sll $v0, $a1, 0x10
|
|
/* 34AA4 800596A4 00021403 */ sra $v0, $v0, 0x10
|
|
/* 34AA8 800596A8 00021840 */ sll $v1, $v0, 1
|
|
/* 34AAC 800596AC 00621821 */ addu $v1, $v1, $v0
|
|
/* 34AB0 800596B0 00031900 */ sll $v1, $v1, 4
|
|
/* 34AB4 800596B4 44870000 */ mtc1 $a3, $f0
|
|
/* 34AB8 800596B8 00000000 */ nop
|
|
/* 34ABC 800596BC 46800020 */ cvt.s.w $f0, $f0
|
|
/* 34AC0 800596C0 46000021 */ cvt.d.s $f0, $f0
|
|
/* 34AC4 800596C4 8C82000C */ lw $v0, 0xc($a0)
|
|
/* 34AC8 800596C8 3C01800A */ lui $at, %hi(D_80098970)
|
|
/* 34ACC 800596CC D4228970 */ ldc1 $f2, %lo(D_80098970)($at)
|
|
/* 34AD0 800596D0 00622021 */ addu $a0, $v1, $v0
|
|
/* 34AD4 800596D4 8C830004 */ lw $v1, 4($a0)
|
|
/* 34AD8 800596D8 8C820000 */ lw $v0, ($a0)
|
|
/* 34ADC 800596DC 00621823 */ subu $v1, $v1, $v0
|
|
/* 34AE0 800596E0 44832000 */ mtc1 $v1, $f4
|
|
/* 34AE4 800596E4 00000000 */ nop
|
|
/* 34AE8 800596E8 46802121 */ cvt.d.w $f4, $f4
|
|
/* 34AEC 800596EC 04610006 */ bgez $v1, .L80059708
|
|
/* 34AF0 800596F0 46220083 */ div.d $f2, $f0, $f2
|
|
/* 34AF4 800596F4 3C0141F0 */ lui $at, 0x41f0
|
|
/* 34AF8 800596F8 44810800 */ mtc1 $at, $f1
|
|
/* 34AFC 800596FC 44800000 */ mtc1 $zero, $f0
|
|
/* 34B00 80059700 00000000 */ nop
|
|
/* 34B04 80059704 46202100 */ add.d $f4, $f4, $f0
|
|
.L80059708:
|
|
/* 34B08 80059708 46241002 */ mul.d $f0, $f2, $f4
|
|
/* 34B0C 8005970C 00000000 */ nop
|
|
/* 34B10 80059710 46200020 */ cvt.s.d $f0, $f0
|
|
/* 34B14 80059714 080165D6 */ j .L80059758
|
|
/* 34B18 80059718 E480001C */ swc1 $f0, 0x1c($a0)
|
|
/* 34B1C 8005971C 00051400 */ sll $v0, $a1, 0x10
|
|
/* 34B20 80059720 00021403 */ sra $v0, $v0, 0x10
|
|
/* 34B24 80059724 00021840 */ sll $v1, $v0, 1
|
|
/* 34B28 80059728 00621821 */ addu $v1, $v1, $v0
|
|
/* 34B2C 8005972C 8C82000C */ lw $v0, 0xc($a0)
|
|
/* 34B30 80059730 00031900 */ sll $v1, $v1, 4
|
|
/* 34B34 80059734 00621021 */ addu $v0, $v1, $v0
|
|
/* 34B38 80059738 8C420020 */ lw $v0, 0x20($v0)
|
|
/* 34B3C 8005973C 10400006 */ beqz $v0, .L80059758
|
|
/* 34B40 80059740 00000000 */ nop
|
|
/* 34B44 80059744 A4470000 */ sh $a3, ($v0)
|
|
/* 34B48 80059748 8C82000C */ lw $v0, 0xc($a0)
|
|
/* 34B4C 8005974C 00621021 */ addu $v0, $v1, $v0
|
|
/* 34B50 80059750 0C0162A0 */ jal func_80058A80
|
|
/* 34B54 80059754 8C440020 */ lw $a0, 0x20($v0)
|
|
.L80059758:
|
|
/* 34B58 80059758 8FBF0010 */ lw $ra, 0x10($sp)
|
|
/* 34B5C 8005975C 0000102D */ daddu $v0, $zero, $zero
|
|
/* 34B60 80059760 03E00008 */ jr $ra
|
|
/* 34B64 80059764 27BD0018 */ addiu $sp, $sp, 0x18
|