papermario/ver/jp/asm/nonmatchings/6200/func_8002B5F0.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

143 lines
7.6 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8002B5F0
/* 69F0 8002B5F0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 69F4 8002B5F4 AFB20018 */ sw $s2, 0x18($sp)
/* 69F8 8002B5F8 3C12800E */ lui $s2, %hi(D_800DACA0)
/* 69FC 8002B5FC 2652ACA0 */ addiu $s2, $s2, %lo(D_800DACA0)
/* 6A00 8002B600 26440040 */ addiu $a0, $s2, 0x40
/* 6A04 8002B604 3C028011 */ lui $v0, %hi(D_8010F450)
/* 6A08 8002B608 2442F450 */ addiu $v0, $v0, %lo(D_8010F450)
/* 6A0C 8002B60C 24430420 */ addiu $v1, $v0, 0x420
/* 6A10 8002B610 AFBF001C */ sw $ra, 0x1c($sp)
/* 6A14 8002B614 AFB10014 */ sw $s1, 0x14($sp)
/* 6A18 8002B618 AFB00010 */ sw $s0, 0x10($sp)
.L8002B61C:
/* 6A1C 8002B61C 8C480000 */ lw $t0, ($v0)
/* 6A20 8002B620 8C490004 */ lw $t1, 4($v0)
/* 6A24 8002B624 8C4A0008 */ lw $t2, 8($v0)
/* 6A28 8002B628 8C4B000C */ lw $t3, 0xc($v0)
/* 6A2C 8002B62C AC880000 */ sw $t0, ($a0)
/* 6A30 8002B630 AC890004 */ sw $t1, 4($a0)
/* 6A34 8002B634 AC8A0008 */ sw $t2, 8($a0)
/* 6A38 8002B638 AC8B000C */ sw $t3, 0xc($a0)
/* 6A3C 8002B63C 24420010 */ addiu $v0, $v0, 0x10
/* 6A40 8002B640 1443FFF6 */ bne $v0, $v1, .L8002B61C
/* 6A44 8002B644 24840010 */ addiu $a0, $a0, 0x10
/* 6A48 8002B648 3C038007 */ lui $v1, %hi(D_8007417C)
/* 6A4C 8002B64C 8C63417C */ lw $v1, %lo(D_8007417C)($v1)
/* 6A50 8002B650 8C480000 */ lw $t0, ($v0)
/* 6A54 8002B654 8C490004 */ lw $t1, 4($v0)
/* 6A58 8002B658 AC880000 */ sw $t0, ($a0)
/* 6A5C 8002B65C AC890004 */ sw $t1, 4($a0)
/* 6A60 8002B660 94620086 */ lhu $v0, 0x86($v1)
/* 6A64 8002B664 A6420468 */ sh $v0, 0x468($s2)
/* 6A68 8002B668 9462008C */ lhu $v0, 0x8c($v1)
/* 6A6C 8002B66C A642046A */ sh $v0, 0x46a($s2)
/* 6A70 8002B670 9462008E */ lhu $v0, 0x8e($v1)
/* 6A74 8002B674 A642046C */ sh $v0, 0x46c($s2)
/* 6A78 8002B678 94620160 */ lhu $v0, 0x160($v1)
/* 6A7C 8002B67C A64212E6 */ sh $v0, 0x12e6($s2)
/* 6A80 8002B680 94620162 */ lhu $v0, 0x162($v1)
/* 6A84 8002B684 0000302D */ daddu $a2, $zero, $zero
/* 6A88 8002B688 A64212E8 */ sh $v0, 0x12e8($s2)
/* 6A8C 8002B68C 94620164 */ lhu $v0, 0x164($v1)
/* 6A90 8002B690 3C07800B */ lui $a3, %hi(D_800B0EF0)
/* 6A94 8002B694 24E70EF0 */ addiu $a3, $a3, %lo(D_800B0EF0)
/* 6A98 8002B698 A64212EA */ sh $v0, 0x12ea($s2)
/* 6A9C 8002B69C 0000282D */ daddu $a1, $zero, $zero
.L8002B6A0:
/* 6AA0 8002B6A0 00062080 */ sll $a0, $a2, 2
.L8002B6A4:
/* 6AA4 8002B6A4 02441821 */ addu $v1, $s2, $a0
/* 6AA8 8002B6A8 00871021 */ addu $v0, $a0, $a3
/* 6AAC 8002B6AC 8C4200B0 */ lw $v0, 0xb0($v0)
/* 6AB0 8002B6B0 24A50001 */ addiu $a1, $a1, 1
/* 6AB4 8002B6B4 AC620470 */ sw $v0, 0x470($v1)
/* 6AB8 8002B6B8 28A2003C */ slti $v0, $a1, 0x3c
/* 6ABC 8002B6BC 1440FFF9 */ bnez $v0, .L8002B6A4
/* 6AC0 8002B6C0 24840030 */ addiu $a0, $a0, 0x30
/* 6AC4 8002B6C4 24C60001 */ addiu $a2, $a2, 1
/* 6AC8 8002B6C8 28C2000C */ slti $v0, $a2, 0xc
/* 6ACC 8002B6CC 1440FFF4 */ bnez $v0, .L8002B6A0
/* 6AD0 8002B6D0 0000282D */ daddu $a1, $zero, $zero
/* 6AD4 8002B6D4 3C108007 */ lui $s0, %hi(D_8007417C)
/* 6AD8 8002B6D8 2610417C */ addiu $s0, $s0, %lo(D_8007417C)
/* 6ADC 8002B6DC 8E020000 */ lw $v0, ($s0)
/* 6AE0 8002B6E0 8E030000 */ lw $v1, ($s0)
/* 6AE4 8002B6E4 90420074 */ lbu $v0, 0x74($v0)
/* 6AE8 8002B6E8 A24212E0 */ sb $v0, 0x12e0($s2)
/* 6AEC 8002B6EC 90620076 */ lbu $v0, 0x76($v1)
/* 6AF0 8002B6F0 8E030000 */ lw $v1, ($s0)
/* 6AF4 8002B6F4 A24212E1 */ sb $v0, 0x12e1($s2)
/* 6AF8 8002B6F8 90620077 */ lbu $v0, 0x77($v1)
/* 6AFC 8002B6FC 8E030000 */ lw $v1, ($s0)
/* 6B00 8002B700 A24212E2 */ sb $v0, 0x12e2($s2)
/* 6B04 8002B704 9062007A */ lbu $v0, 0x7a($v1)
/* 6B08 8002B708 8E030000 */ lw $v1, ($s0)
/* 6B0C 8002B70C A24212E3 */ sb $v0, 0x12e3($s2)
/* 6B10 8002B710 90630166 */ lbu $v1, 0x166($v1)
/* 6B14 8002B714 3C118011 */ lui $s1, %hi(D_8010F450)
/* 6B18 8002B718 2631F450 */ addiu $s1, $s1, %lo(D_8010F450)
/* 6B1C 8002B71C 00031040 */ sll $v0, $v1, 1
/* 6B20 8002B720 00431021 */ addu $v0, $v0, $v1
/* 6B24 8002B724 92230009 */ lbu $v1, 9($s1)
/* 6B28 8002B728 000210C0 */ sll $v0, $v0, 3
/* 6B2C 8002B72C 3C018007 */ lui $at, %hi(D_8007799A)
/* 6B30 8002B730 00220821 */ addu $at, $at, $v0
/* 6B34 8002B734 A023799A */ sb $v1, %lo(D_8007799A)($at)
/* 6B38 8002B738 0C00AB80 */ jal func_8002AE00
/* 6B3C 8002B73C 00000000 */ nop
/* 6B40 8002B740 8E030000 */ lw $v1, ($s0)
/* 6B44 8002B744 90640166 */ lbu $a0, 0x166($v1)
/* 6B48 8002B748 00041840 */ sll $v1, $a0, 1
/* 6B4C 8002B74C 00641821 */ addu $v1, $v1, $a0
/* 6B50 8002B750 000318C0 */ sll $v1, $v1, 3
/* 6B54 8002B754 3C018007 */ lui $at, %hi(D_80077998)
/* 6B58 8002B758 00230821 */ addu $at, $at, $v1
/* 6B5C 8002B75C A0227998 */ sb $v0, %lo(D_80077998)($at)
/* 6B60 8002B760 8E040000 */ lw $a0, ($s0)
/* 6B64 8002B764 90830166 */ lbu $v1, 0x166($a0)
/* 6B68 8002B768 00031040 */ sll $v0, $v1, 1
/* 6B6C 8002B76C 00431021 */ addu $v0, $v0, $v1
/* 6B70 8002B770 8E2302BC */ lw $v1, 0x2bc($s1)
/* 6B74 8002B774 000210C0 */ sll $v0, $v0, 3
/* 6B78 8002B778 3C018007 */ lui $at, %hi(D_80077994)
/* 6B7C 8002B77C 00220821 */ addu $at, $at, $v0
/* 6B80 8002B780 AC237994 */ sw $v1, %lo(D_80077994)($at)
/* 6B84 8002B784 90830166 */ lbu $v1, 0x166($a0)
/* 6B88 8002B788 00031040 */ sll $v0, $v1, 1
/* 6B8C 8002B78C 00431021 */ addu $v0, $v0, $v1
/* 6B90 8002B790 000210C0 */ sll $v0, $v0, 3
/* 6B94 8002B794 3C088007 */ lui $t0, %hi(D_80077994)
/* 6B98 8002B798 01024021 */ addu $t0, $t0, $v0
/* 6B9C 8002B79C 8D087994 */ lw $t0, %lo(D_80077994)($t0)
/* 6BA0 8002B7A0 3C098007 */ lui $t1, %hi(D_80077998)
/* 6BA4 8002B7A4 01224821 */ addu $t1, $t1, $v0
/* 6BA8 8002B7A8 8D297998 */ lw $t1, %lo(D_80077998)($t1)
/* 6BAC 8002B7AC 3C0A8007 */ lui $t2, %hi(D_8007799C)
/* 6BB0 8002B7B0 01425021 */ addu $t2, $t2, $v0
/* 6BB4 8002B7B4 8D4A799C */ lw $t2, %lo(D_8007799C)($t2)
/* 6BB8 8002B7B8 3C0B8007 */ lui $t3, %hi(D_800779A0)
/* 6BBC 8002B7BC 01625821 */ addu $t3, $t3, $v0
/* 6BC0 8002B7C0 8D6B79A0 */ lw $t3, %lo(D_800779A0)($t3)
/* 6BC4 8002B7C4 AE4812EC */ sw $t0, 0x12ec($s2)
/* 6BC8 8002B7C8 AE4912F0 */ sw $t1, 0x12f0($s2)
/* 6BCC 8002B7CC AE4A12F4 */ sw $t2, 0x12f4($s2)
/* 6BD0 8002B7D0 AE4B12F8 */ sw $t3, 0x12f8($s2)
/* 6BD4 8002B7D4 3C088007 */ lui $t0, %hi(D_800779A4)
/* 6BD8 8002B7D8 01024021 */ addu $t0, $t0, $v0
/* 6BDC 8002B7DC 8D0879A4 */ lw $t0, %lo(D_800779A4)($t0)
/* 6BE0 8002B7E0 3C098007 */ lui $t1, %hi(D_800779A8)
/* 6BE4 8002B7E4 01224821 */ addu $t1, $t1, $v0
/* 6BE8 8002B7E8 8D2979A8 */ lw $t1, %lo(D_800779A8)($t1)
/* 6BEC 8002B7EC AE4812FC */ sw $t0, 0x12fc($s2)
/* 6BF0 8002B7F0 AE491300 */ sw $t1, 0x1300($s2)
/* 6BF4 8002B7F4 8FBF001C */ lw $ra, 0x1c($sp)
/* 6BF8 8002B7F8 8FB20018 */ lw $s2, 0x18($sp)
/* 6BFC 8002B7FC 8FB10014 */ lw $s1, 0x14($sp)
/* 6C00 8002B800 8FB00010 */ lw $s0, 0x10($sp)
/* 6C04 8002B804 03E00008 */ jr $ra
/* 6C08 8002B808 27BD0020 */ addiu $sp, $sp, 0x20