sub_8146884
This commit is contained in:
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user