sub_80E6E24

This commit is contained in:
PikalaxALT 2017-11-03 22:26:12 -04:00
parent 20ebcf7169
commit 1c3e7f169f
7 changed files with 54 additions and 112 deletions

View File

@ -5,114 +5,6 @@
.text
thumb_func_start sub_80E6E24
sub_80E6E24: @ 80E6E24
push {r4,r5,lr}
bl sub_80E9914
bl sub_80F0BB8
bl sub_80E6BF8
bl sub_800A064
cmp r0, 0
beq _080E6E60
bl sub_800A03C
cmp r0, 0
bne _080E6E50
ldr r0, =gUnknown_0203A018
ldr r0, [r0]
bl sub_80E6CA0
b _080E6F12
.pool
_080E6E50:
ldr r0, =gUnknown_0203A018
ldr r0, [r0]
bl sub_80E6D54
b _080E6F12
.pool
_080E6E60:
ldr r5, =gUnknown_0203A018
ldr r0, [r5]
ldr r1, =gUnknown_03001134
ldr r1, [r1]
movs r4, 0xC8
lsls r4, 4
adds r2, r4, 0
bl memcpy
ldr r0, [r5]
adds r0, r4
ldr r1, =gUnknown_03001138
ldr r1, [r1]
movs r2, 0xE1
lsls r2, 2
bl memcpy
ldr r0, [r5]
ldr r1, =0x00001004
adds r0, r1
ldr r1, =gUnknown_0300113C
ldr r1, [r1]
movs r2, 0x40
bl memcpy
ldr r0, [r5]
ldr r2, =0x00001044
adds r0, r2
ldr r1, =gUnknown_03001140
ldr r1, [r1]
movs r2, 0x40
bl memcpy
ldr r0, [r5]
ldr r1, =0x00001214
adds r0, r1
ldr r1, =gUnknown_03001150
ldr r1, [r1]
movs r2, 0x40
bl memcpy
ldr r0, [r5]
ldr r2, =0x00001084
adds r0, r2
ldr r1, =gUnknown_03001144
ldr r1, [r1]
movs r2, 0x28
bl memcpy
ldr r0, [r5]
ldr r1, =0x000010ac
adds r0, r1
bl sub_80E89F8
ldr r0, [r5]
ldr r4, =0x00001124
adds r0, r4
ldr r1, =gUnknown_0300114C
ldr r1, [r1]
movs r2, 0xEC
bl memcpy
ldr r0, [r5]
adds r0, r4
bl sub_80E8AC0
bl GetMultiplayerId
lsls r0, 24
cmp r0, 0
bne _080E6EFA
bl sub_81539D4
ldr r1, [r5]
ldr r2, =0x00001210
adds r1, r2
strh r0, [r1]
_080E6EFA:
ldr r0, [r5]
ldr r1, =0x00001254
adds r0, r1
ldr r1, =gUnknown_03001154
ldr r1, [r1]
bl sub_80E8110
ldr r0, [r5]
ldr r2, =0x000012dc
adds r0, r2
bl sub_80E8260
_080E6F12:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_80E6E24
thumb_func_start sub_80E6F60
sub_80E6F60: @ 80E6F60
push {r4-r6,lr}

View File

@ -490,12 +490,13 @@ struct LilycoveLadyContest
/*0x00e*/ u8 language;
};
typedef union // TODO
typedef union
{
struct LilycoveLadyQuiz quiz;
struct LilycoveLadyFavour favour;
struct LilycoveLadyContest contest;
u8 id;
u8 pad[0x40];
} LilycoveLady;
struct WaldaPhrase
@ -592,7 +593,7 @@ struct SaveBlock1
/*0x3B14*/ struct RecordMixingGift recordMixingGift;
/*0x3B24*/ u8 seen2[52];
/*0x3B58*/ LilycoveLady lilycoveLady;
/*0x3B88*/ u8 filler_3B88[0x1E8];
/*0x3B98*/ u8 filler_3B88[0x1D8];
/*0x3D70*/ struct WaldaPhrase waldaPhrase;
// sizeof: 0x3D88
};

View File

@ -192,5 +192,7 @@ void sub_8011BD0(void);
u8 sub_800ABAC(void);
u8 sub_800ABBC(void);
void sub_800AC34(void);
bool32 sub_800A064(void);
bool32 sub_800A03C(void);
#endif // GUARD_LINK_H

View File

@ -16,4 +16,6 @@ struct DayCareMailRecordMixing {
// Exported ROM declarations
void sub_80E8260(void *);
#endif //GUARD_RECORD_MIXING_H

View File

@ -9,5 +9,6 @@
void sub_80E9578(void);
void sub_80E980C(void);
void sub_80EB18C(struct SecretBaseRecord *dest);
void sub_80E9914(void);
#endif //GUARD_SECRET_BASE_H

View File

@ -14,5 +14,6 @@ void sub_80EEA70(void);
void sub_80F14F8(TVShow *shows);
size_t sub_80EF370(int value);
void sub_80F1208(TVShow *dest);
void sub_80F0BB8(void);
#endif //GUARD_TV_H

View File

@ -22,8 +22,13 @@ struct RecordMixingData {
u8 unk_10ac[0x78];
u8 unk_1124[0xa4];
u16 unk_11c8;
u8 unk_11ca[0x27a];
};
u8 filler_11ca[0x46];
u16 unk_1210;
u8 filler_1212[0x2];
LilycoveLady lilycoveLady;
u8 unk_1254[0x88];
u8 unk_12dc[0x168];
}; // 1444
// Static RAM declarations
@ -54,6 +59,8 @@ void sub_80E715C(u8 taskId);
void sub_80E89F8(void *dest);
void sub_80E8A54(void *src);
void TaskDummy4(void *src);
void sub_80E8AC0(void *);
void sub_80E8110(void *, void *);
// .rodata
@ -113,3 +120,39 @@ void sub_80E6D54(struct RecordMixingData *dest)
dest->unk_11c8 = sub_81539D4();
}
}
void sub_80E6E24(void)
{
sub_80E9914();
sub_80F0BB8();
sub_80E6BF8();
if (sub_800A064())
{
if (sub_800A03C() == FALSE)
{
sub_80E6CA0(gUnknown_0203A018);
}
else
{
sub_80E6D54(gUnknown_0203A018);
}
}
else
{
memcpy(gUnknown_0203A018->secretBases, gUnknown_03001134, sizeof(struct SecretBaseRecord) * 20);
memcpy(gUnknown_0203A018->tvShows, gUnknown_03001138, sizeof(TVShow) * 25);
memcpy(gUnknown_0203A018->pokeNews, gUnknown_0300113C, sizeof(PokeNews) * 16);
memcpy(&gUnknown_0203A018->oldMan, gUnknown_03001140, sizeof(OldMan));
memcpy(&gUnknown_0203A018->lilycoveLady, gUnknown_03001150, sizeof(LilycoveLady));
memcpy(gUnknown_0203A018->easyChatPair, gUnknown_03001144, sizeof(struct EasyChatPair) * 5);
sub_80E89F8(gUnknown_0203A018->unk_10ac);
memcpy(gUnknown_0203A018->unk_1124, gUnknown_0300114C, 0xec);
sub_80E8AC0(gUnknown_0203A018->unk_1124);
if (GetMultiplayerId() == 0)
{
gUnknown_0203A018->unk_1210 = sub_81539D4();
}
sub_80E8110(gUnknown_0203A018->unk_1254, gUnknown_03001154);
sub_80E8260(gUnknown_0203A018->unk_12dc);
}
}