mirror of
https://github.com/pmret/papermario.git
synced 2024-11-15 07:22:29 +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>
69 lines
3.2 KiB
ArmAsm
69 lines
3.2 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_E007812C
|
|
/* 37A51C E007812C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 37A520 E0078130 AFBF0010 */ sw $ra, 0x10($sp)
|
|
/* 37A524 E0078134 8C850000 */ lw $a1, ($a0)
|
|
/* 37A528 E0078138 8C83000C */ lw $v1, 0xc($a0)
|
|
/* 37A52C E007813C 30A20010 */ andi $v0, $a1, 0x10
|
|
/* 37A530 E0078140 10400005 */ beqz $v0, .LE0078158
|
|
/* 37A534 E0078144 2402FFEF */ addiu $v0, $zero, -0x11
|
|
/* 37A538 E0078148 00A21024 */ and $v0, $a1, $v0
|
|
/* 37A53C E007814C AC820000 */ sw $v0, ($a0)
|
|
/* 37A540 E0078150 2402000A */ addiu $v0, $zero, 0xa
|
|
/* 37A544 E0078154 AC620014 */ sw $v0, 0x14($v1)
|
|
.LE0078158:
|
|
/* 37A548 E0078158 8C620018 */ lw $v0, 0x18($v1)
|
|
/* 37A54C E007815C 8C650014 */ lw $a1, 0x14($v1)
|
|
/* 37A550 E0078160 24420001 */ addiu $v0, $v0, 1
|
|
/* 37A554 E0078164 AC620018 */ sw $v0, 0x18($v1)
|
|
/* 37A558 E0078168 28A20064 */ slti $v0, $a1, 0x64
|
|
/* 37A55C E007816C 10400002 */ beqz $v0, .LE0078178
|
|
/* 37A560 E0078170 24A2FFFF */ addiu $v0, $a1, -1
|
|
/* 37A564 E0078174 AC620014 */ sw $v0, 0x14($v1)
|
|
.LE0078178:
|
|
/* 37A568 E0078178 8C620014 */ lw $v0, 0x14($v1)
|
|
/* 37A56C E007817C 04410005 */ bgez $v0, .LE0078194
|
|
/* 37A570 E0078180 00000000 */ nop
|
|
/* 37A574 E0078184 0C080128 */ jal func_E02004A0
|
|
/* 37A578 E0078188 00000000 */ nop
|
|
/* 37A57C E007818C 0801E081 */ j .LE0078204
|
|
/* 37A580 E0078190 00000000 */ nop
|
|
.LE0078194:
|
|
/* 37A584 E0078194 8C620000 */ lw $v0, ($v1)
|
|
/* 37A588 E0078198 8C640018 */ lw $a0, 0x18($v1)
|
|
/* 37A58C E007819C 14400019 */ bnez $v0, .LE0078204
|
|
/* 37A590 E00781A0 2882000B */ slti $v0, $a0, 0xb
|
|
/* 37A594 E00781A4 10400005 */ beqz $v0, .LE00781BC
|
|
/* 37A598 E00781A8 00041040 */ sll $v0, $a0, 1
|
|
/* 37A59C E00781AC 00441021 */ addu $v0, $v0, $a0
|
|
/* 37A5A0 E00781B0 00021040 */ sll $v0, $v0, 1
|
|
/* 37A5A4 E00781B4 0801E070 */ j .LE00781C0
|
|
/* 37A5A8 E00781B8 24420004 */ addiu $v0, $v0, 4
|
|
.LE00781BC:
|
|
/* 37A5AC E00781BC 24020040 */ addiu $v0, $zero, 0x40
|
|
.LE00781C0:
|
|
/* 37A5B0 E00781C0 AC620010 */ sw $v0, 0x10($v1)
|
|
/* 37A5B4 E00781C4 30820001 */ andi $v0, $a0, 1
|
|
/* 37A5B8 E00781C8 10400009 */ beqz $v0, .LE00781F0
|
|
/* 37A5BC E00781CC 2882000F */ slti $v0, $a0, 0xf
|
|
/* 37A5C0 E00781D0 3C01E008 */ lui $at, %hi(D_E00789D0)
|
|
/* 37A5C4 E00781D4 D42289D0 */ ldc1 $f2, %lo(D_E00789D0)($at)
|
|
/* 37A5C8 E00781D8 C4600010 */ lwc1 $f0, 0x10($v1)
|
|
/* 37A5CC E00781DC 46800021 */ cvt.d.w $f0, $f0
|
|
/* 37A5D0 E00781E0 46220002 */ mul.d $f0, $f0, $f2
|
|
/* 37A5D4 E00781E4 00000000 */ nop
|
|
/* 37A5D8 E00781E8 4620010D */ trunc.w.d $f4, $f0
|
|
/* 37A5DC E00781EC E4640010 */ swc1 $f4, 0x10($v1)
|
|
.LE00781F0:
|
|
/* 37A5E0 E00781F0 14400004 */ bnez $v0, .LE0078204
|
|
/* 37A5E4 E00781F4 24020004 */ addiu $v0, $zero, 4
|
|
/* 37A5E8 E00781F8 AC620000 */ sw $v0, ($v1)
|
|
/* 37A5EC E00781FC 2402007F */ addiu $v0, $zero, 0x7f
|
|
/* 37A5F0 E0078200 AC620010 */ sw $v0, 0x10($v1)
|
|
.LE0078204:
|
|
/* 37A5F4 E0078204 8FBF0010 */ lw $ra, 0x10($sp)
|
|
/* 37A5F8 E0078208 03E00008 */ jr $ra
|
|
/* 37A5FC E007820C 27BD0018 */ addiu $sp, $sp, 0x18
|