through sub_8112D40
This commit is contained in:
-154
@@ -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}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user