through sub_8112D40

This commit is contained in:
PikalaxALT
2018-10-15 10:07:39 -05:00
parent f07f73e188
commit 1c90805498
3 changed files with 65 additions and 155 deletions
-154
View File
@@ -5,160 +5,6 @@
.text
thumb_func_start sub_8112C9C
sub_8112C9C: @ 8112C9C
ldr r1, _08112CA8 @ =gUnknown_203B01A
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
bx lr
.align 2, 0
_08112CA8: .4byte gUnknown_203B01A
thumb_func_end sub_8112C9C
thumb_func_start sub_8112CAC
sub_8112CAC: @ 8112CAC
push {lr}
ldr r0, _08112CC0 @ =gUnknown_3005E88
ldrb r0, [r0]
cmp r0, 0x4
bhi _08112CDC
lsls r0, 2
ldr r1, _08112CC4 @ =_08112CC8
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08112CC0: .4byte gUnknown_3005E88
_08112CC4: .4byte _08112CC8
.align 2, 0
_08112CC8:
.4byte _08112CDC
.4byte _08112CE0
.4byte _08112CE4
.4byte _08112CE0
.4byte _08112CE4
_08112CDC:
movs r0, 0
b _08112CE6
_08112CE0:
movs r0, 0x1
b _08112CE6
_08112CE4:
movs r0, 0x2
_08112CE6:
pop {r1}
bx r1
thumb_func_end sub_8112CAC
thumb_func_start sub_8112CEC
sub_8112CEC: @ 8112CEC
push {lr}
ldr r0, _08112D0C @ =gUnknown_203AF98
ldr r1, _08112D10 @ =gUnknown_3005E8C
ldrh r0, [r0]
ldrh r1, [r1]
cmp r0, r1
bcs _08112D06
bl ScriptContext2_IsEnabled
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08112D14
_08112D06:
movs r0, 0x1
b _08112D16
.align 2, 0
_08112D0C: .4byte gUnknown_203AF98
_08112D10: .4byte gUnknown_3005E8C
_08112D14:
movs r0, 0
_08112D16:
pop {r1}
bx r1
thumb_func_end sub_8112CEC
thumb_func_start sub_8112D1C
sub_8112D1C: @ 8112D1C
push {lr}
ldr r0, _08112D30 @ =gUnknown_203AF98
ldr r1, _08112D34 @ =gUnknown_3005E8C
ldrh r0, [r0]
ldrh r1, [r1]
cmp r0, r1
bcs _08112D38
movs r0, 0
b _08112D3A
.align 2, 0
_08112D30: .4byte gUnknown_203AF98
_08112D34: .4byte gUnknown_3005E8C
_08112D38:
movs r0, 0x1
_08112D3A:
pop {r1}
bx r1
thumb_func_end sub_8112D1C
thumb_func_start sub_8112D40
sub_8112D40: @ 8112D40
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
lsls r1, 16
lsrs r5, r1, 16
ldr r0, _08112D6C @ =gUnknown_203AF98
ldrh r1, [r0]
cmp r1, 0
beq _08112D66
ldr r0, _08112D70 @ =gUnknown_3005E8C
ldrh r0, [r0]
cmp r1, r0
bcs _08112D66
ldr r4, _08112D74 @ =gUnknown_203B01E
ldr r1, _08112D78 @ =gUnknown_3002020
ldrh r0, [r4]
ldrh r1, [r1]
cmp r0, r1
bcc _08112D7C
_08112D66:
movs r0, 0
b _08112DA8
.align 2, 0
_08112D6C: .4byte gUnknown_203AF98
_08112D70: .4byte gUnknown_3005E8C
_08112D74: .4byte gUnknown_203B01E
_08112D78: .4byte gUnknown_3002020
_08112D7C:
ldrh r3, [r4]
ldr r0, _08112DA0 @ =gUnknown_300201C
ldr r1, [r0]
lsls r0, r3, 2
adds r2, r0, r1
ldr r1, [r2]
lsls r0, r1, 17
lsrs r0, 17
cmp r0, r5
bne _08112DA4
lsls r0, r1, 16
lsrs r0, 31
cmp r0, r6
bne _08112DA4
adds r1, r2, 0x2
adds r0, r3, 0x1
strh r0, [r4]
b _08112DA6
.align 2, 0
_08112DA0: .4byte gUnknown_300201C
_08112DA4:
movs r1, 0
_08112DA6:
adds r0, r1, 0
_08112DA8:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8112D40
thumb_func_start sub_8112DB0
sub_8112DB0: @ 8112DB0
push {r4-r7,lr}
-1
View File
@@ -119,7 +119,6 @@ u8 Save_LoadGameData(u8 a1);
u32 TryCopySpecialSaveSection(u8 sector, u8* dst);
u32 sub_8153634(u8 sector, u8* src);
void sub_8153688(u8 taskId);
//void Save_LoadGameData(u8);
u32 sub_80DA5E0(u8 sector, u8* src);
void sub_80DA634(u8 taskId);
+65
View File
@@ -52,11 +52,21 @@ struct UnkStruct_203AE98
u8 unk_6;
};
struct UnkStruct_300201C
{
u16 unk_0_0:15;
u16 unk_0_f:1;
u16 unk_2;
};
u8 gUnknown_3005E88;
u16 gUnknown_3005E8C;
struct UnkStruct_3005E90 gUnknown_3005E90;
struct UnkStruct_203AE98 * gUnknown_3005E94;
IWRAM_DATA struct UnkStruct_300201C * gUnknown_300201C;
IWRAM_DATA u16 gUnknown_3002020;
EWRAM_DATA u8 gUnknown_203ADF8 = 0;
EWRAM_DATA u8 gUnknown_203ADF9 = 0;
EWRAM_DATA u8 gUnknown_203ADFA = 0;
@@ -73,6 +83,7 @@ EWRAM_DATA u16 gUnknown_203AF98 = 0;
EWRAM_DATA u8 gUnknown_203AF9A[64][2];
EWRAM_DATA u16 gUnknown_203B01A;
EWRAM_DATA u16 gUnknown_203B01C;
EWRAM_DATA u16 gUnknown_203B01E;
EWRAM_DATA u16 gUnknown_203B044[2] = {0};
@@ -1932,3 +1943,57 @@ void sub_8112B3C(void)
"_08112C98: .4byte gUnknown_3005E88");
}
#endif
void sub_8112C9C(void)
{
gUnknown_203B01A++;
}
u8 sub_8112CAC(void)
{
switch (gUnknown_3005E88)
{
case 0:
default:
return 0;
case 1:
case 3:
return 1;
case 2:
case 4:
return 2;
}
}
bool8 sub_8112CEC(void)
{
if (gUnknown_203AF98 >= gUnknown_3005E8C || ScriptContext2_IsEnabled() == TRUE)
return TRUE;
return FALSE;
}
bool8 sub_8112D1C(void)
{
if (gUnknown_203AF98 >= gUnknown_3005E8C)
return TRUE;
return FALSE;
}
u16 * sub_8112D40(u8 a0, u16 a1)
{
u16 * response;
if (gUnknown_203AF98 == 0)
return NULL;
if (gUnknown_203AF98 >= gUnknown_3005E8C)
return NULL;
if (gUnknown_203B01E >= gUnknown_3002020)
return NULL;
if (gUnknown_300201C[gUnknown_203B01E].unk_0_0 == a1 && gUnknown_300201C[gUnknown_203B01E].unk_0_f == a0)
{
response = &gUnknown_300201C[gUnknown_203B01E].unk_2;
gUnknown_203B01E++;
}
else
response = NULL;
return response;
}