mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 08:52:40 +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>
159 lines
8.2 KiB
ArmAsm
159 lines
8.2 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_80027B7C
|
|
/* 2F7C 80027B7C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* 2F80 80027B80 3C06D700 */ lui $a2, 0xd700
|
|
/* 2F84 80027B84 34C60002 */ ori $a2, $a2, 2
|
|
/* 2F88 80027B88 3C07FF10 */ lui $a3, 0xff10
|
|
/* 2F8C 80027B8C 34E7013F */ ori $a3, $a3, 0x13f
|
|
/* 2F90 80027B90 3C08E300 */ lui $t0, 0xe300
|
|
/* 2F94 80027B94 35080A01 */ ori $t0, $t0, 0xa01
|
|
/* 2F98 80027B98 3C09E300 */ lui $t1, 0xe300
|
|
/* 2F9C 80027B9C 35290C00 */ ori $t1, $t1, 0xc00
|
|
/* 2FA0 80027BA0 3C0AE300 */ lui $t2, 0xe300
|
|
/* 2FA4 80027BA4 354A1001 */ ori $t2, $t2, 0x1001
|
|
/* 2FA8 80027BA8 3C0BE200 */ lui $t3, 0xe200
|
|
/* 2FAC 80027BAC 356B001C */ ori $t3, $t3, 0x1c
|
|
/* 2FB0 80027BB0 3C0CE300 */ lui $t4, 0xe300
|
|
/* 2FB4 80027BB4 358C1201 */ ori $t4, $t4, 0x1201
|
|
/* 2FB8 80027BB8 0000C82D */ daddu $t9, $zero, $zero
|
|
/* 2FBC 80027BBC 3C02800A */ lui $v0, %hi(D_8009A64C)
|
|
/* 2FC0 80027BC0 2442A64C */ addiu $v0, $v0, %lo(D_8009A64C)
|
|
/* 2FC4 80027BC4 0040682D */ daddu $t5, $v0, $zero
|
|
/* 2FC8 80027BC8 AFB5001C */ sw $s5, 0x1c($sp)
|
|
/* 2FCC 80027BCC 3C15FD10 */ lui $s5, 0xfd10
|
|
/* 2FD0 80027BD0 36B5013F */ ori $s5, $s5, 0x13f
|
|
/* 2FD4 80027BD4 AFB00008 */ sw $s0, 8($sp)
|
|
/* 2FD8 80027BD8 3C10F510 */ lui $s0, 0xf510
|
|
/* 2FDC 80027BDC 3610A000 */ ori $s0, $s0, 0xa000
|
|
/* 2FE0 80027BE0 AFB40018 */ sw $s4, 0x18($sp)
|
|
/* 2FE4 80027BE4 3C14074F */ lui $s4, 0x74f
|
|
/* 2FE8 80027BE8 3694C014 */ ori $s4, $s4, 0xc014
|
|
/* 2FEC 80027BEC AFB1000C */ sw $s1, 0xc($sp)
|
|
/* 2FF0 80027BF0 3C11E700 */ lui $s1, 0xe700
|
|
/* 2FF4 80027BF4 AFBE0028 */ sw $fp, 0x28($sp)
|
|
/* 2FF8 80027BF8 3C1EF200 */ lui $fp, 0xf200
|
|
/* 2FFC 80027BFC AFB30014 */ sw $s3, 0x14($sp)
|
|
/* 3000 80027C00 3C13004F */ lui $s3, 0x4f
|
|
/* 3004 80027C04 3673C014 */ ori $s3, $s3, 0xc014
|
|
/* 3008 80027C08 AFB20010 */ sw $s2, 0x10($sp)
|
|
/* 300C 80027C0C 3C12E44F */ lui $s2, 0xe44f
|
|
/* 3010 80027C10 3652C000 */ ori $s2, $s2, 0xc000
|
|
/* 3014 80027C14 AFB70024 */ sw $s7, 0x24($sp)
|
|
/* 3018 80027C18 3C17E100 */ lui $s7, 0xe100
|
|
/* 301C 80027C1C AFB60020 */ sw $s6, 0x20($sp)
|
|
/* 3020 80027C20 3C16F100 */ lui $s6, 0xf100
|
|
/* 3024 80027C24 0320C02D */ daddu $t8, $t9, $zero
|
|
/* 3028 80027C28 240F0014 */ addiu $t7, $zero, 0x14
|
|
/* 302C 80027C2C 0080702D */ daddu $t6, $a0, $zero
|
|
/* 3030 80027C30 8DA20000 */ lw $v0, ($t5)
|
|
/* 3034 80027C34 0220182D */ daddu $v1, $s1, $zero
|
|
/* 3038 80027C38 0040202D */ daddu $a0, $v0, $zero
|
|
/* 303C 80027C3C 24420008 */ addiu $v0, $v0, 8
|
|
/* 3040 80027C40 ADA20000 */ sw $v0, ($t5)
|
|
/* 3044 80027C44 AC830000 */ sw $v1, ($a0)
|
|
/* 3048 80027C48 24430008 */ addiu $v1, $v0, 8
|
|
/* 304C 80027C4C AC800004 */ sw $zero, 4($a0)
|
|
/* 3050 80027C50 ADA30000 */ sw $v1, ($t5)
|
|
/* 3054 80027C54 2403FFFF */ addiu $v1, $zero, -1
|
|
/* 3058 80027C58 AC430004 */ sw $v1, 4($v0)
|
|
/* 305C 80027C5C 24430010 */ addiu $v1, $v0, 0x10
|
|
/* 3060 80027C60 AC460000 */ sw $a2, ($v0)
|
|
/* 3064 80027C64 ADA30000 */ sw $v1, ($t5)
|
|
/* 3068 80027C68 24430018 */ addiu $v1, $v0, 0x18
|
|
/* 306C 80027C6C AC470008 */ sw $a3, 8($v0)
|
|
/* 3070 80027C70 AC45000C */ sw $a1, 0xc($v0)
|
|
/* 3074 80027C74 ADA30000 */ sw $v1, ($t5)
|
|
/* 3078 80027C78 3C030020 */ lui $v1, 0x20
|
|
/* 307C 80027C7C AC430014 */ sw $v1, 0x14($v0)
|
|
/* 3080 80027C80 24430020 */ addiu $v1, $v0, 0x20
|
|
/* 3084 80027C84 AC480010 */ sw $t0, 0x10($v0)
|
|
/* 3088 80027C88 ADA30000 */ sw $v1, ($t5)
|
|
/* 308C 80027C8C 24430028 */ addiu $v1, $v0, 0x28
|
|
/* 3090 80027C90 AC490018 */ sw $t1, 0x18($v0)
|
|
/* 3094 80027C94 AC40001C */ sw $zero, 0x1c($v0)
|
|
/* 3098 80027C98 ADA30000 */ sw $v1, ($t5)
|
|
/* 309C 80027C9C 24430030 */ addiu $v1, $v0, 0x30
|
|
/* 30A0 80027CA0 AC4A0020 */ sw $t2, 0x20($v0)
|
|
/* 30A4 80027CA4 AC400024 */ sw $zero, 0x24($v0)
|
|
/* 30A8 80027CA8 ADA30000 */ sw $v1, ($t5)
|
|
/* 30AC 80027CAC 24430038 */ addiu $v1, $v0, 0x38
|
|
/* 30B0 80027CB0 AC4B0028 */ sw $t3, 0x28($v0)
|
|
/* 30B4 80027CB4 AC40002C */ sw $zero, 0x2c($v0)
|
|
/* 30B8 80027CB8 ADA30000 */ sw $v1, ($t5)
|
|
/* 30BC 80027CBC AC4C0030 */ sw $t4, 0x30($v0)
|
|
/* 30C0 80027CC0 AC400034 */ sw $zero, 0x34($v0)
|
|
.L80027CC4:
|
|
/* 30C4 80027CC4 3C061000 */ lui $a2, 0x1000
|
|
/* 30C8 80027CC8 34C60400 */ ori $a2, $a2, 0x400
|
|
/* 30CC 80027CCC 33050FFF */ andi $a1, $t8, 0xfff
|
|
/* 30D0 80027CD0 27180018 */ addiu $t8, $t8, 0x18
|
|
/* 30D4 80027CD4 31E40FFF */ andi $a0, $t7, 0xfff
|
|
/* 30D8 80027CD8 25EF0018 */ addiu $t7, $t7, 0x18
|
|
/* 30DC 80027CDC 27390001 */ addiu $t9, $t9, 1
|
|
/* 30E0 80027CE0 8DA20000 */ lw $v0, ($t5)
|
|
/* 30E4 80027CE4 00922025 */ or $a0, $a0, $s2
|
|
/* 30E8 80027CE8 0040182D */ daddu $v1, $v0, $zero
|
|
/* 30EC 80027CEC 24420008 */ addiu $v0, $v0, 8
|
|
/* 30F0 80027CF0 AC6E0004 */ sw $t6, 4($v1)
|
|
/* 30F4 80027CF4 ADA20000 */ sw $v0, ($t5)
|
|
/* 30F8 80027CF8 AC750000 */ sw $s5, ($v1)
|
|
/* 30FC 80027CFC 24430008 */ addiu $v1, $v0, 8
|
|
/* 3100 80027D00 3C070700 */ lui $a3, 0x700
|
|
/* 3104 80027D04 ADA30000 */ sw $v1, ($t5)
|
|
/* 3108 80027D08 24430010 */ addiu $v1, $v0, 0x10
|
|
/* 310C 80027D0C AC470004 */ sw $a3, 4($v0)
|
|
/* 3110 80027D10 3C07E600 */ lui $a3, 0xe600
|
|
/* 3114 80027D14 AC500000 */ sw $s0, ($v0)
|
|
/* 3118 80027D18 ADA30000 */ sw $v1, ($t5)
|
|
/* 311C 80027D1C 24430018 */ addiu $v1, $v0, 0x18
|
|
/* 3120 80027D20 AC470008 */ sw $a3, 8($v0)
|
|
/* 3124 80027D24 3C07F400 */ lui $a3, 0xf400
|
|
/* 3128 80027D28 AC40000C */ sw $zero, 0xc($v0)
|
|
/* 312C 80027D2C ADA30000 */ sw $v1, ($t5)
|
|
/* 3130 80027D30 24430020 */ addiu $v1, $v0, 0x20
|
|
/* 3134 80027D34 AC470010 */ sw $a3, 0x10($v0)
|
|
/* 3138 80027D38 AC540014 */ sw $s4, 0x14($v0)
|
|
/* 313C 80027D3C ADA30000 */ sw $v1, ($t5)
|
|
/* 3140 80027D40 24430028 */ addiu $v1, $v0, 0x28
|
|
/* 3144 80027D44 AC510018 */ sw $s1, 0x18($v0)
|
|
/* 3148 80027D48 AC40001C */ sw $zero, 0x1c($v0)
|
|
/* 314C 80027D4C ADA30000 */ sw $v1, ($t5)
|
|
/* 3150 80027D50 24430030 */ addiu $v1, $v0, 0x30
|
|
/* 3154 80027D54 AC500020 */ sw $s0, 0x20($v0)
|
|
/* 3158 80027D58 AC400024 */ sw $zero, 0x24($v0)
|
|
/* 315C 80027D5C ADA30000 */ sw $v1, ($t5)
|
|
/* 3160 80027D60 24430038 */ addiu $v1, $v0, 0x38
|
|
/* 3164 80027D64 AC5E0028 */ sw $fp, 0x28($v0)
|
|
/* 3168 80027D68 AC53002C */ sw $s3, 0x2c($v0)
|
|
/* 316C 80027D6C ADA30000 */ sw $v1, ($t5)
|
|
/* 3170 80027D70 24430040 */ addiu $v1, $v0, 0x40
|
|
/* 3174 80027D74 AC440030 */ sw $a0, 0x30($v0)
|
|
/* 3178 80027D78 AC450034 */ sw $a1, 0x34($v0)
|
|
/* 317C 80027D7C ADA30000 */ sw $v1, ($t5)
|
|
/* 3180 80027D80 24430048 */ addiu $v1, $v0, 0x48
|
|
/* 3184 80027D84 AC570038 */ sw $s7, 0x38($v0)
|
|
/* 3188 80027D88 AC40003C */ sw $zero, 0x3c($v0)
|
|
/* 318C 80027D8C ADA30000 */ sw $v1, ($t5)
|
|
/* 3190 80027D90 24430050 */ addiu $v1, $v0, 0x50
|
|
/* 3194 80027D94 AC560040 */ sw $s6, 0x40($v0)
|
|
/* 3198 80027D98 AC460044 */ sw $a2, 0x44($v0)
|
|
/* 319C 80027D9C ADA30000 */ sw $v1, ($t5)
|
|
/* 31A0 80027DA0 AC510048 */ sw $s1, 0x48($v0)
|
|
/* 31A4 80027DA4 AC40004C */ sw $zero, 0x4c($v0)
|
|
/* 31A8 80027DA8 2B220028 */ slti $v0, $t9, 0x28
|
|
/* 31AC 80027DAC 1440FFC5 */ bnez $v0, .L80027CC4
|
|
/* 31B0 80027DB0 25CE0F00 */ addiu $t6, $t6, 0xf00
|
|
/* 31B4 80027DB4 8FBE0028 */ lw $fp, 0x28($sp)
|
|
/* 31B8 80027DB8 8FB70024 */ lw $s7, 0x24($sp)
|
|
/* 31BC 80027DBC 8FB60020 */ lw $s6, 0x20($sp)
|
|
/* 31C0 80027DC0 8FB5001C */ lw $s5, 0x1c($sp)
|
|
/* 31C4 80027DC4 8FB40018 */ lw $s4, 0x18($sp)
|
|
/* 31C8 80027DC8 8FB30014 */ lw $s3, 0x14($sp)
|
|
/* 31CC 80027DCC 8FB20010 */ lw $s2, 0x10($sp)
|
|
/* 31D0 80027DD0 8FB1000C */ lw $s1, 0xc($sp)
|
|
/* 31D4 80027DD4 8FB00008 */ lw $s0, 8($sp)
|
|
/* 31D8 80027DD8 03E00008 */ jr $ra
|
|
/* 31DC 80027DDC 27BD0030 */ addiu $sp, $sp, 0x30
|