papermario/ver/jp/asm/nonmatchings/42B0/func_8002902C.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

74 lines
3.5 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8002902C
/* 442C 8002902C 24A5000F */ addiu $a1, $a1, 0xf
/* 4430 80029030 2402FFF0 */ addiu $v0, $zero, -0x10
/* 4434 80029034 00A22824 */ and $a1, $a1, $v0
/* 4438 80029038 14A00003 */ bnez $a1, .L80029048
/* 443C 8002903C 0000382D */ daddu $a3, $zero, $zero
/* 4440 80029040 03E00008 */ jr $ra
/* 4444 80029044 00E0102D */ daddu $v0, $a3, $zero
.L80029048:
/* 4448 80029048 0000402D */ daddu $t0, $zero, $zero
/* 444C 8002904C 0100502D */ daddu $t2, $t0, $zero
/* 4450 80029050 0080302D */ daddu $a2, $a0, $zero
.L80029054:
/* 4454 80029054 94C20008 */ lhu $v0, 8($a2)
/* 4458 80029058 1440000C */ bnez $v0, .L8002908C
/* 445C 8002905C 00000000 */ nop
/* 4460 80029060 8CC30004 */ lw $v1, 4($a2)
/* 4464 80029064 0065102B */ sltu $v0, $v1, $a1
/* 4468 80029068 14400008 */ bnez $v0, .L8002908C
/* 446C 8002906C 0068102B */ sltu $v0, $v1, $t0
/* 4470 80029070 54400004 */ bnel $v0, $zero, .L80029084
/* 4474 80029074 00C0382D */ daddu $a3, $a2, $zero
/* 4478 80029078 15000004 */ bnez $t0, .L8002908C
/* 447C 8002907C 00000000 */ nop
/* 4480 80029080 00C0382D */ daddu $a3, $a2, $zero
.L80029084:
/* 4484 80029084 0060402D */ daddu $t0, $v1, $zero
/* 4488 80029088 8CEA0000 */ lw $t2, ($a3)
.L8002908C:
/* 448C 8002908C 8CC40000 */ lw $a0, ($a2)
/* 4490 80029090 5480FFF0 */ bnel $a0, $zero, .L80029054
/* 4494 80029094 0080302D */ daddu $a2, $a0, $zero
/* 4498 80029098 11000020 */ beqz $t0, .L8002911C
/* 449C 8002909C 24A90010 */ addiu $t1, $a1, 0x10
/* 44A0 800290A0 0109102B */ sltu $v0, $t0, $t1
/* 44A4 800290A4 54400012 */ bnel $v0, $zero, .L800290F0
/* 44A8 800290A8 ACEA0000 */ sw $t2, ($a3)
/* 44AC 800290AC 00E91021 */ addu $v0, $a3, $t1
/* 44B0 800290B0 ACE20000 */ sw $v0, ($a3)
/* 44B4 800290B4 0040302D */ daddu $a2, $v0, $zero
/* 44B8 800290B8 3C038007 */ lui $v1, %hi(D_80074250)
/* 44BC 800290BC 24634250 */ addiu $v1, $v1, %lo(D_80074250)
/* 44C0 800290C0 ACE50004 */ sw $a1, 4($a3)
/* 44C4 800290C4 94640000 */ lhu $a0, ($v1)
/* 44C8 800290C8 24020001 */ addiu $v0, $zero, 1
/* 44CC 800290CC A4E20008 */ sh $v0, 8($a3)
/* 44D0 800290D0 24820001 */ addiu $v0, $a0, 1
/* 44D4 800290D4 A4620000 */ sh $v0, ($v1)
/* 44D8 800290D8 01091023 */ subu $v0, $t0, $t1
/* 44DC 800290DC A4E4000A */ sh $a0, 0xa($a3)
/* 44E0 800290E0 ACCA0000 */ sw $t2, ($a2)
/* 44E4 800290E4 ACC20004 */ sw $v0, 4($a2)
/* 44E8 800290E8 0800A445 */ j .L80029114
/* 44EC 800290EC A4C00008 */ sh $zero, 8($a2)
.L800290F0:
/* 44F0 800290F0 3C038007 */ lui $v1, %hi(D_80074250)
/* 44F4 800290F4 24634250 */ addiu $v1, $v1, %lo(D_80074250)
/* 44F8 800290F8 ACE80004 */ sw $t0, 4($a3)
/* 44FC 800290FC 94640000 */ lhu $a0, ($v1)
/* 4500 80029100 24020001 */ addiu $v0, $zero, 1
/* 4504 80029104 A4E20008 */ sh $v0, 8($a3)
/* 4508 80029108 24820001 */ addiu $v0, $a0, 1
/* 450C 8002910C A4620000 */ sh $v0, ($v1)
/* 4510 80029110 A4E4000A */ sh $a0, 0xa($a3)
.L80029114:
/* 4514 80029114 03E00008 */ jr $ra
/* 4518 80029118 24E20010 */ addiu $v0, $a3, 0x10
.L8002911C:
/* 451C 8002911C 03E00008 */ jr $ra
/* 4520 80029120 0000102D */ daddu $v0, $zero, $zero