mirror of
https://github.com/pmret/papermario.git
synced 2024-11-10 04:52:34 +01:00
3315d6010f
* 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>
123 lines
6.0 KiB
ArmAsm
123 lines
6.0 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_8004DE2C
|
|
/* 2922C 8004DE2C 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 29230 8004DE30 AFB3001C */ sw $s3, 0x1c($sp)
|
|
/* 29234 8004DE34 0080982D */ daddu $s3, $a0, $zero
|
|
/* 29238 8004DE38 AFB20018 */ sw $s2, 0x18($sp)
|
|
/* 2923C 8004DE3C AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* 29240 8004DE40 AFB40020 */ sw $s4, 0x20($sp)
|
|
/* 29244 8004DE44 AFB10014 */ sw $s1, 0x14($sp)
|
|
/* 29248 8004DE48 AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 2924C 8004DE4C 8E740000 */ lw $s4, ($s3)
|
|
/* 29250 8004DE50 8E700010 */ lw $s0, 0x10($s3)
|
|
/* 29254 8004DE54 12800055 */ beqz $s4, .L8004DFAC
|
|
/* 29258 8004DE58 0000902D */ daddu $s2, $zero, $zero
|
|
/* 2925C 8004DE5C 8E620014 */ lw $v0, 0x14($s3)
|
|
/* 29260 8004DE60 14400045 */ bnez $v0, .L8004DF78
|
|
/* 29264 8004DE64 00000000 */ nop
|
|
/* 29268 8004DE68 0C014FD9 */ jal func_80053F64
|
|
/* 2926C 8004DE6C 0200202D */ daddu $a0, $s0, $zero
|
|
/* 29270 8004DE70 0040882D */ daddu $s1, $v0, $zero
|
|
/* 29274 8004DE74 1220003E */ beqz $s1, .L8004DF70
|
|
/* 29278 8004DE78 001010C0 */ sll $v0, $s0, 3
|
|
/* 2927C 8004DE7C 8E230000 */ lw $v1, ($s1)
|
|
/* 29280 8004DE80 00622021 */ addu $a0, $v1, $v0
|
|
/* 29284 8004DE84 90830070 */ lbu $v1, 0x70($a0)
|
|
/* 29288 8004DE88 24020001 */ addiu $v0, $zero, 1
|
|
/* 2928C 8004DE8C 54620048 */ bnel $v1, $v0, .L8004DFB0
|
|
/* 29290 8004DE90 24120004 */ addiu $s2, $zero, 4
|
|
/* 29294 8004DE94 90840071 */ lbu $a0, 0x71($a0)
|
|
/* 29298 8004DE98 0C015092 */ jal func_80054248
|
|
/* 2929C 8004DE9C 00000000 */ nop
|
|
/* 292A0 8004DEA0 0040802D */ daddu $s0, $v0, $zero
|
|
/* 292A4 8004DEA4 52000042 */ beql $s0, $zero, .L8004DFB0
|
|
/* 292A8 8004DEA8 24120006 */ addiu $s2, $zero, 6
|
|
/* 292AC 8004DEAC 0C0136CA */ jal func_8004DB28
|
|
/* 292B0 8004DEB0 0200202D */ daddu $a0, $s0, $zero
|
|
/* 292B4 8004DEB4 1440003E */ bnez $v0, .L8004DFB0
|
|
/* 292B8 8004DEB8 24120007 */ addiu $s2, $zero, 7
|
|
/* 292BC 8004DEBC 8E240028 */ lw $a0, 0x28($s1)
|
|
/* 292C0 8004DEC0 0C014F96 */ jal func_80053E58
|
|
/* 292C4 8004DEC4 8E250064 */ lw $a1, 0x64($s1)
|
|
/* 292C8 8004DEC8 8E650004 */ lw $a1, 4($s3)
|
|
/* 292CC 8004DECC 10A00008 */ beqz $a1, .L8004DEF0
|
|
/* 292D0 8004DED0 0040902D */ daddu $s2, $v0, $zero
|
|
/* 292D4 8004DED4 28A22711 */ slti $v0, $a1, 0x2711
|
|
/* 292D8 8004DED8 14400003 */ bnez $v0, .L8004DEE8
|
|
/* 292DC 8004DEDC 28A200FA */ slti $v0, $a1, 0xfa
|
|
/* 292E0 8004DEE0 080137BC */ j .L8004DEF0
|
|
/* 292E4 8004DEE4 24052710 */ addiu $a1, $zero, 0x2710
|
|
.L8004DEE8:
|
|
/* 292E8 8004DEE8 54400001 */ bnel $v0, $zero, .L8004DEF0
|
|
/* 292EC 8004DEEC 240500FA */ addiu $a1, $zero, 0xfa
|
|
.L8004DEF0:
|
|
/* 292F0 8004DEF0 8E630008 */ lw $v1, 8($s3)
|
|
/* 292F4 8004DEF4 28620080 */ slti $v0, $v1, 0x80
|
|
/* 292F8 8004DEF8 50400001 */ beql $v0, $zero, .L8004DF00
|
|
/* 292FC 8004DEFC 2403007F */ addiu $v1, $zero, 0x7f
|
|
.L8004DF00:
|
|
/* 29300 8004DF00 10600002 */ beqz $v1, .L8004DF0C
|
|
/* 29304 8004DF04 00031200 */ sll $v0, $v1, 8
|
|
/* 29308 8004DF08 344300FF */ ori $v1, $v0, 0xff
|
|
.L8004DF0C:
|
|
/* 2930C 8004DF0C 8E64000C */ lw $a0, 0xc($s3)
|
|
/* 29310 8004DF10 28820080 */ slti $v0, $a0, 0x80
|
|
/* 29314 8004DF14 50400001 */ beql $v0, $zero, .L8004DF1C
|
|
/* 29318 8004DF18 2404007F */ addiu $a0, $zero, 0x7f
|
|
.L8004DF1C:
|
|
/* 2931C 8004DF1C 10800003 */ beqz $a0, .L8004DF2C
|
|
/* 29320 8004DF20 00041200 */ sll $v0, $a0, 8
|
|
/* 29324 8004DF24 080137CC */ j .L8004DF30
|
|
/* 29328 8004DF28 344400FF */ ori $a0, $v0, 0xff
|
|
.L8004DF2C:
|
|
/* 2932C 8004DF2C 24047FFF */ addiu $a0, $zero, 0x7fff
|
|
.L8004DF30:
|
|
/* 29330 8004DF30 8E020000 */ lw $v0, ($s0)
|
|
/* 29334 8004DF34 AC500074 */ sw $s0, 0x74($v0)
|
|
/* 29338 8004DF38 8E020000 */ lw $v0, ($s0)
|
|
/* 2933C 8004DF3C AC510078 */ sw $s1, 0x78($v0)
|
|
/* 29340 8004DF40 8E020000 */ lw $v0, ($s0)
|
|
/* 29344 8004DF44 AC54007C */ sw $s4, 0x7c($v0)
|
|
/* 29348 8004DF48 8E020000 */ lw $v0, ($s0)
|
|
/* 2934C 8004DF4C AC450084 */ sw $a1, 0x84($v0)
|
|
/* 29350 8004DF50 8E020000 */ lw $v0, ($s0)
|
|
/* 29354 8004DF54 AC430088 */ sw $v1, 0x88($v0)
|
|
/* 29358 8004DF58 8E020000 */ lw $v0, ($s0)
|
|
/* 2935C 8004DF5C AC44008C */ sw $a0, 0x8c($v0)
|
|
/* 29360 8004DF60 8E030000 */ lw $v1, ($s0)
|
|
/* 29364 8004DF64 24020001 */ addiu $v0, $zero, 1
|
|
/* 29368 8004DF68 080137EC */ j .L8004DFB0
|
|
/* 2936C 8004DF6C AC620080 */ sw $v0, 0x80($v1)
|
|
.L8004DF70:
|
|
/* 29370 8004DF70 080137EC */ j .L8004DFB0
|
|
/* 29374 8004DF74 24120004 */ addiu $s2, $zero, 4
|
|
.L8004DF78:
|
|
/* 29378 8004DF78 0C0135E5 */ jal snd_get_player_with_song_name
|
|
/* 2937C 8004DF7C 0280202D */ daddu $a0, $s4, $zero
|
|
/* 29380 8004DF80 0040802D */ daddu $s0, $v0, $zero
|
|
/* 29384 8004DF84 1200000B */ beqz $s0, .L8004DFB4
|
|
/* 29388 8004DF88 0240102D */ daddu $v0, $s2, $zero
|
|
/* 2938C 8004DF8C 8E02001C */ lw $v0, 0x1c($s0)
|
|
/* 29390 8004DF90 16820008 */ bne $s4, $v0, .L8004DFB4
|
|
/* 29394 8004DF94 0240102D */ daddu $v0, $s2, $zero
|
|
/* 29398 8004DF98 92020220 */ lbu $v0, 0x220($s0)
|
|
/* 2939C 8004DF9C 54400004 */ bnel $v0, $zero, .L8004DFB0
|
|
/* 293A0 8004DFA0 A2000220 */ sb $zero, 0x220($s0)
|
|
/* 293A4 8004DFA4 080137ED */ j .L8004DFB4
|
|
/* 293A8 8004DFA8 0240102D */ daddu $v0, $s2, $zero
|
|
.L8004DFAC:
|
|
/* 293AC 8004DFAC 24120003 */ addiu $s2, $zero, 3
|
|
.L8004DFB0:
|
|
/* 293B0 8004DFB0 0240102D */ daddu $v0, $s2, $zero
|
|
.L8004DFB4:
|
|
/* 293B4 8004DFB4 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* 293B8 8004DFB8 8FB40020 */ lw $s4, 0x20($sp)
|
|
/* 293BC 8004DFBC 8FB3001C */ lw $s3, 0x1c($sp)
|
|
/* 293C0 8004DFC0 8FB20018 */ lw $s2, 0x18($sp)
|
|
/* 293C4 8004DFC4 8FB10014 */ lw $s1, 0x14($sp)
|
|
/* 293C8 8004DFC8 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 293CC 8004DFCC 03E00008 */ jr $ra
|
|
/* 293D0 8004DFD0 27BD0028 */ addiu $sp, $sp, 0x28
|