sub_8110E68

This commit is contained in:
PikalaxALT
2018-10-11 11:06:25 -04:00
parent c340377fe5
commit 0046efe867
3 changed files with 53 additions and 92 deletions
-87
View File
@@ -5,93 +5,6 @@
.text
thumb_func_start sub_8110E68
sub_8110E68: @ 8110E68
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r7, r0, 0
ldr r0, _08110EA0 @ =gUnknown_203ADFC
ldrh r5, [r0]
ldr r0, _08110EA4 @ =gUnknown_203AF98
mov r8, r0
ldrh r0, [r0]
cmp r5, r0
bcs _08110ECA
ldr r6, _08110EA8 @ =gUnknown_203AE08
_08110E80:
ldr r4, [r6]
cmp r4, 0
beq _08110F02
lsls r0, r5, 3
adds r1, r0, r7
ldrb r2, [r1, 0x6]
adds r3, r0, 0
cmp r2, 0x1
bgt _08110EAC
cmp r2, 0
blt _08110EAC
adds r0, r4, 0
bl sub_8113D48
b _08110EB4
.align 2, 0
_08110EA0: .4byte gUnknown_203ADFC
_08110EA4: .4byte gUnknown_203AF98
_08110EA8: .4byte gUnknown_203AE08
_08110EAC:
ldr r0, [r6]
adds r1, r7, r3
bl sub_8113CC8
_08110EB4:
str r0, [r6]
ldr r1, [r6]
cmp r1, 0
beq _08110EEC
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
ldr r0, _08110EE0 @ =gUnknown_203AF98
ldrh r0, [r0]
cmp r5, r0
bcc _08110E80
_08110ECA:
ldr r0, _08110EE4 @ =gUnknown_3005E88
ldrb r0, [r0]
cmp r0, 0
beq _08110EF8
ldr r1, _08110EE8 @ =gUnknown_203ADFC
mov r2, r8
ldrh r0, [r2]
strh r0, [r1]
movs r0, 0x1
b _08110F04
.align 2, 0
_08110EE0: .4byte gUnknown_203AF98
_08110EE4: .4byte gUnknown_3005E88
_08110EE8: .4byte gUnknown_203ADFC
_08110EEC:
ldr r0, _08110EF4 @ =gUnknown_3005E88
strb r1, [r0]
b _08110F02
.align 2, 0
_08110EF4: .4byte gUnknown_3005E88
_08110EF8:
ldr r4, _08110F10 @ =gUnknown_203AE08
ldr r0, [r4]
bl sub_8113BF4
str r0, [r4]
_08110F02:
movs r0, 0
_08110F04:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_08110F10: .4byte gUnknown_203AE08
thumb_func_end sub_8110E68
thumb_func_start sub_8110F14
sub_8110F14: @ 8110F14
push {r4-r7,lr}
+6
View File
@@ -0,0 +1,6 @@
#ifndef GUARD_UNK_8159F40_H
#define GUARD_UNK_8159F40_H
void sub_815A008(struct QuestLog *);
#endif //GUARD_UNK_8159F40_H
+47 -5
View File
@@ -13,6 +13,12 @@ struct UnkStruct_203AE94
u8 unk_1;
};
struct UnkStruct_203AE98
{
u8 filler_0[6];
u8 unk_6;
};
EWRAM_DATA u8 gUnknown_203ADF8 = 0;
EWRAM_DATA u8 gUnknown_203ADFA = 0;
EWRAM_DATA u16 gUnknown_203ADFC = 0;
@@ -21,7 +27,8 @@ EWRAM_DATA void * gUnknown_203AE08 = NULL;
EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL};
EWRAM_DATA void (* gUnknown_203AE8C)(void) = 0;
EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0};
EWRAM_DATA u8 gUnknown_203AE98[0x100] = {0};
EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0};
EWRAM_DATA u16 gUnknown_203AF98 = 0;
void sub_8110A00(void);
void sub_8110A3C(void);
@@ -31,16 +38,17 @@ void sub_8110E3C(void);
void sub_8110D94(void);
void sub_8110E20(void);
void sub_8110D48(u8);
u8 sub_8110E68(struct UnkStruct_203AE98 *);
void sub_81115E8(void);
u8 sub_8110E68(void *);
void sub_81118F4(s8);
void sub_8111AD8(void);
void sub_8112940(u8, struct UnkStruct_203AE98 *, u16);
void sub_8113B88(void);
void sub_8113BD8(void);
void sub_8113BF4(void *);
void sub_8112940(u8, u8 *, u16);
void * sub_8113BF4(void *);
void sub_81138F8(void);
void sub_815A008(struct QuestLog *);
void * sub_8113D48(void *, struct UnkStruct_203AE98 *);
void * sub_8113CC8(void *, struct UnkStruct_203AE98 *);
void sub_8110840(void * a0)
@@ -432,3 +440,37 @@ void sub_8110E3C(void)
if (++gUnknown_203ADF8 > 3)
gUnknown_203ADF8 = 0;
}
bool8 sub_8110E68(struct UnkStruct_203AE98 * a0)
{
u16 i;
for (i = gUnknown_203ADFC; i < gUnknown_203AF98; i++)
{
if (gUnknown_203AE08 == NULL)
return FALSE;
switch (a0[i].unk_6)
{
case 0:
case 1:
gUnknown_203AE08 = sub_8113D48(gUnknown_203AE08, &a0[i]);
break;
default:
gUnknown_203AE08 = sub_8113CC8(gUnknown_203AE08, &a0[i]);
break;
}
if (gUnknown_203AE08 == NULL)
{
gUnknown_3005E88 = 0;
return FALSE;
}
}
if (gUnknown_3005E88 == 0)
{
gUnknown_203AE08 = sub_8113BF4(gUnknown_203AE08);
return FALSE;
}
gUnknown_203ADFC = gUnknown_203AF98;
return TRUE;
}