papermario/ver/jp/asm/nonmatchings/2DEE0/func_80053304.s
Ethan Roseman 3315d6010f
Splat refactor (#257)
* 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>
2021-04-13 16:47:52 +09:00

162 lines
7.8 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80053304
/* 2E704 80053304 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 2E708 80053308 AFB3002C */ sw $s3, 0x2c($sp)
/* 2E70C 8005330C 0080982D */ daddu $s3, $a0, $zero
/* 2E710 80053310 AFBF0034 */ sw $ra, 0x34($sp)
/* 2E714 80053314 AFB40030 */ sw $s4, 0x30($sp)
/* 2E718 80053318 AFB20028 */ sw $s2, 0x28($sp)
/* 2E71C 8005331C AFB10024 */ sw $s1, 0x24($sp)
/* 2E720 80053320 AFB00020 */ sw $s0, 0x20($sp)
/* 2E724 80053324 9262130C */ lbu $v0, 0x130c($s3)
/* 2E728 80053328 24100002 */ addiu $s0, $zero, 2
/* 2E72C 8005332C 14500003 */ bne $v0, $s0, .L8005333C
/* 2E730 80053330 24020001 */ addiu $v0, $zero, 1
/* 2E734 80053334 0C015ED8 */ jal func_80057B60
/* 2E738 80053338 A262130C */ sb $v0, 0x130c($s3)
.L8005333C:
/* 2E73C 8005333C 92620050 */ lbu $v0, 0x50($s3)
/* 2E740 80053340 1040001B */ beqz $v0, .L800533B0
/* 2E744 80053344 00000000 */ nop
/* 2E748 80053348 9262130C */ lbu $v0, 0x130c($s3)
/* 2E74C 8005334C 14400018 */ bnez $v0, .L800533B0
/* 2E750 80053350 24020001 */ addiu $v0, $zero, 1
/* 2E754 80053354 92630053 */ lbu $v1, 0x53($s3)
/* 2E758 80053358 10620005 */ beq $v1, $v0, .L80053370
/* 2E75C 8005335C 00000000 */ nop
/* 2E760 80053360 10700009 */ beq $v1, $s0, .L80053388
/* 2E764 80053364 00000000 */ nop
/* 2E768 80053368 08014CE9 */ j .L800533A4
/* 2E76C 8005336C 00000000 */ nop
.L80053370:
/* 2E770 80053370 0C015E9E */ jal func_80057A78
/* 2E774 80053374 92640052 */ lbu $a0, 0x52($s3)
/* 2E778 80053378 0C015EAE */ jal func_80057AB8
/* 2E77C 8005337C 92640051 */ lbu $a0, 0x51($s3)
/* 2E780 80053380 08014CEC */ j .L800533B0
/* 2E784 80053384 A2600050 */ sb $zero, 0x50($s3)
.L80053388:
/* 2E788 80053388 92640052 */ lbu $a0, 0x52($s3)
/* 2E78C 8005338C 0C015E9E */ jal func_80057A78
/* 2E790 80053390 00000000 */ nop
/* 2E794 80053394 0C015EC3 */ jal func_80057B0C
/* 2E798 80053398 92640051 */ lbu $a0, 0x51($s3)
/* 2E79C 8005339C 08014CEC */ j .L800533B0
/* 2E7A0 800533A0 A2600050 */ sb $zero, 0x50($s3)
.L800533A4:
/* 2E7A4 800533A4 0C015ED8 */ jal func_80057B60
/* 2E7A8 800533A8 00000000 */ nop
/* 2E7AC 800533AC A2600050 */ sb $zero, 0x50($s3)
.L800533B0:
/* 2E7B0 800533B0 92620041 */ lbu $v0, 0x41($s3)
/* 2E7B4 800533B4 10400005 */ beqz $v0, .L800533CC
/* 2E7B8 800533B8 00000000 */ nop
/* 2E7BC 800533BC 92650040 */ lbu $a1, 0x40($s3)
/* 2E7C0 800533C0 0C015A9F */ jal func_80056A7C
/* 2E7C4 800533C4 0000202D */ daddu $a0, $zero, $zero
/* 2E7C8 800533C8 A2600041 */ sb $zero, 0x41($s3)
.L800533CC:
/* 2E7CC 800533CC 92620045 */ lbu $v0, 0x45($s3)
/* 2E7D0 800533D0 10400005 */ beqz $v0, .L800533E8
/* 2E7D4 800533D4 00000000 */ nop
/* 2E7D8 800533D8 92650044 */ lbu $a1, 0x44($s3)
/* 2E7DC 800533DC 0C015A9F */ jal func_80056A7C
/* 2E7E0 800533E0 24040001 */ addiu $a0, $zero, 1
/* 2E7E4 800533E4 A2600045 */ sb $zero, 0x45($s3)
.L800533E8:
/* 2E7E8 800533E8 92620049 */ lbu $v0, 0x49($s3)
/* 2E7EC 800533EC 10400005 */ beqz $v0, .L80053404
/* 2E7F0 800533F0 00000000 */ nop
/* 2E7F4 800533F4 92650048 */ lbu $a1, 0x48($s3)
/* 2E7F8 800533F8 0C015A9F */ jal func_80056A7C
/* 2E7FC 800533FC 24040002 */ addiu $a0, $zero, 2
/* 2E800 80053400 A2600049 */ sb $zero, 0x49($s3)
.L80053404:
/* 2E804 80053404 9262004D */ lbu $v0, 0x4d($s3)
/* 2E808 80053408 10400006 */ beqz $v0, .L80053424
/* 2E80C 8005340C 0000902D */ daddu $s2, $zero, $zero
/* 2E810 80053410 9265004C */ lbu $a1, 0x4c($s3)
/* 2E814 80053414 0C015A9F */ jal func_80056A7C
/* 2E818 80053418 24040003 */ addiu $a0, $zero, 3
/* 2E81C 8005341C A260004D */ sb $zero, 0x4d($s3)
/* 2E820 80053420 0000902D */ daddu $s2, $zero, $zero
.L80053424:
/* 2E824 80053424 24141320 */ addiu $s4, $zero, 0x1320
.L80053428:
/* 2E828 80053428 02748021 */ addu $s0, $s3, $s4
/* 2E82C 8005342C 92020042 */ lbu $v0, 0x42($s0)
/* 2E830 80053430 92110043 */ lbu $s1, 0x43($s0)
/* 2E834 80053434 10400007 */ beqz $v0, .L80053454
/* 2E838 80053438 32220002 */ andi $v0, $s1, 2
/* 2E83C 8005343C 0C015AE6 */ jal func_80056B98
/* 2E840 80053440 324400FF */ andi $a0, $s2, 0xff
/* 2E844 80053444 A2000042 */ sb $zero, 0x42($s0)
/* 2E848 80053448 AE00001C */ sw $zero, 0x1c($s0)
/* 2E84C 8005344C A2000045 */ sb $zero, 0x45($s0)
/* 2E850 80053450 32220002 */ andi $v0, $s1, 2
.L80053454:
/* 2E854 80053454 10400013 */ beqz $v0, .L800534A4
/* 2E858 80053458 0200202D */ daddu $a0, $s0, $zero
/* 2E85C 8005345C 0C014A2A */ jal func_800528A8
/* 2E860 80053460 26050014 */ addiu $a1, $s0, 0x14
/* 2E864 80053464 8602000C */ lh $v0, 0xc($s0)
/* 2E868 80053468 92050010 */ lbu $a1, 0x10($s0)
/* 2E86C 8005346C AFA20010 */ sw $v0, 0x10($sp)
/* 2E870 80053470 9202000E */ lbu $v0, 0xe($s0)
/* 2E874 80053474 AFA20014 */ sw $v0, 0x14($sp)
/* 2E878 80053478 9202000F */ lbu $v0, 0xf($s0)
/* 2E87C 8005347C AFA20018 */ sw $v0, 0x18($sp)
/* 2E880 80053480 8E020008 */ lw $v0, 8($s0)
/* 2E884 80053484 AFA2001C */ sw $v0, 0x1c($sp)
/* 2E888 80053488 8E060000 */ lw $a2, ($s0)
/* 2E88C 8005348C 8E070004 */ lw $a3, 4($s0)
/* 2E890 80053490 0C015B15 */ jal func_80056C54
/* 2E894 80053494 324400FF */ andi $a0, $s2, 0xff
/* 2E898 80053498 92020044 */ lbu $v0, 0x44($s0)
/* 2E89C 8005349C 08014D41 */ j .L80053504
/* 2E8A0 800534A0 A2020045 */ sb $v0, 0x45($s0)
.L800534A4:
/* 2E8A4 800534A4 32220008 */ andi $v0, $s1, 8
/* 2E8A8 800534A8 10400005 */ beqz $v0, .L800534C0
/* 2E8AC 800534AC 32220004 */ andi $v0, $s1, 4
/* 2E8B0 800534B0 8E050004 */ lw $a1, 4($s0)
/* 2E8B4 800534B4 0C015BFD */ jal func_80056FF4
/* 2E8B8 800534B8 324400FF */ andi $a0, $s2, 0xff
/* 2E8BC 800534BC 32220004 */ andi $v0, $s1, 4
.L800534C0:
/* 2E8C0 800534C0 1040000A */ beqz $v0, .L800534EC
/* 2E8C4 800534C4 32220010 */ andi $v0, $s1, 0x10
/* 2E8C8 800534C8 9202000F */ lbu $v0, 0xf($s0)
/* 2E8CC 800534CC 8605000C */ lh $a1, 0xc($s0)
/* 2E8D0 800534D0 9207000E */ lbu $a3, 0xe($s0)
/* 2E8D4 800534D4 AFA20010 */ sw $v0, 0x10($sp)
/* 2E8D8 800534D8 8E060008 */ lw $a2, 8($s0)
/* 2E8DC 800534DC 0C015C07 */ jal func_8005701C
/* 2E8E0 800534E0 324400FF */ andi $a0, $s2, 0xff
/* 2E8E4 800534E4 08014D42 */ j .L80053508
/* 2E8E8 800534E8 A2000043 */ sb $zero, 0x43($s0)
.L800534EC:
/* 2E8EC 800534EC 50400006 */ beql $v0, $zero, .L80053508
/* 2E8F0 800534F0 A2000043 */ sb $zero, 0x43($s0)
/* 2E8F4 800534F4 9205000E */ lbu $a1, 0xe($s0)
/* 2E8F8 800534F8 9206000F */ lbu $a2, 0xf($s0)
/* 2E8FC 800534FC 0C015C7E */ jal func_800571F8
/* 2E900 80053500 324400FF */ andi $a0, $s2, 0xff
.L80053504:
/* 2E904 80053504 A2000043 */ sb $zero, 0x43($s0)
.L80053508:
/* 2E908 80053508 26520001 */ addiu $s2, $s2, 1
/* 2E90C 8005350C 2E420018 */ sltiu $v0, $s2, 0x18
/* 2E910 80053510 1440FFC5 */ bnez $v0, .L80053428
/* 2E914 80053514 26940048 */ addiu $s4, $s4, 0x48
/* 2E918 80053518 8FBF0034 */ lw $ra, 0x34($sp)
/* 2E91C 8005351C 8FB40030 */ lw $s4, 0x30($sp)
/* 2E920 80053520 8FB3002C */ lw $s3, 0x2c($sp)
/* 2E924 80053524 8FB20028 */ lw $s2, 0x28($sp)
/* 2E928 80053528 8FB10024 */ lw $s1, 0x24($sp)
/* 2E92C 8005352C 8FB00020 */ lw $s0, 0x20($sp)
/* 2E930 80053530 03E00008 */ jr $ra
/* 2E934 80053534 27BD0038 */ addiu $sp, $sp, 0x38