sub_8111AD8
This commit is contained in:
@@ -5,89 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_8111AD8
|
|
||||||
sub_8111AD8: @ 8111AD8
|
|
||||||
push {r4,r5,lr}
|
|
||||||
ldr r4, _08111B58 @ =gUnknown_203AE94
|
|
||||||
ldrb r1, [r4]
|
|
||||||
movs r0, 0xF
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _08111B0A
|
|
||||||
ldrb r0, [r4, 0x2]
|
|
||||||
subs r0, 0x1
|
|
||||||
strb r0, [r4, 0x2]
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08111B78
|
|
||||||
movs r0, 0x10
|
|
||||||
negs r0, r0
|
|
||||||
ands r0, r1
|
|
||||||
movs r1, 0x31
|
|
||||||
negs r1, r1
|
|
||||||
ands r0, r1
|
|
||||||
movs r1, 0x10
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r4]
|
|
||||||
movs r0, 0x2
|
|
||||||
bl sub_8112888
|
|
||||||
_08111B0A:
|
|
||||||
ldrb r1, [r4]
|
|
||||||
movs r0, 0x30
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0x10
|
|
||||||
bne _08111B34
|
|
||||||
ldrb r0, [r4, 0x3]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r4, 0x3]
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0xF
|
|
||||||
bls _08111B34
|
|
||||||
bl sub_8111E20
|
|
||||||
ldrb r0, [r4]
|
|
||||||
movs r1, 0x31
|
|
||||||
negs r1, r1
|
|
||||||
ands r1, r0
|
|
||||||
strb r1, [r4]
|
|
||||||
movs r0, 0
|
|
||||||
strb r0, [r4, 0x3]
|
|
||||||
_08111B34:
|
|
||||||
ldr r4, _08111B58 @ =gUnknown_203AE94
|
|
||||||
ldrb r0, [r4, 0x1]
|
|
||||||
cmp r0, 0x1F
|
|
||||||
bhi _08111B78
|
|
||||||
ldr r5, _08111B5C @ =gUnknown_203AE0C
|
|
||||||
lsls r0, 2
|
|
||||||
adds r0, r5
|
|
||||||
ldr r0, [r0]
|
|
||||||
bl sub_8113B44
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _08111B60
|
|
||||||
bl sub_8111B80
|
|
||||||
b _08111B78
|
|
||||||
.align 2, 0
|
|
||||||
_08111B58: .4byte gUnknown_203AE94
|
|
||||||
_08111B5C: .4byte gUnknown_203AE0C
|
|
||||||
_08111B60:
|
|
||||||
ldrb r0, [r4, 0x1]
|
|
||||||
lsls r0, 2
|
|
||||||
adds r0, r5
|
|
||||||
ldr r0, [r0]
|
|
||||||
bl sub_8113AE8
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _08111B78
|
|
||||||
bl sub_8111B80
|
|
||||||
_08111B78:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8111AD8
|
|
||||||
|
|
||||||
thumb_func_start sub_8111B80
|
thumb_func_start sub_8111B80
|
||||||
sub_8111B80: @ 8111B80
|
sub_8111B80: @ 8111B80
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
|
|||||||
+46
-10
@@ -29,6 +29,8 @@ struct UnkStruct_203AE94
|
|||||||
u8 unk_0_4:2;
|
u8 unk_0_4:2;
|
||||||
u8 unk_0_6:2;
|
u8 unk_0_6:2;
|
||||||
u8 unk_1;
|
u8 unk_1;
|
||||||
|
u8 unk_2;
|
||||||
|
u8 unk_3;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct UnkStruct_203AE98
|
struct UnkStruct_203AE98
|
||||||
@@ -70,24 +72,29 @@ void sub_811175C(u8, struct UnkStruct_203AE98 *);
|
|||||||
void sub_81118F4(s8);
|
void sub_81118F4(s8);
|
||||||
void sub_8111914(void);
|
void sub_8111914(void);
|
||||||
void sub_8111984(void);
|
void sub_8111984(void);
|
||||||
void sub_8112364(void);
|
|
||||||
void sub_8111A34(u8);
|
void sub_8111A34(u8);
|
||||||
bool8 sub_8111F60(void);
|
|
||||||
void * sub_8113D08(void *, struct UnkStruct_203AE98 *);
|
|
||||||
void * sub_8113D94(void *, struct UnkStruct_203AE98 *);
|
|
||||||
void * sub_8113C20(void *, struct UnkStruct_203AE98 *);
|
|
||||||
void * sub_8113C8C(void *, struct UnkStruct_203AE98 *);
|
|
||||||
void * sub_8113A78(void *, void **);
|
|
||||||
void sub_8113ABC(void *);
|
|
||||||
void sub_81138F8(void);
|
|
||||||
void sub_8111AD8(void);
|
void sub_8111AD8(void);
|
||||||
|
void sub_8111B80(void);
|
||||||
|
void sub_8111E20(void);
|
||||||
|
bool8 sub_8111F60(void);
|
||||||
|
void sub_8112364(void);
|
||||||
|
void sub_8112888(u8);
|
||||||
void sub_8112940(u8, struct UnkStruct_203AE98 *, u16);
|
void sub_8112940(u8, struct UnkStruct_203AE98 *, u16);
|
||||||
void sub_811381C(void);
|
void sub_811381C(void);
|
||||||
|
void sub_81138F8(void);
|
||||||
|
void * sub_8113A78(void *, void **);
|
||||||
|
void sub_8113ABC(void *);
|
||||||
|
bool8 sub_8113AE8(void *);
|
||||||
|
bool8 sub_8113B44(void *);
|
||||||
void sub_8113B88(void);
|
void sub_8113B88(void);
|
||||||
void sub_8113BD8(void);
|
void sub_8113BD8(void);
|
||||||
void * sub_8113BF4(void *);
|
void * sub_8113BF4(void *);
|
||||||
void * sub_8113D48(void *, struct UnkStruct_203AE98 *);
|
void * sub_8113C20(void *, struct UnkStruct_203AE98 *);
|
||||||
|
void * sub_8113C8C(void *, struct UnkStruct_203AE98 *);
|
||||||
void * sub_8113CC8(void *, struct UnkStruct_203AE98 *);
|
void * sub_8113CC8(void *, struct UnkStruct_203AE98 *);
|
||||||
|
void * sub_8113D08(void *, struct UnkStruct_203AE98 *);
|
||||||
|
void * sub_8113D48(void *, struct UnkStruct_203AE98 *);
|
||||||
|
void * sub_8113D94(void *, struct UnkStruct_203AE98 *);
|
||||||
|
|
||||||
extern const u8 gUnknown_841A155[];
|
extern const u8 gUnknown_841A155[];
|
||||||
|
|
||||||
@@ -980,3 +987,32 @@ void sub_8111A34(u8 taskId)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_8111AD8(void)
|
||||||
|
{
|
||||||
|
if (gUnknown_203AE94.unk_0_0 == 1)
|
||||||
|
{
|
||||||
|
if (--gUnknown_203AE94.unk_2 != 0)
|
||||||
|
return;
|
||||||
|
gUnknown_203AE94.unk_0_0 = 0;
|
||||||
|
gUnknown_203AE94.unk_0_4 = 1;
|
||||||
|
sub_8112888(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gUnknown_203AE94.unk_0_4 == 1)
|
||||||
|
{
|
||||||
|
if (++gUnknown_203AE94.unk_3 > 15)
|
||||||
|
{
|
||||||
|
sub_8111E20();
|
||||||
|
gUnknown_203AE94.unk_0_4 = 0;
|
||||||
|
gUnknown_203AE94.unk_3 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (gUnknown_203AE94.unk_1 < 32)
|
||||||
|
{
|
||||||
|
if (sub_8113B44(gUnknown_203AE0C[gUnknown_203AE94.unk_1]) == 1)
|
||||||
|
sub_8111B80();
|
||||||
|
else if (sub_8113AE8(gUnknown_203AE0C[gUnknown_203AE94.unk_1]) == 1)
|
||||||
|
sub_8111B80();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user