through sub_8111CF0

This commit is contained in:
PikalaxALT 2018-10-12 09:48:04 -04:00
parent 6b0f3451b8
commit cd3594802c
2 changed files with 83 additions and 223 deletions

View File

@ -5,229 +5,6 @@
.text
thumb_func_start sub_8111B80
sub_8111B80: @ 8111B80
push {r4,lr}
ldr r4, _08111BCC @ =gUnknown_203AE94
ldrb r1, [r4]
movs r2, 0xF
ands r2, r1
cmp r2, 0
bne _08111BC0
movs r0, 0x10
negs r0, r0
ands r0, r1
movs r1, 0x1
orrs r0, r1
movs r1, 0x31
negs r1, r1
ands r0, r1
strb r0, [r4]
strb r2, [r4, 0x3]
bl sub_8111BD4
strb r0, [r4, 0x2]
ldr r0, _08111BD0 @ =gUnknown_203B044
ldrh r0, [r0, 0x2]
cmp r0, 0
bne _08111BB6
ldrb r0, [r4, 0x1]
adds r0, 0x1
strb r0, [r4, 0x1]
_08111BB6:
ldrb r0, [r4, 0x1]
cmp r0, 0x20
bhi _08111BC6
bl sub_8111D10
_08111BC0:
movs r0, 0x1
bl sub_8112888
_08111BC6:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08111BCC: .4byte gUnknown_203AE94
_08111BD0: .4byte gUnknown_203B044
thumb_func_end sub_8111B80
thumb_func_start sub_8111BD4
sub_8111BD4: @ 8111BD4
push {r4,lr}
movs r2, 0
movs r1, 0
ldr r3, _08111C0C @ =gStringVar4
ldrb r0, [r3]
cmp r0, 0xFF
beq _08111C04
ldr r4, _08111C10 @ =0x000003ff
_08111BE4:
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, 0xFE
beq _08111BF2
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
_08111BF2:
adds r0, r1, 0x1
lsls r0, 16
lsrs r1, r0, 16
cmp r1, r4
bhi _08111C04
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, 0xFF
bne _08111BE4
_08111C04:
cmp r2, 0x13
bhi _08111C14
movs r0, 0x5F
b _08111C26
.align 2, 0
_08111C0C: .4byte gStringVar4
_08111C10: .4byte 0x000003ff
_08111C14:
cmp r2, 0x23
bhi _08111C1C
movs r0, 0x7F
b _08111C26
_08111C1C:
cmp r2, 0x2D
bls _08111C24
movs r0, 0xFF
b _08111C26
_08111C24:
movs r0, 0xBF
_08111C26:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8111BD4
thumb_func_start sub_8111C2C
sub_8111C2C: @ 8111C2C
push {lr}
ldr r0, _08111C54 @ =gUnknown_203ADFA
ldrb r0, [r0]
cmp r0, 0x2
bne _08111C60
ldr r0, _08111C58 @ =gUnknown_3005E88
ldrb r0, [r0]
cmp r0, 0
beq _08111C4E
ldr r0, _08111C5C @ =gUnknown_203AE94
ldrb r0, [r0]
movs r1, 0xF
ands r1, r0
cmp r1, 0x1
beq _08111C4E
cmp r1, 0x2
bne _08111C60
_08111C4E:
movs r0, 0x1
b _08111C62
.align 2, 0
_08111C54: .4byte gUnknown_203ADFA
_08111C58: .4byte gUnknown_3005E88
_08111C5C: .4byte gUnknown_203AE94
_08111C60:
movs r0, 0
_08111C62:
pop {r1}
bx r1
thumb_func_end sub_8111C2C
thumb_func_start sub_8111C68
sub_8111C68: @ 8111C68
push {r4,r5,lr}
ldr r5, _08111C9C @ =gUnknown_203AE94
ldrb r2, [r5]
movs r4, 0xC0
ands r4, r2
cmp r4, 0
bne _08111CC6
ldr r0, _08111CA0 @ =gMain
ldrh r1, [r0, 0x2E]
movs r3, 0x1
ands r3, r1
cmp r3, 0
beq _08111CA8
movs r0, 0x3F
ands r0, r2
movs r1, 0x80
orrs r0, r1
strb r0, [r5]
ldr r0, _08111CA4 @ =gUnknown_3005E88
strb r4, [r0]
movs r0, 0x3
negs r0, r0
bl sub_81118F4
b _08111CC6
.align 2, 0
_08111C9C: .4byte gUnknown_203AE94
_08111CA0: .4byte gMain
_08111CA4: .4byte gUnknown_3005E88
_08111CA8:
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _08111CC6
movs r0, 0x3F
ands r0, r2
movs r1, 0x40
orrs r0, r1
strb r0, [r5]
ldr r0, _08111CCC @ =gUnknown_3005E88
strb r3, [r0]
movs r0, 0x3
negs r0, r0
bl sub_8111E64
_08111CC6:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08111CCC: .4byte gUnknown_3005E88
thumb_func_end sub_8111C68
thumb_func_start sub_8111CD0
sub_8111CD0: @ 8111CD0
push {lr}
ldr r0, _08111CE4 @ =gUnknown_203AE94
ldrb r1, [r0]
movs r0, 0xC0
ands r0, r1
cmp r0, 0
bne _08111CE8
movs r0, 0
b _08111CEA
.align 2, 0
_08111CE4: .4byte gUnknown_203AE94
_08111CE8:
movs r0, 0x1
_08111CEA:
pop {r1}
bx r1
thumb_func_end sub_8111CD0
thumb_func_start sub_8111CF0
sub_8111CF0: @ 8111CF0
push {lr}
ldr r0, _08111D08 @ =gUnknown_203ADFA
ldrb r0, [r0]
cmp r0, 0x2
bne _08111D02
ldr r0, _08111D0C @ =gUnknown_203ADF9
ldrb r0, [r0]
bl sub_8111070
_08111D02:
pop {r0}
bx r0
.align 2, 0
_08111D08: .4byte gUnknown_203ADFA
_08111D0C: .4byte gUnknown_203ADF9
thumb_func_end sub_8111CF0
thumb_func_start sub_8111D10
sub_8111D10: @ 8111D10
push {r4,r5,lr}

