sub_8111AD8
This commit is contained in:
@@ -5,89 +5,6 @@
|
||||
|
||||
.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
|
||||
sub_8111B80: @ 8111B80
|
||||
push {r4,lr}
|
||||
|
||||
+46
-10
@@ -29,6 +29,8 @@ struct UnkStruct_203AE94
|
||||
u8 unk_0_4:2;
|
||||
u8 unk_0_6:2;
|
||||
u8 unk_1;
|
||||
u8 unk_2;
|
||||
u8 unk_3;
|
||||
};
|
||||
|
||||
struct UnkStruct_203AE98
|
||||
@@ -70,24 +72,29 @@ void sub_811175C(u8, struct UnkStruct_203AE98 *);
|
||||
void sub_81118F4(s8);
|
||||
void sub_8111914(void);
|
||||
void sub_8111984(void);
|
||||
void sub_8112364(void);
|
||||
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_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_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_8113BD8(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_8113D08(void *, struct UnkStruct_203AE98 *);
|
||||
void * sub_8113D48(void *, struct UnkStruct_203AE98 *);
|
||||
void * sub_8113D94(void *, struct UnkStruct_203AE98 *);
|
||||
|
||||
extern const u8 gUnknown_841A155[];
|
||||
|
||||
@@ -980,3 +987,32 @@ void sub_8111A34(u8 taskId)
|
||||
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