papermario/asm/nonmatchings/code_196AA0/check_block_input.s
2020-11-29 02:13:07 -05:00

172 lines
8.7 KiB
ArmAsm
Generated

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel check_block_input
/* 1977AC 80268ECC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 1977B0 80268ED0 AFB40020 */ sw $s4, 0x20($sp)
/* 1977B4 80268ED4 0080A02D */ daddu $s4, $a0, $zero
/* 1977B8 80268ED8 AFB7002C */ sw $s7, 0x2c($sp)
/* 1977BC 80268EDC 0000B82D */ daddu $s7, $zero, $zero
/* 1977C0 80268EE0 AFB10014 */ sw $s1, 0x14($sp)
/* 1977C4 80268EE4 3C11800E */ lui $s1, %hi(gBattleStatus)
/* 1977C8 80268EE8 2631C070 */ addiu $s1, $s1, %lo(gBattleStatus)
/* 1977CC 80268EEC AFB50024 */ sw $s5, 0x24($sp)
/* 1977D0 80268EF0 3C158011 */ lui $s5, %hi(gPlayerData)
/* 1977D4 80268EF4 26B5F290 */ addiu $s5, $s5, %lo(gPlayerData)
/* 1977D8 80268EF8 AFB60028 */ sw $s6, 0x28($sp)
/* 1977DC 80268EFC 3C16802A */ lui $s6, %hi(D_8029FBE0)
/* 1977E0 80268F00 26D6FBE0 */ addiu $s6, $s6, %lo(D_8029FBE0)
/* 1977E4 80268F04 AFBF0030 */ sw $ra, 0x30($sp)
/* 1977E8 80268F08 AFB3001C */ sw $s3, 0x1c($sp)
/* 1977EC 80268F0C AFB20018 */ sw $s2, 0x18($sp)
/* 1977F0 80268F10 AFB00010 */ sw $s0, 0x10($sp)
/* 1977F4 80268F14 82230083 */ lb $v1, 0x83($s1)
/* 1977F8 80268F18 2402FFFF */ addiu $v0, $zero, -1
/* 1977FC 80268F1C 14620009 */ bne $v1, $v0, .L80268F44
/* 197800 80268F20 A2200087 */ sb $zero, 0x87($s1)
/* 197804 80268F24 8E220000 */ lw $v0, ($s1)
/* 197808 80268F28 3C030200 */ lui $v1, 0x200
/* 19780C 80268F2C 00431024 */ and $v0, $v0, $v1
/* 197810 80268F30 10400004 */ beqz $v0, .L80268F44
/* 197814 80268F34 24020001 */ addiu $v0, $zero, 1
/* 197818 80268F38 A2220087 */ sb $v0, 0x87($s1)
/* 19781C 80268F3C 0809A43B */ j .L802690EC
/* 197820 80268F40 24020001 */ addiu $v0, $zero, 1
.L80268F44:
/* 197824 80268F44 82220083 */ lb $v0, 0x83($s1)
/* 197828 80268F48 10400068 */ beqz $v0, .L802690EC
/* 19782C 80268F4C 0000102D */ daddu $v0, $zero, $zero
/* 197830 80268F50 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 197834 80268F54 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 197838 80268F58 904200AA */ lbu $v0, 0xaa($v0)
/* 19783C 80268F5C 30420001 */ andi $v0, $v0, 1
/* 197840 80268F60 14400062 */ bnez $v0, .L802690EC
/* 197844 80268F64 0000102D */ daddu $v0, $zero, $zero
/* 197848 80268F68 96A30298 */ lhu $v1, 0x298($s5)
/* 19784C 80268F6C 2C62270F */ sltiu $v0, $v1, 0x270f
/* 197850 80268F70 1040000A */ beqz $v0, .L80268F9C
/* 197854 80268F74 24620001 */ addiu $v0, $v1, 1
/* 197858 80268F78 A6A20298 */ sh $v0, 0x298($s5)
/* 19785C 80268F7C 0809A3E9 */ j .L80268FA4
/* 197860 80268F80 A6C0006E */ sh $zero, 0x6e($s6)
.L80268F84:
/* 197864 80268F84 0809A408 */ j .L80269020
/* 197868 80268F88 24170001 */ addiu $s7, $zero, 1
.L80268F8C:
/* 19786C 80268F8C 24020001 */ addiu $v0, $zero, 1
/* 197870 80268F90 A2220087 */ sb $v0, 0x87($s1)
/* 197874 80268F94 0809A41A */ j .L80269068
/* 197878 80268F98 24120001 */ addiu $s2, $zero, 1
.L80268F9C:
/* 19787C 80268F9C 24020001 */ addiu $v0, $zero, 1
/* 197880 80268FA0 A6C2006E */ sh $v0, 0x6e($s6)
.L80268FA4:
/* 197884 80268FA4 0000902D */ daddu $s2, $zero, $zero
/* 197888 80268FA8 24100003 */ addiu $s0, $zero, 3
/* 19788C 80268FAC 3C02800E */ lui $v0, %hi(gBattleStatus)
/* 197890 80268FB0 8C42C070 */ lw $v0, %lo(gBattleStatus)($v0)
/* 197894 80268FB4 3C030008 */ lui $v1, 8
/* 197898 80268FB8 00431024 */ and $v0, $v0, $v1
/* 19789C 80268FBC 14400005 */ bnez $v0, .L80268FD4
/* 1978A0 80268FC0 2413000A */ addiu $s3, $zero, 0xa
/* 1978A4 80268FC4 0C03A752 */ jal is_ability_active
/* 1978A8 80268FC8 0240202D */ daddu $a0, $s2, $zero
/* 1978AC 80268FCC 54400001 */ bnel $v0, $zero, .L80268FD4
/* 1978B0 80268FD0 24100005 */ addiu $s0, $zero, 5
.L80268FD4:
/* 1978B4 80268FD4 82230431 */ lb $v1, 0x431($s1)
/* 1978B8 80268FD8 02701021 */ addu $v0, $s3, $s0
/* 1978BC 80268FDC 00621823 */ subu $v1, $v1, $v0
/* 1978C0 80268FE0 04620001 */ bltzl $v1, .L80268FE8
/* 1978C4 80268FE4 24630040 */ addiu $v1, $v1, 0x40
.L80268FE8:
/* 1978C8 80268FE8 1260000D */ beqz $s3, .L80269020
/* 1978CC 80268FEC 0000202D */ daddu $a0, $zero, $zero
.L80268FF0:
/* 1978D0 80268FF0 28620040 */ slti $v0, $v1, 0x40
/* 1978D4 80268FF4 50400001 */ beql $v0, $zero, .L80268FFC
/* 1978D8 80268FF8 2463FFC0 */ addiu $v1, $v1, -0x40
.L80268FFC:
/* 1978DC 80268FFC 00031080 */ sll $v0, $v1, 2
/* 1978E0 80269000 02221021 */ addu $v0, $s1, $v0
/* 1978E4 80269004 8C420330 */ lw $v0, 0x330($v0)
/* 1978E8 80269008 00541024 */ and $v0, $v0, $s4
/* 1978EC 8026900C 1440FFDD */ bnez $v0, .L80268F84
/* 1978F0 80269010 24840001 */ addiu $a0, $a0, 1
/* 1978F4 80269014 0093102A */ slt $v0, $a0, $s3
/* 1978F8 80269018 1440FFF5 */ bnez $v0, .L80268FF0
/* 1978FC 8026901C 24630001 */ addiu $v1, $v1, 1
.L80269020:
/* 197900 80269020 82230431 */ lb $v1, 0x431($s1)
/* 197904 80269024 00701823 */ subu $v1, $v1, $s0
/* 197908 80269028 04620001 */ bltzl $v1, .L80269030
/* 19790C 8026902C 24630040 */ addiu $v1, $v1, 0x40
.L80269030:
/* 197910 80269030 1200000D */ beqz $s0, .L80269068
/* 197914 80269034 0000202D */ daddu $a0, $zero, $zero
.L80269038:
/* 197918 80269038 28620040 */ slti $v0, $v1, 0x40
/* 19791C 8026903C 50400001 */ beql $v0, $zero, .L80269044
/* 197920 80269040 2463FFC0 */ addiu $v1, $v1, -0x40
.L80269044:
/* 197924 80269044 00031080 */ sll $v0, $v1, 2
/* 197928 80269048 02221021 */ addu $v0, $s1, $v0
/* 19792C 8026904C 8C420330 */ lw $v0, 0x330($v0)
/* 197930 80269050 00541024 */ and $v0, $v0, $s4
/* 197934 80269054 1440FFCD */ bnez $v0, .L80268F8C
/* 197938 80269058 24840001 */ addiu $a0, $a0, 1
/* 19793C 8026905C 0090102A */ slt $v0, $a0, $s0
/* 197940 80269060 1440FFF5 */ bnez $v0, .L80269038
/* 197944 80269064 24630001 */ addiu $v1, $v1, 1
.L80269068:
/* 197948 80269068 12E00003 */ beqz $s7, .L80269078
/* 19794C 8026906C 2402FFFF */ addiu $v0, $zero, -1
/* 197950 80269070 A2220087 */ sb $v0, 0x87($s1)
/* 197954 80269074 0000902D */ daddu $s2, $zero, $zero
.L80269078:
/* 197958 80269078 24020001 */ addiu $v0, $zero, 1
/* 19795C 8026907C 16420012 */ bne $s2, $v0, .L802690C8
/* 197960 80269080 02701021 */ addu $v0, $s3, $s0
/* 197964 80269084 82230431 */ lb $v1, 0x431($s1)
/* 197968 80269088 00621823 */ subu $v1, $v1, $v0
/* 19796C 8026908C 04620001 */ bltzl $v1, .L80269094
/* 197970 80269090 24630040 */ addiu $v1, $v1, 0x40
.L80269094:
/* 197974 80269094 1040000C */ beqz $v0, .L802690C8
/* 197978 80269098 0000202D */ daddu $a0, $zero, $zero
/* 19797C 8026909C 0040282D */ daddu $a1, $v0, $zero
.L802690A0:
/* 197980 802690A0 28620040 */ slti $v0, $v1, 0x40
/* 197984 802690A4 50400001 */ beql $v0, $zero, .L802690AC
/* 197988 802690A8 2463FFC0 */ addiu $v1, $v1, -0x40
.L802690AC:
/* 19798C 802690AC 00031080 */ sll $v0, $v1, 2
/* 197990 802690B0 02221021 */ addu $v0, $s1, $v0
/* 197994 802690B4 AC400330 */ sw $zero, 0x330($v0)
/* 197998 802690B8 24840001 */ addiu $a0, $a0, 1
/* 19799C 802690BC 0085102A */ slt $v0, $a0, $a1
/* 1979A0 802690C0 1440FFF7 */ bnez $v0, .L802690A0
/* 1979A4 802690C4 24630001 */ addiu $v1, $v1, 1
.L802690C8:
/* 1979A8 802690C8 12400008 */ beqz $s2, .L802690EC
/* 1979AC 802690CC 0240102D */ daddu $v0, $s2, $zero
/* 1979B0 802690D0 86C2006E */ lh $v0, 0x6e($s6)
/* 1979B4 802690D4 14400005 */ bnez $v0, .L802690EC
/* 1979B8 802690D8 0240102D */ daddu $v0, $s2, $zero
/* 1979BC 802690DC 96A2029A */ lhu $v0, 0x29a($s5)
/* 1979C0 802690E0 24420001 */ addiu $v0, $v0, 1
/* 1979C4 802690E4 A6A2029A */ sh $v0, 0x29a($s5)
/* 1979C8 802690E8 0240102D */ daddu $v0, $s2, $zero
.L802690EC:
/* 1979CC 802690EC 8FBF0030 */ lw $ra, 0x30($sp)
/* 1979D0 802690F0 8FB7002C */ lw $s7, 0x2c($sp)
/* 1979D4 802690F4 8FB60028 */ lw $s6, 0x28($sp)
/* 1979D8 802690F8 8FB50024 */ lw $s5, 0x24($sp)
/* 1979DC 802690FC 8FB40020 */ lw $s4, 0x20($sp)
/* 1979E0 80269100 8FB3001C */ lw $s3, 0x1c($sp)
/* 1979E4 80269104 8FB20018 */ lw $s2, 0x18($sp)
/* 1979E8 80269108 8FB10014 */ lw $s1, 0x14($sp)
/* 1979EC 8026910C 8FB00010 */ lw $s0, 0x10($sp)
/* 1979F0 80269110 03E00008 */ jr $ra
/* 1979F4 80269114 27BD0038 */ addiu $sp, $sp, 0x38