papermario/ver/jp/asm/nonmatchings/2570/func_800275D0.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

106 lines
5.1 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800275D0
/* 29D0 800275D0 27BDFF98 */ addiu $sp, $sp, -0x68
/* 29D4 800275D4 0080502D */ daddu $t2, $a0, $zero
/* 29D8 800275D8 0000302D */ daddu $a2, $zero, $zero
/* 29DC 800275DC 27A90008 */ addiu $t1, $sp, 8
/* 29E0 800275E0 27A80028 */ addiu $t0, $sp, 0x28
/* 29E4 800275E4 27A70048 */ addiu $a3, $sp, 0x48
.L800275E8:
/* 29E8 800275E8 01261021 */ addu $v0, $t1, $a2
/* 29EC 800275EC 01061821 */ addu $v1, $t0, $a2
/* 29F0 800275F0 00E62021 */ addu $a0, $a3, $a2
/* 29F4 800275F4 24C60001 */ addiu $a2, $a2, 1
/* 29F8 800275F8 A0400000 */ sb $zero, ($v0)
/* 29FC 800275FC 28C20020 */ slti $v0, $a2, 0x20
/* 2A00 80027600 A0600000 */ sb $zero, ($v1)
/* 2A04 80027604 1440FFF8 */ bnez $v0, .L800275E8
/* 2A08 80027608 A0800000 */ sb $zero, ($a0)
/* 2A0C 8002760C 0000302D */ daddu $a2, $zero, $zero
/* 2A10 80027610 27A90008 */ addiu $t1, $sp, 8
/* 2A14 80027614 27A80028 */ addiu $t0, $sp, 0x28
/* 2A18 80027618 27A70048 */ addiu $a3, $sp, 0x48
/* 2A1C 8002761C 0140202D */ daddu $a0, $t2, $zero
.L80027620:
/* 2A20 80027620 90830000 */ lbu $v1, ($a0)
/* 2A24 80027624 01231821 */ addu $v1, $t1, $v1
/* 2A28 80027628 90620000 */ lbu $v0, ($v1)
/* 2A2C 8002762C 24420001 */ addiu $v0, $v0, 1
/* 2A30 80027630 A0620000 */ sb $v0, ($v1)
/* 2A34 80027634 90830001 */ lbu $v1, 1($a0)
/* 2A38 80027638 01031821 */ addu $v1, $t0, $v1
/* 2A3C 8002763C 90620000 */ lbu $v0, ($v1)
/* 2A40 80027640 24420001 */ addiu $v0, $v0, 1
/* 2A44 80027644 A0620000 */ sb $v0, ($v1)
/* 2A48 80027648 90830002 */ lbu $v1, 2($a0)
/* 2A4C 8002764C 24C60001 */ addiu $a2, $a2, 1
/* 2A50 80027650 00E31821 */ addu $v1, $a3, $v1
/* 2A54 80027654 90620000 */ lbu $v0, ($v1)
/* 2A58 80027658 24420001 */ addiu $v0, $v0, 1
/* 2A5C 8002765C A0620000 */ sb $v0, ($v1)
/* 2A60 80027660 28C20009 */ slti $v0, $a2, 9
/* 2A64 80027664 1440FFEE */ bnez $v0, .L80027620
/* 2A68 80027668 24840004 */ addiu $a0, $a0, 4
/* 2A6C 8002766C 0000182D */ daddu $v1, $zero, $zero
/* 2A70 80027670 0060302D */ daddu $a2, $v1, $zero
/* 2A74 80027674 27A40008 */ addiu $a0, $sp, 8
/* 2A78 80027678 00861021 */ addu $v0, $a0, $a2
.L8002767C:
/* 2A7C 8002767C 90420000 */ lbu $v0, ($v0)
/* 2A80 80027680 00621821 */ addu $v1, $v1, $v0
/* 2A84 80027684 28620005 */ slti $v0, $v1, 5
/* 2A88 80027688 50400006 */ beql $v0, $zero, .L800276A4
/* 2A8C 8002768C A3A60000 */ sb $a2, ($sp)
/* 2A90 80027690 24C60001 */ addiu $a2, $a2, 1
/* 2A94 80027694 28C20020 */ slti $v0, $a2, 0x20
/* 2A98 80027698 1440FFF8 */ bnez $v0, .L8002767C
/* 2A9C 8002769C 00861021 */ addu $v0, $a0, $a2
/* 2AA0 800276A0 A3A60000 */ sb $a2, ($sp)
.L800276A4:
/* 2AA4 800276A4 0000182D */ daddu $v1, $zero, $zero
/* 2AA8 800276A8 0060302D */ daddu $a2, $v1, $zero
/* 2AAC 800276AC 27A40028 */ addiu $a0, $sp, 0x28
/* 2AB0 800276B0 00861021 */ addu $v0, $a0, $a2
.L800276B4:
/* 2AB4 800276B4 90420000 */ lbu $v0, ($v0)
/* 2AB8 800276B8 00621821 */ addu $v1, $v1, $v0
/* 2ABC 800276BC 28620005 */ slti $v0, $v1, 5
/* 2AC0 800276C0 50400006 */ beql $v0, $zero, .L800276DC
/* 2AC4 800276C4 A3A60001 */ sb $a2, 1($sp)
/* 2AC8 800276C8 24C60001 */ addiu $a2, $a2, 1
/* 2ACC 800276CC 28C20020 */ slti $v0, $a2, 0x20
/* 2AD0 800276D0 1440FFF8 */ bnez $v0, .L800276B4
/* 2AD4 800276D4 00861021 */ addu $v0, $a0, $a2
/* 2AD8 800276D8 A3A60001 */ sb $a2, 1($sp)
.L800276DC:
/* 2ADC 800276DC 0000182D */ daddu $v1, $zero, $zero
/* 2AE0 800276E0 0060302D */ daddu $a2, $v1, $zero
/* 2AE4 800276E4 27A40048 */ addiu $a0, $sp, 0x48
/* 2AE8 800276E8 00861021 */ addu $v0, $a0, $a2
.L800276EC:
/* 2AEC 800276EC 90420000 */ lbu $v0, ($v0)
/* 2AF0 800276F0 00621821 */ addu $v1, $v1, $v0
/* 2AF4 800276F4 28620005 */ slti $v0, $v1, 5
/* 2AF8 800276F8 50400006 */ beql $v0, $zero, .L80027714
/* 2AFC 800276FC A3A60002 */ sb $a2, 2($sp)
/* 2B00 80027700 24C60001 */ addiu $a2, $a2, 1
/* 2B04 80027704 28C20020 */ slti $v0, $a2, 0x20
/* 2B08 80027708 1440FFF8 */ bnez $v0, .L800276EC
/* 2B0C 8002770C 00861021 */ addu $v0, $a0, $a2
/* 2B10 80027710 A3A60002 */ sb $a2, 2($sp)
.L80027714:
/* 2B14 80027714 30C300FF */ andi $v1, $a2, 0xff
/* 2B18 80027718 00031840 */ sll $v1, $v1, 1
/* 2B1C 8002771C 93A20000 */ lbu $v0, ($sp)
/* 2B20 80027720 93A40001 */ lbu $a0, 1($sp)
/* 2B24 80027724 000212C0 */ sll $v0, $v0, 0xb
/* 2B28 80027728 00042180 */ sll $a0, $a0, 6
/* 2B2C 8002772C 00441021 */ addu $v0, $v0, $a0
/* 2B30 80027730 00431021 */ addu $v0, $v0, $v1
/* 2B34 80027734 24420001 */ addiu $v0, $v0, 1
/* 2B38 80027738 A4A20000 */ sh $v0, ($a1)
/* 2B3C 8002773C 03E00008 */ jr $ra
/* 2B40 80027740 27BD0068 */ addiu $sp, $sp, 0x68