sub_8146884

This commit is contained in:
PikalaxALT
2018-12-03 09:43:03 -05:00
parent 3700b24a31
commit 0f486fec54
2 changed files with 47 additions and 137 deletions
-134
View File
@@ -5,140 +5,6 @@
.text
thumb_func_start sub_8146884
sub_8146884: @ 8146884
push {r4-r6,lr}
lsls r0, 16
lsrs r4, r0, 16
adds r3, r4, 0
ldr r2, =gUnknown_203F3CC
ldr r0, [r2]
mov r12, r0
movs r0, 0xE1
lsls r0, 1
add r0, r12
ldrb r1, [r0]
movs r5, 0x1
adds r0, r5, 0
ands r0, r1
adds r6, r2, 0
cmp r0, 0
beq _081468B4
bl sub_8146B58
_081468AA:
movs r0, 0xFF
b _0814697A
.pool
_081468B4:
cmp r4, 0x2
beq _081468D0
cmp r4, 0x2
bgt _081468C2
cmp r4, 0x1
beq _081468CC
b _081468AA
_081468C2:
cmp r3, 0x40
beq _081468D4
cmp r3, 0x80
beq _08146904
b _081468AA
_081468CC:
movs r0, 0
b _0814697A
_081468D0:
movs r0, 0x1
b _0814697A
_081468D4:
movs r0, 0xE3
lsls r0, 1
add r0, r12
ldrh r0, [r0]
cmp r0, 0
beq _081468AA
movs r0, 0xE0
lsls r0, 1
add r0, r12
ldrb r1, [r0]
adds r0, r5, 0
ands r0, r1
cmp r0, 0
bne _081468AA
ldr r2, =0x000001c3
add r2, r12
ldrb r1, [r2]
movs r0, 0x2
negs r0, r0
ands r0, r1
b _08146932
.pool
_08146904:
movs r0, 0xE3
lsls r0, 1
add r0, r12
movs r1, 0xE2
lsls r1, 1
add r1, r12
ldrh r0, [r0]
ldrh r1, [r1]
cmp r0, r1
beq _081468AA
movs r0, 0xE0
lsls r0, 1
add r0, r12
ldrb r1, [r0]
adds r0, r5, 0
ands r0, r1
cmp r0, 0
bne _081468AA
ldr r2, =0x000001c3
add r2, r12
ldrb r0, [r2]
movs r1, 0x1
orrs r0, r1
_08146932:
strb r0, [r2]
ldr r2, [r6]
movs r4, 0xE1
lsls r4, 1
adds r2, r4
ldrb r0, [r2]
movs r1, 0x1
orrs r0, r1
strb r0, [r2]
ldr r3, [r6]
adds r3, r4
ldrb r1, [r3]
movs r2, 0x1
adds r0, r2, 0
ands r0, r1
movs r1, 0x4
orrs r0, r1
strb r0, [r3]
ldr r1, [r6]
adds r4, 0x1
adds r1, r4
ldrb r3, [r1]
adds r0, r2, 0
ands r0, r3
strb r0, [r1]
ldr r0, [r6]
adds r0, r4
ldrb r0, [r0]
ands r2, r0
cmp r2, 0
beq _08146978
movs r0, 0x3
b _0814697A
.pool
_08146978:
movs r0, 0x2
_0814697A:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8146884
thumb_func_start sub_8146980
sub_8146980: @ 8146980
push {r4-r6,lr}
+47 -3
View File
@@ -456,9 +456,13 @@ struct UnkStruct_203F3CC
/*0000*/ struct MEventBuffer_3120_Sub unk_0000;
/*01bc*/ const struct UnkStruct_8468720 * unk_01BC;
/*01c0*/ u8 unk_01C0_0:1;
/*01c0*/ u8 unk_01C0_1:7;
u8 unk_01C0_1:7;
/*01c1*/ u8 unk_01C1;
/*01c2*/ u8 filler_01C2[4];
/*01c2*/ u8 unk_01C2_0:1;
u8 unk_01C2_1:7;
/*01c3*/ u8 unk_01C3_0:1;
u8 unk_01C3_1:7;
/*01c4*/ u16 unk_01C4;
/*01c6*/ u16 unk_01C6;
/*01c8*/ u16 unk_01C8[2];
/*01cc*/ u8 filler_01CC[0x1C8];
@@ -470,6 +474,7 @@ EWRAM_DATA struct UnkStruct_203F3CC * gUnknown_203F3CC = NULL;
void sub_8146980(void);
void sub_8146A30(void);
void sub_8146B58(void);
extern const struct TextColor gUnknown_8468038[2];
extern const struct WindowTemplate gUnknown_8468040[2];
@@ -657,4 +662,43 @@ void sub_8146834(void)
gUnknown_203F3CC->unk_01C1 = AddScrollIndicatorArrowPair(&gUnknown_203F3CC->unk_0394, &gUnknown_203F3CC->unk_01C6);
gUnknown_203F3CC->unk_01C0_0 = FALSE;
}
}
}
u8 sub_8146884(u16 input)
{
if (gUnknown_203F3CC->unk_01C2_0)
{
sub_8146B58();
return 0xFF;
}
switch (input)
{
case A_BUTTON:
return 0;
case B_BUTTON:
return 1;
case DPAD_UP:
if (gUnknown_203F3CC->unk_01C6 == 0)
return 0xFF;
if (gUnknown_203F3CC->unk_01C0_0)
return 0xFF;
gUnknown_203F3CC->unk_01C3_0 = FALSE;
break;
case DPAD_DOWN:
if (gUnknown_203F3CC->unk_01C6 == gUnknown_203F3CC->unk_01C4)
return 0xFF;
if (gUnknown_203F3CC->unk_01C0_0)
return 0xFF;
gUnknown_203F3CC->unk_01C3_0 = TRUE;
break;
default:
return 0xFF;
}
gUnknown_203F3CC->unk_01C2_0 = TRUE;
gUnknown_203F3CC->unk_01C2_1 = 2;
gUnknown_203F3CC->unk_01C3_1 = 0;
if (gUnknown_203F3CC->unk_01C3_0 == FALSE)
return 2;
else
return 3;
}