papermario/asm/nonmatchings/code_6F5E80/func_80238114_6F5F94.s

111 lines
5.5 KiB
ArmAsm
Raw Normal View History

2021-01-10 12:57:43 +01:00
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238114_6F5F94
/* 6F5F94 80238114 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 6F5F98 80238118 AFB3001C */ sw $s3, 0x1c($sp)
/* 6F5F9C 8023811C 3C13800E */ lui $s3, %hi(gBattleStatus+0xDC)
/* 6F5FA0 80238120 8E73C14C */ lw $s3, %lo(gBattleStatus+0xDC)($s3)
/* 6F5FA4 80238124 AFBF0020 */ sw $ra, 0x20($sp)
/* 6F5FA8 80238128 AFB20018 */ sw $s2, 0x18($sp)
/* 6F5FAC 8023812C AFB10014 */ sw $s1, 0x14($sp)
/* 6F5FB0 80238130 AFB00010 */ sw $s0, 0x10($sp)
/* 6F5FB4 80238134 F7B80038 */ sdc1 $f24, 0x38($sp)
/* 6F5FB8 80238138 F7B60030 */ sdc1 $f22, 0x30($sp)
/* 6F5FBC 8023813C 10A00003 */ beqz $a1, .L8023814C
/* 6F5FC0 80238140 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 6F5FC4 80238144 AC800070 */ sw $zero, 0x70($a0)
/* 6F5FC8 80238148 A2600425 */ sb $zero, 0x425($s3)
.L8023814C:
/* 6F5FCC 8023814C 8C820070 */ lw $v0, 0x70($a0)
/* 6F5FD0 80238150 14400047 */ bnez $v0, .L80238270
/* 6F5FD4 80238154 0000102D */ daddu $v0, $zero, $zero
/* 6F5FD8 80238158 8262040C */ lb $v0, 0x40c($s3)
/* 6F5FDC 8023815C 1840002D */ blez $v0, .L80238214
/* 6F5FE0 80238160 0000902D */ daddu $s2, $zero, $zero
/* 6F5FE4 80238164 3C014204 */ lui $at, 0x4204
/* 6F5FE8 80238168 4481C000 */ mtc1 $at, $f24
/* 6F5FEC 8023816C 02721021 */ addu $v0, $s3, $s2
.L80238170:
/* 6F5FF0 80238170 8043040D */ lb $v1, 0x40d($v0)
/* 6F5FF4 80238174 C6740144 */ lwc1 $f20, 0x144($s3)
/* 6F5FF8 80238178 00031080 */ sll $v0, $v1, 2
/* 6F5FFC 8023817C 00431021 */ addu $v0, $v0, $v1
/* 6F6000 80238180 00021080 */ sll $v0, $v0, 2
/* 6F6004 80238184 2442022C */ addiu $v0, $v0, 0x22c
/* 6F6008 80238188 02628821 */ addu $s1, $s3, $v0
/* 6F600C 8023818C 86220004 */ lh $v0, 4($s1)
/* 6F6010 80238190 86240000 */ lh $a0, ($s1)
/* 6F6014 80238194 4482B000 */ mtc1 $v0, $f22
2021-01-12 16:42:27 +01:00
/* 6F6018 80238198 00000000 */ nop
2021-01-10 12:57:43 +01:00
/* 6F601C 8023819C 0C09A75B */ jal get_actor
/* 6F6020 802381A0 4680B5A0 */ cvt.s.w $f22, $f22
/* 6F6024 802381A4 0040802D */ daddu $s0, $v0, $zero
/* 6F6028 802381A8 12000015 */ beqz $s0, .L80238200
2021-01-12 16:42:27 +01:00
/* 6F602C 802381AC 00000000 */ nop
2021-01-10 12:57:43 +01:00
/* 6F6030 802381B0 86250002 */ lh $a1, 2($s1)
/* 6F6034 802381B4 0C099117 */ jal get_actor_part
/* 6F6038 802381B8 0200202D */ daddu $a0, $s0, $zero
/* 6F603C 802381BC 82030218 */ lb $v1, 0x218($s0)
/* 6F6040 802381C0 1460000F */ bnez $v1, .L80238200
2021-01-12 16:42:27 +01:00
/* 6F6044 802381C4 00000000 */ nop
2021-01-10 12:57:43 +01:00
/* 6F6048 802381C8 8C42007C */ lw $v0, 0x7c($v0)
/* 6F604C 802381CC 30420020 */ andi $v0, $v0, 0x20
/* 6F6050 802381D0 1440000B */ bnez $v0, .L80238200
2021-01-12 16:42:27 +01:00
/* 6F6054 802381D4 00000000 */ nop
2021-01-10 12:57:43 +01:00
/* 6F6058 802381D8 4614B03C */ c.lt.s $f22, $f20
2021-01-12 16:42:27 +01:00
/* 6F605C 802381DC 00000000 */ nop
2021-01-10 12:57:43 +01:00
/* 6F6060 802381E0 45020004 */ bc1fl .L802381F4
/* 6F6064 802381E4 AE00018C */ sw $zero, 0x18c($s0)
/* 6F6068 802381E8 C600018C */ lwc1 $f0, 0x18c($s0)
/* 6F606C 802381EC 46180000 */ add.s $f0, $f0, $f24
/* 6F6070 802381F0 E600018C */ swc1 $f0, 0x18c($s0)
.L802381F4:
/* 6F6074 802381F4 0C00A6C9 */ jal clamp_angle
/* 6F6078 802381F8 C60C018C */ lwc1 $f12, 0x18c($s0)
/* 6F607C 802381FC E600018C */ swc1 $f0, 0x18c($s0)
.L80238200:
/* 6F6080 80238200 8262040C */ lb $v0, 0x40c($s3)
/* 6F6084 80238204 26520001 */ addiu $s2, $s2, 1
/* 6F6088 80238208 0242102A */ slt $v0, $s2, $v0
/* 6F608C 8023820C 1440FFD8 */ bnez $v0, .L80238170
/* 6F6090 80238210 02721021 */ addu $v0, $s3, $s2
.L80238214:
/* 6F6094 80238214 8E620088 */ lw $v0, 0x88($s3)
/* 6F6098 80238218 10400015 */ beqz $v0, .L80238270
/* 6F609C 8023821C 0000102D */ daddu $v0, $zero, $zero
/* 6F60A0 80238220 8262040C */ lb $v0, 0x40c($s3)
/* 6F60A4 80238224 18400011 */ blez $v0, .L8023826C
/* 6F60A8 80238228 0000902D */ daddu $s2, $zero, $zero
/* 6F60AC 8023822C 02721021 */ addu $v0, $s3, $s2
.L80238230:
/* 6F60B0 80238230 8043040D */ lb $v1, 0x40d($v0)
/* 6F60B4 80238234 00031080 */ sll $v0, $v1, 2
/* 6F60B8 80238238 00431021 */ addu $v0, $v0, $v1
/* 6F60BC 8023823C 00021080 */ sll $v0, $v0, 2
/* 6F60C0 80238240 00538821 */ addu $s1, $v0, $s3
/* 6F60C4 80238244 0C09A75B */ jal get_actor
/* 6F60C8 80238248 8624022C */ lh $a0, 0x22c($s1)
/* 6F60CC 8023824C 0040802D */ daddu $s0, $v0, $zero
/* 6F60D0 80238250 56000001 */ bnel $s0, $zero, .L80238258
/* 6F60D4 80238254 AE00018C */ sw $zero, 0x18c($s0)
.L80238258:
/* 6F60D8 80238258 8262040C */ lb $v0, 0x40c($s3)
/* 6F60DC 8023825C 26520001 */ addiu $s2, $s2, 1
/* 6F60E0 80238260 0242102A */ slt $v0, $s2, $v0
/* 6F60E4 80238264 1440FFF2 */ bnez $v0, .L80238230
/* 6F60E8 80238268 02721021 */ addu $v0, $s3, $s2
.L8023826C:
/* 6F60EC 8023826C 24020002 */ addiu $v0, $zero, 2
.L80238270:
/* 6F60F0 80238270 8FBF0020 */ lw $ra, 0x20($sp)
/* 6F60F4 80238274 8FB3001C */ lw $s3, 0x1c($sp)
/* 6F60F8 80238278 8FB20018 */ lw $s2, 0x18($sp)
/* 6F60FC 8023827C 8FB10014 */ lw $s1, 0x14($sp)
/* 6F6100 80238280 8FB00010 */ lw $s0, 0x10($sp)
/* 6F6104 80238284 D7B80038 */ ldc1 $f24, 0x38($sp)
/* 6F6108 80238288 D7B60030 */ ldc1 $f22, 0x30($sp)
/* 6F610C 8023828C D7B40028 */ ldc1 $f20, 0x28($sp)
/* 6F6110 80238290 03E00008 */ jr $ra
/* 6F6114 80238294 27BD0040 */ addiu $sp, $sp, 0x40