papermario/asm/nonmatchings/code_1f580_len_1940/SetNpcVar.s
2020-09-23 23:16:13 -04:00

45 lines
2.2 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel SetNpcVar
/* 20720 80045320 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 20724 80045324 AFB10014 */ sw $s1, 0x14($sp)
/* 20728 80045328 0080882D */ daddu $s1, $a0, $zero
/* 2072C 8004532C AFBF0020 */ sw $ra, 0x20($sp)
/* 20730 80045330 AFB3001C */ sw $s3, 0x1c($sp)
/* 20734 80045334 AFB20018 */ sw $s2, 0x18($sp)
/* 20738 80045338 AFB00010 */ sw $s0, 0x10($sp)
/* 2073C 8004533C 8E30000C */ lw $s0, 0xc($s1)
/* 20740 80045340 8E330148 */ lw $s3, 0x148($s1)
/* 20744 80045344 8E050000 */ lw $a1, ($s0)
/* 20748 80045348 0C0B1EAF */ jal get_variable
/* 2074C 8004534C 26100004 */ addiu $s0, $s0, 4
/* 20750 80045350 0040902D */ daddu $s2, $v0, $zero
/* 20754 80045354 8E050000 */ lw $a1, ($s0)
/* 20758 80045358 26100004 */ addiu $s0, $s0, 4
/* 2075C 8004535C 0C0B1EAF */ jal get_variable
/* 20760 80045360 0220202D */ daddu $a0, $s1, $zero
/* 20764 80045364 0220202D */ daddu $a0, $s1, $zero
/* 20768 80045368 8E050000 */ lw $a1, ($s0)
/* 2076C 8004536C 0C0B1EAF */ jal get_variable
/* 20770 80045370 0040802D */ daddu $s0, $v0, $zero
/* 20774 80045374 0040882D */ daddu $s1, $v0, $zero
/* 20778 80045378 2402FFFF */ addiu $v0, $zero, -1
/* 2077C 8004537C 16420002 */ bne $s2, $v0, .L80045388
/* 20780 80045380 00000000 */ nop
/* 20784 80045384 86720008 */ lh $s2, 8($s3)
.L80045388:
/* 20788 80045388 0C00FB3A */ jal get_enemy
/* 2078C 8004538C 0240202D */ daddu $a0, $s2, $zero
/* 20790 80045390 00101880 */ sll $v1, $s0, 2
/* 20794 80045394 00431021 */ addu $v0, $v0, $v1
/* 20798 80045398 AC51006C */ sw $s1, 0x6c($v0)
/* 2079C 8004539C 8FBF0020 */ lw $ra, 0x20($sp)
/* 207A0 800453A0 8FB3001C */ lw $s3, 0x1c($sp)
/* 207A4 800453A4 8FB20018 */ lw $s2, 0x18($sp)
/* 207A8 800453A8 8FB10014 */ lw $s1, 0x14($sp)
/* 207AC 800453AC 8FB00010 */ lw $s0, 0x10($sp)
/* 207B0 800453B0 24020002 */ addiu $v0, $zero, 2
/* 207B4 800453B4 03E00008 */ jr $ra
/* 207B8 800453B8 27BD0028 */ addiu $sp, $sp, 0x28