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>
121 lines
5.8 KiB
ArmAsm
121 lines
5.8 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_8011EA54
|
|
/* B5154 8011EA54 3C028007 */ lui $v0, %hi(gGameStatusPtr)
|
|
/* B5158 8011EA58 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
|
|
/* B515C 8011EA5C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* B5160 8011EA60 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* B5164 8011EA64 AFB20018 */ sw $s2, 0x18($sp)
|
|
/* B5168 8011EA68 AFB10014 */ sw $s1, 0x14($sp)
|
|
/* B516C 8011EA6C AFB00010 */ sw $s0, 0x10($sp)
|
|
/* B5170 8011EA70 80420070 */ lb $v0, 0x70($v0)
|
|
/* B5174 8011EA74 10400004 */ beqz $v0, .L8011EA88
|
|
/* B5178 8011EA78 00A0882D */ daddu $s1, $a1, $zero
|
|
/* B517C 8011EA7C 30820800 */ andi $v0, $a0, 0x800
|
|
/* B5180 8011EA80 10400055 */ beqz $v0, .L8011EBD8
|
|
/* B5184 8011EA84 00000000 */ nop
|
|
.L8011EA88:
|
|
/* B5188 8011EA88 2402F7FF */ addiu $v0, $zero, -0x801
|
|
/* B518C 8011EA8C 00822024 */ and $a0, $a0, $v0
|
|
/* B5190 8011EA90 3C038015 */ lui $v1, %hi(gCurrentAnimMeshListPtr)
|
|
/* B5194 8011EA94 8C633A40 */ lw $v1, %lo(gCurrentAnimMeshListPtr)($v1)
|
|
/* B5198 8011EA98 00041080 */ sll $v0, $a0, 2
|
|
/* B519C 8011EA9C 00431021 */ addu $v0, $v0, $v1
|
|
/* B51A0 8011EAA0 8C500000 */ lw $s0, ($v0)
|
|
/* B51A4 8011EAA4 1200004C */ beqz $s0, .L8011EBD8
|
|
/* B51A8 8011EAA8 00000000 */ nop
|
|
/* B51AC 8011EAAC 8E040000 */ lw $a0, ($s0)
|
|
/* B51B0 8011EAB0 10800049 */ beqz $a0, .L8011EBD8
|
|
/* B51B4 8011EAB4 3C020004 */ lui $v0, 4
|
|
/* B51B8 8011EAB8 00821024 */ and $v0, $a0, $v0
|
|
/* B51BC 8011EABC 14400046 */ bnez $v0, .L8011EBD8
|
|
/* B51C0 8011EAC0 0000182D */ daddu $v1, $zero, $zero
|
|
/* B51C4 8011EAC4 C6000090 */ lwc1 $f0, 0x90($s0)
|
|
/* B51C8 8011EAC8 C6020094 */ lwc1 $f2, 0x94($s0)
|
|
/* B51CC 8011EACC 2402FFBF */ addiu $v0, $zero, -0x41
|
|
/* B51D0 8011EAD0 46020001 */ sub.s $f0, $f0, $f2
|
|
/* B51D4 8011EAD4 44801000 */ mtc1 $zero, $f2
|
|
/* B51D8 8011EAD8 00821024 */ and $v0, $a0, $v0
|
|
/* B51DC 8011EADC AE020000 */ sw $v0, ($s0)
|
|
/* B51E0 8011EAE0 4602003E */ c.le.s $f0, $f2
|
|
/* B51E4 8011EAE4 00000000 */ nop
|
|
/* B51E8 8011EAE8 45000014 */ bc1f .L8011EB3C
|
|
/* B51EC 8011EAEC E6000090 */ swc1 $f0, 0x90($s0)
|
|
/* B51F0 8011EAF0 30428000 */ andi $v0, $v0, 0x8000
|
|
/* B51F4 8011EAF4 14400008 */ bnez $v0, .L8011EB18
|
|
/* B51F8 8011EAF8 0200202D */ daddu $a0, $s0, $zero
|
|
.L8011EAFC:
|
|
/* B51FC 8011EAFC 0C047AFC */ jal func_8011EBF0
|
|
/* B5200 8011EB00 0200202D */ daddu $a0, $s0, $zero
|
|
/* B5204 8011EB04 0040182D */ daddu $v1, $v0, $zero
|
|
/* B5208 8011EB08 1C60FFFC */ bgtz $v1, .L8011EAFC
|
|
/* B520C 8011EB0C 2402FFFF */ addiu $v0, $zero, -1
|
|
/* B5210 8011EB10 08047AD0 */ j .L8011EB40
|
|
/* B5214 8011EB14 00000000 */ nop
|
|
.L8011EB18:
|
|
/* B5218 8011EB18 3C013F80 */ lui $at, 0x3f80
|
|
/* B521C 8011EB1C 44810000 */ mtc1 $at, $f0
|
|
/* B5220 8011EB20 0C04819E */ jal func_80120678
|
|
/* B5224 8011EB24 E6000090 */ swc1 $f0, 0x90($s0)
|
|
.L8011EB28:
|
|
/* B5228 8011EB28 0C0481BE */ jal func_801206F8
|
|
/* B522C 8011EB2C 0200202D */ daddu $a0, $s0, $zero
|
|
/* B5230 8011EB30 0040182D */ daddu $v1, $v0, $zero
|
|
/* B5234 8011EB34 1C60FFFC */ bgtz $v1, .L8011EB28
|
|
/* B5238 8011EB38 00000000 */ nop
|
|
.L8011EB3C:
|
|
/* B523C 8011EB3C 2402FFFF */ addiu $v0, $zero, -1
|
|
.L8011EB40:
|
|
/* B5240 8011EB40 10620025 */ beq $v1, $v0, .L8011EBD8
|
|
/* B5244 8011EB44 0200202D */ daddu $a0, $s0, $zero
|
|
/* B5248 8011EB48 0C047C16 */ jal func_8011F058
|
|
/* B524C 8011EB4C 0220282D */ daddu $a1, $s1, $zero
|
|
/* B5250 8011EB50 0000882D */ daddu $s1, $zero, $zero
|
|
/* B5254 8011EB54 2412FFFF */ addiu $s2, $zero, -1
|
|
/* B5258 8011EB58 3C108015 */ lui $s0, %hi(D_801533C0)
|
|
/* B525C 8011EB5C 261033C0 */ addiu $s0, $s0, %lo(D_801533C0)
|
|
.L8011EB60:
|
|
/* B5260 8011EB60 8E020000 */ lw $v0, ($s0)
|
|
/* B5264 8011EB64 04420008 */ bltzl $v0, .L8011EB88
|
|
/* B5268 8011EB68 26310001 */ addiu $s1, $s1, 1
|
|
/* B526C 8011EB6C 2442FFFF */ addiu $v0, $v0, -1
|
|
/* B5270 8011EB70 14400004 */ bnez $v0, .L8011EB84
|
|
/* B5274 8011EB74 AE020000 */ sw $v0, ($s0)
|
|
/* B5278 8011EB78 8E040004 */ lw $a0, 4($s0)
|
|
/* B527C 8011EB7C 0C00AB1E */ jal general_heap_free
|
|
/* B5280 8011EB80 AE120000 */ sw $s2, ($s0)
|
|
.L8011EB84:
|
|
/* B5284 8011EB84 26310001 */ addiu $s1, $s1, 1
|
|
.L8011EB88:
|
|
/* B5288 8011EB88 2A220060 */ slti $v0, $s1, 0x60
|
|
/* B528C 8011EB8C 1440FFF4 */ bnez $v0, .L8011EB60
|
|
/* B5290 8011EB90 26100008 */ addiu $s0, $s0, 8
|
|
/* B5294 8011EB94 0000882D */ daddu $s1, $zero, $zero
|
|
/* B5298 8011EB98 2412FFFF */ addiu $s2, $zero, -1
|
|
/* B529C 8011EB9C 3C108015 */ lui $s0, %hi(D_801536C0)
|
|
/* B52A0 8011EBA0 261036C0 */ addiu $s0, $s0, %lo(D_801536C0)
|
|
.L8011EBA4:
|
|
/* B52A4 8011EBA4 8E020000 */ lw $v0, ($s0)
|
|
/* B52A8 8011EBA8 04420008 */ bltzl $v0, .L8011EBCC
|
|
/* B52AC 8011EBAC 26310001 */ addiu $s1, $s1, 1
|
|
/* B52B0 8011EBB0 2442FFFF */ addiu $v0, $v0, -1
|
|
/* B52B4 8011EBB4 14400004 */ bnez $v0, .L8011EBC8
|
|
/* B52B8 8011EBB8 AE020000 */ sw $v0, ($s0)
|
|
/* B52BC 8011EBBC 8E040004 */ lw $a0, 4($s0)
|
|
/* B52C0 8011EBC0 0C00AB1E */ jal general_heap_free
|
|
/* B52C4 8011EBC4 AE120000 */ sw $s2, ($s0)
|
|
.L8011EBC8:
|
|
/* B52C8 8011EBC8 26310001 */ addiu $s1, $s1, 1
|
|
.L8011EBCC:
|
|
/* B52CC 8011EBCC 2A220060 */ slti $v0, $s1, 0x60
|
|
/* B52D0 8011EBD0 1440FFF4 */ bnez $v0, .L8011EBA4
|
|
/* B52D4 8011EBD4 26100008 */ addiu $s0, $s0, 8
|
|
.L8011EBD8:
|
|
/* B52D8 8011EBD8 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* B52DC 8011EBDC 8FB20018 */ lw $s2, 0x18($sp)
|
|
/* B52E0 8011EBE0 8FB10014 */ lw $s1, 0x14($sp)
|
|
/* B52E4 8011EBE4 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* B52E8 8011EBE8 03E00008 */ jr $ra
|
|
/* B52EC 8011EBEC 27BD0020 */ addiu $sp, $sp, 0x20
|