sub_8113ABC
This commit is contained in:
@@ -5,33 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8113ABC
|
||||
sub_8113ABC: @ 8113ABC
|
||||
push {lr}
|
||||
adds r2, r0, 0x4
|
||||
ldrh r1, [r0]
|
||||
ldr r0, _08113AD0 @ =0x00000fff
|
||||
ands r0, r1
|
||||
cmp r0, 0x23
|
||||
beq _08113AD8
|
||||
ldr r1, _08113AD4 @ =gUnknown_203B04A
|
||||
movs r0, 0
|
||||
b _08113ADE
|
||||
.align 2, 0
|
||||
_08113AD0: .4byte 0x00000fff
|
||||
_08113AD4: .4byte gUnknown_203B04A
|
||||
_08113AD8:
|
||||
ldr r1, _08113AE4 @ =gUnknown_203B04A
|
||||
ldrb r0, [r2, 0x1]
|
||||
adds r0, 0x1
|
||||
_08113ADE:
|
||||
strb r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08113AE4: .4byte gUnknown_203B04A
|
||||
thumb_func_end sub_8113ABC
|
||||
|
||||
thumb_func_start sub_8113AE8
|
||||
sub_8113AE8: @ 8113AE8
|
||||
push {r4,lr}
|
||||
|
||||
+20
-1
@@ -503,6 +503,25 @@ struct QuestLogNPCData
|
||||
u32 movementType:8;
|
||||
};
|
||||
|
||||
struct UnkStruct_203B024_Sub1
|
||||
{
|
||||
u8 unk_00;
|
||||
u8 unk_01;
|
||||
u8 filler_02[26];
|
||||
};
|
||||
|
||||
union UnkUnion_203B024
|
||||
{
|
||||
struct UnkStruct_203B024_Sub1 type1;
|
||||
u8 filler[28];
|
||||
};
|
||||
|
||||
struct UnkStruct_203B024
|
||||
{
|
||||
u16 unk_00;
|
||||
union UnkUnion_203B024 unk_04;
|
||||
};
|
||||
|
||||
struct QuestLog
|
||||
{
|
||||
/*0x0000*/ u8 unk_000;
|
||||
@@ -515,7 +534,7 @@ struct QuestLog
|
||||
/*0x0148*/ u8 unk_148[0x120];
|
||||
/*0x02c8*/ u8 unk_268[0x200];
|
||||
/*0x0468*/ struct QuestLogNPCData npcData[64];
|
||||
/*0x0568*/ u16 unk_568[0x80];
|
||||
/*0x0568*/ struct UnkStruct_203B024 unk_568[8];
|
||||
/*0x0668*/ u16 end[0];
|
||||
};
|
||||
|
||||
|
||||
+30
-27
@@ -72,12 +72,6 @@ struct UnkStruct_300201C
|
||||
u16 unk_2;
|
||||
};
|
||||
|
||||
struct UnkStruct_203B024
|
||||
{
|
||||
u16 unk_00;
|
||||
u32 unk_04[7];
|
||||
};
|
||||
|
||||
u8 gUnknown_3005E88;
|
||||
u16 gUnknown_3005E8C;
|
||||
struct UnkStruct_3005E90 gUnknown_3005E90;
|
||||
@@ -92,8 +86,8 @@ EWRAM_DATA u8 gUnknown_203ADFA = 0;
|
||||
EWRAM_DATA u16 gUnknown_203ADFC = 0;
|
||||
EWRAM_DATA u8 gUnknown_203ADFE[3] = {0};
|
||||
EWRAM_DATA void * gUnknown_203AE04 = NULL;
|
||||
EWRAM_DATA u16 * gUnknown_203AE08 = NULL;
|
||||
EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL};
|
||||
EWRAM_DATA struct UnkStruct_203B024 * gUnknown_203AE08 = NULL;
|
||||
EWRAM_DATA struct UnkStruct_203B024 * gUnknown_203AE0C[32] = {NULL};
|
||||
EWRAM_DATA void (* gUnknown_203AE8C)(void) = NULL;
|
||||
EWRAM_DATA u16 *gUnknown_203AE90 = NULL;
|
||||
EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0};
|
||||
@@ -174,21 +168,21 @@ void sub_8113A1C(u16);
|
||||
void sub_811381C(void);
|
||||
void sub_81138F8(void);
|
||||
bool8 sub_8113A44(u16, u16 *);
|
||||
void * sub_8113A78(u16 *, void **);
|
||||
void sub_8113ABC(void *);
|
||||
void * sub_8113A78(struct UnkStruct_203B024 *, struct UnkStruct_203B024 **);
|
||||
void sub_8113ABC(struct UnkStruct_203B024 *);
|
||||
bool8 sub_8113AE8(void *);
|
||||
bool8 sub_8113B44(void *);
|
||||
void sub_8113B88(void);
|
||||
void sub_8113B94(u16);
|
||||
void sub_8113BD8(void);
|
||||
void * sub_8113BF4(void *);
|
||||
struct UnkStruct_203B024 * sub_8113BF4(struct UnkStruct_203B024 *);
|
||||
void * sub_8113C20(void *, struct UnkStruct_203AE98 *);
|
||||
void *sub_8113C5C(void *, u16);
|
||||
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 *);
|
||||
struct UnkStruct_203B024 * sub_8113C8C(void *, struct UnkStruct_203AE98 *);
|
||||
struct UnkStruct_203B024 * sub_8113CC8(void *, struct UnkStruct_203AE98 *);
|
||||
struct UnkStruct_203B024 * sub_8113D08(void *, struct UnkStruct_203AE98 *);
|
||||
struct UnkStruct_203B024 * sub_8113D48(void *, struct UnkStruct_203AE98 *);
|
||||
struct UnkStruct_203B024 * sub_8113D94(void *, struct UnkStruct_203AE98 *);
|
||||
void *sub_8113F14(void *, void *);
|
||||
u16 *sub_8113F3C(u16 *);
|
||||
void *sub_8113F80(void *, void *);
|
||||
@@ -298,7 +292,7 @@ void sub_8110840(void * oldPointer)
|
||||
int r3;
|
||||
for (r3 = 0; r3 < 0x20; r3++)
|
||||
if (gUnknown_203AE0C[r3])
|
||||
gUnknown_203AE0C[r3] += offset;
|
||||
gUnknown_203AE0C[r3] = (void *)gUnknown_203AE0C[r3] + offset;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1032,7 +1026,7 @@ void sub_8111708(void)
|
||||
void sub_811175C(u8 a0, struct UnkStruct_203AE98 * a1)
|
||||
{
|
||||
u16 i;
|
||||
u16 *r4;
|
||||
struct UnkStruct_203B024 *r4;
|
||||
u16 r6 = 0;
|
||||
u16 r9 = 0;
|
||||
|
||||
@@ -1045,7 +1039,7 @@ void sub_811175C(u8 a0, struct UnkStruct_203AE98 * a1)
|
||||
r4 = gSaveBlock1Ptr->questLog[a0].unk_568;
|
||||
for (i = 0; i < 32; i++)
|
||||
{
|
||||
switch (*r4 & 0xFFF)
|
||||
switch (r4->unk_00 & 0xFFF)
|
||||
{
|
||||
case 0:
|
||||
r4 = sub_8113D08(r4, &a1[r6]);
|
||||
@@ -3061,9 +3055,9 @@ bool8 sub_81138A0(u16 a0, u16 * a1)
|
||||
if (a0 < 16 || a0 > 17)
|
||||
{
|
||||
if (a0 == 12 || a0 == 18)
|
||||
memcpy(gUnknown_203B024.unk_04, a1, 12);
|
||||
memcpy(&gUnknown_203B024.unk_04, a1, 12);
|
||||
else
|
||||
memcpy(gUnknown_203B024.unk_04, a1, 24);
|
||||
memcpy(&gUnknown_203B024.unk_04, a1, 24);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -3080,7 +3074,7 @@ void sub_811390C(void)
|
||||
void * resp;
|
||||
gUnknown_203B04A = 0;
|
||||
sub_8110AEC(gUnknown_203B024.unk_00);
|
||||
resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, gUnknown_203B024.unk_04);
|
||||
resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, &gUnknown_203B024.unk_04);
|
||||
gUnknown_203AE08 = resp;
|
||||
sub_81138F8();
|
||||
}
|
||||
@@ -3094,7 +3088,7 @@ bool8 sub_8113954(u16 a0, u16 * a1)
|
||||
if (gUnknown_3005E88 || FlagGet(0x82C) || sub_81137E4(a0, a1) != TRUE)
|
||||
{
|
||||
gUnknown_203B024.unk_00 = a0;
|
||||
memcpy(gUnknown_203B024.unk_04, a1, 8);
|
||||
memcpy(&gUnknown_203B024.unk_04, a1, 8);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -3110,7 +3104,7 @@ void sub_81139BC(void)
|
||||
sub_8110AEC(gUnknown_203B024.unk_00);
|
||||
}
|
||||
sub_8113B94(gUnknown_203B024.unk_00);
|
||||
resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, gUnknown_203B024.unk_04);
|
||||
resp = gUnknown_8456948[gUnknown_203B024.unk_00](gUnknown_203AE08, &gUnknown_203B024.unk_04);
|
||||
gUnknown_203AE08 = resp;
|
||||
sub_8113A1C(1);
|
||||
sub_81138F8();
|
||||
@@ -3230,10 +3224,10 @@ const u8 gUnknown_8456AA0[] = {
|
||||
0x06
|
||||
};
|
||||
|
||||
void * sub_8113A78(u16 *a0, void **a1)
|
||||
void * sub_8113A78(struct UnkStruct_203B024 *a0, struct UnkStruct_203B024 **a1)
|
||||
{
|
||||
u16 r2 = *a0 & 0xfff;
|
||||
u16 r4 = *a0 >> 12;
|
||||
u16 r2 = a0->unk_00 & 0xfff;
|
||||
u16 r4 = a0->unk_00 >> 12;
|
||||
if (r2 == 33)
|
||||
r4 = 0;
|
||||
if (r2 < 3 || r2 > 42)
|
||||
@@ -3241,3 +3235,12 @@ void * sub_8113A78(u16 *a0, void **a1)
|
||||
*a1 = a0;
|
||||
return gUnknown_8456AA0[r2] + (gUnknown_8456AA0[r2] - 4) * r4 + (void *)a0;
|
||||
}
|
||||
|
||||
void sub_8113ABC(struct UnkStruct_203B024 * a0)
|
||||
{
|
||||
struct UnkStruct_203B024_Sub1 * r2 = &a0->unk_04.type1;
|
||||
if ((a0->unk_00 & 0xFFF) != 35)
|
||||
gUnknown_203B04A = 0;
|
||||
else
|
||||
gUnknown_203B04A = r2->unk_01 + 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user