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

88 lines
4.3 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80029484
/* 4884 80029484 27BDFF88 */ addiu $sp, $sp, -0x78
/* 4888 80029488 AFB7006C */ sw $s7, 0x6c($sp)
/* 488C 8002948C 00C0B82D */ daddu $s7, $a2, $zero
/* 4890 80029490 AFB40060 */ sw $s4, 0x60($sp)
/* 4894 80029494 24140026 */ addiu $s4, $zero, 0x26
/* 4898 80029498 AFBE0070 */ sw $fp, 0x70($sp)
/* 489C 8002949C 0000F02D */ daddu $fp, $zero, $zero
/* 48A0 800294A0 AFB3005C */ sw $s3, 0x5c($sp)
/* 48A4 800294A4 AFB20058 */ sw $s2, 0x58($sp)
/* 48A8 800294A8 0080982D */ daddu $s3, $a0, $zero
/* 48AC 800294AC 000497C3 */ sra $s2, $a0, 0x1f
/* 48B0 800294B0 AFBF0074 */ sw $ra, 0x74($sp)
/* 48B4 800294B4 AFB60068 */ sw $s6, 0x68($sp)
/* 48B8 800294B8 AFB50064 */ sw $s5, 0x64($sp)
/* 48BC 800294BC AFB10054 */ sw $s1, 0x54($sp)
/* 48C0 800294C0 AFB00050 */ sw $s0, 0x50($sp)
/* 48C4 800294C4 0641000A */ bgez $s2, .L800294F0
/* 48C8 800294C8 AFA5007C */ sw $a1, 0x7c($sp)
/* 48CC 800294CC 2402FFFF */ addiu $v0, $zero, -1
/* 48D0 800294D0 02620019 */ multu $s3, $v0
/* 48D4 800294D4 241E0001 */ addiu $fp, $zero, 1
/* 48D8 800294D8 00001010 */ mfhi $v0
/* 48DC 800294DC 00001812 */ mflo $v1
/* 48E0 800294E0 00531023 */ subu $v0, $v0, $s3
/* 48E4 800294E4 00521023 */ subu $v0, $v0, $s2
/* 48E8 800294E8 0040902D */ daddu $s2, $v0, $zero
/* 48EC 800294EC 0060982D */ daddu $s3, $v1, $zero
.L800294F0:
/* 48F0 800294F0 A3A00037 */ sb $zero, 0x37($sp)
/* 48F4 800294F4 27B60010 */ addiu $s6, $sp, 0x10
/* 48F8 800294F8 0017AFC3 */ sra $s5, $s7, 0x1f
.L800294FC:
/* 48FC 800294FC 02E0882D */ daddu $s1, $s7, $zero
/* 4900 80029500 02A0802D */ daddu $s0, $s5, $zero
/* 4904 80029504 0240202D */ daddu $a0, $s2, $zero
/* 4908 80029508 0260282D */ daddu $a1, $s3, $zero
/* 490C 8002950C 0200302D */ daddu $a2, $s0, $zero
/* 4910 80029510 0C01B768 */ jal func_8006DDA0
/* 4914 80029514 0220382D */ daddu $a3, $s1, $zero
/* 4918 80029518 0240202D */ daddu $a0, $s2, $zero
/* 491C 8002951C 0260282D */ daddu $a1, $s3, $zero
/* 4920 80029520 0200302D */ daddu $a2, $s0, $zero
/* 4924 80029524 0220382D */ daddu $a3, $s1, $zero
/* 4928 80029528 3C088007 */ lui $t0, %hi(D_800743C0)
/* 492C 8002952C 250843C0 */ addiu $t0, $t0, %lo(D_800743C0)
/* 4930 80029530 00681021 */ addu $v0, $v1, $t0
/* 4934 80029534 90430000 */ lbu $v1, ($v0)
/* 4938 80029538 02D41021 */ addu $v0, $s6, $s4
/* 493C 8002953C 0C01B5F8 */ jal func_8006D7E0
/* 4940 80029540 A0430000 */ sb $v1, ($v0)
/* 4944 80029544 0040902D */ daddu $s2, $v0, $zero
/* 4948 80029548 0060982D */ daddu $s3, $v1, $zero
/* 494C 8002954C 02721025 */ or $v0, $s3, $s2
/* 4950 80029550 10400005 */ beqz $v0, .L80029568
/* 4954 80029554 00000000 */ nop
/* 4958 80029558 12800003 */ beqz $s4, .L80029568
/* 495C 8002955C 00000000 */ nop
/* 4960 80029560 0800A53F */ j .L800294FC
/* 4964 80029564 2694FFFF */ addiu $s4, $s4, -1
.L80029568:
/* 4968 80029568 13C00004 */ beqz $fp, .L8002957C
/* 496C 8002956C 2402002D */ addiu $v0, $zero, 0x2d
/* 4970 80029570 2694FFFF */ addiu $s4, $s4, -1
/* 4974 80029574 03B41821 */ addu $v1, $sp, $s4
/* 4978 80029578 A0620010 */ sb $v0, 0x10($v1)
.L8002957C:
/* 497C 8002957C 27A50010 */ addiu $a1, $sp, 0x10
/* 4980 80029580 8FA4007C */ lw $a0, 0x7c($sp)
/* 4984 80029584 0C01BB48 */ jal func_8006ED20
/* 4988 80029588 00B42821 */ addu $a1, $a1, $s4
/* 498C 8002958C 8FA2007C */ lw $v0, 0x7c($sp)
/* 4990 80029590 8FBF0074 */ lw $ra, 0x74($sp)
/* 4994 80029594 8FBE0070 */ lw $fp, 0x70($sp)
/* 4998 80029598 8FB7006C */ lw $s7, 0x6c($sp)
/* 499C 8002959C 8FB60068 */ lw $s6, 0x68($sp)
/* 49A0 800295A0 8FB50064 */ lw $s5, 0x64($sp)
/* 49A4 800295A4 8FB40060 */ lw $s4, 0x60($sp)
/* 49A8 800295A8 8FB3005C */ lw $s3, 0x5c($sp)
/* 49AC 800295AC 8FB20058 */ lw $s2, 0x58($sp)
/* 49B0 800295B0 8FB10054 */ lw $s1, 0x54($sp)
/* 49B4 800295B4 8FB00050 */ lw $s0, 0x50($sp)
/* 49B8 800295B8 03E00008 */ jr $ra
/* 49BC 800295BC 27BD0078 */ addiu $sp, $sp, 0x78