View File

@ -52,6 +52,8 @@ EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0};
EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0};
EWRAM_DATA u16 gUnknown_203AF98 = 0;
EWRAM_DATA u16 gUnknown_203B044[2] = {0};
void sub_8110A00(void);
void sub_8110A3C(void);
void sub_8110BB0(u8);
@ -75,7 +77,10 @@ void sub_8111984(void);
void sub_8111A34(u8);
void sub_8111AD8(void);
void sub_8111B80(void);
u8 sub_8111BD4(void);
void sub_8111D10(void);
void sub_8111E20(void);
void sub_8111E64(s8);
bool8 sub_8111F60(void);
void sub_8112364(void);
void sub_8112888(u8);
@ -1016,3 +1021,81 @@ void sub_8111AD8(void)
sub_8111B80();
}
}
void sub_8111B80(void)
{
if (gUnknown_203AE94.unk_0_0 == 0)
{
gUnknown_203AE94.unk_0_0 = 1;
gUnknown_203AE94.unk_0_4 = 0;
gUnknown_203AE94.unk_3 = 0;
gUnknown_203AE94.unk_2 = sub_8111BD4();
if (gUnknown_203B044[1] == 0)
gUnknown_203AE94.unk_1++;
if (gUnknown_203AE94.unk_1 > 32)
return;
sub_8111D10();
}
sub_8112888(1);
}
u8 sub_8111BD4(void)
{
u16 i;
u16 count = 0;
for (i = 0; i < 0x400 && gStringVar4[i] != EOS; i++)
{
if (gStringVar4[i] != CHAR_NEWLINE)
count++;
}
if (count < 20)
return 0x5F;
if (count < 36)
return 0x7F;
if (count < 46)
return 0xBF;
return 0xFF;
}
bool8 sub_8111C2C(void)
{
if (gUnknown_203ADFA != 2)
return FALSE;
if (gUnknown_3005E88 == 0 || gUnknown_203AE94.unk_0_0 == 1 || gUnknown_203AE94.unk_0_0 == 2)
return TRUE;
return FALSE;
}
void sub_8111C68(void)
{
if (gUnknown_203AE94.unk_0_6 == 0)
{
if (gMain.newKeys & A_BUTTON)
{
gUnknown_203AE94.unk_0_6 = 2;
gUnknown_3005E88 = 0;
sub_81118F4(-3);
}
else if (gMain.newKeys & B_BUTTON)
{
gUnknown_203AE94.unk_0_6 = 1;
gUnknown_3005E88 = 0;
sub_8111E64(-3);
}
}
}
bool8 sub_8111CD0(void)
{
if (gUnknown_203AE94.unk_0_6 != 0)
return TRUE;
return FALSE;
}
void sub_8111CF0(void)
{
if (gUnknown_203ADFA == 2)
sub_8111070(gUnknown_203ADF9);
}