through sub_8144C80

This commit is contained in:
PikalaxALT
2018-11-30 11:48:13 -05:00
parent 5a80a339cd
commit de6cf9f0de
2 changed files with 113 additions and 249 deletions
+113 -2
View File
@@ -51,6 +51,11 @@ EWRAM_DATA struct mevent_srv_ish * gUnknown_203F3C0 = NULL;
u32 sub_814490C(struct mevent_srv_sub *);
u32 sub_81449E0(struct mevent_srv_sub *);
void mevent_srv_ish_init(struct mevent_srv_ish *, u32, u32);
u32 mevent_srv_ish_exec(struct mevent_srv_ish *);
void sub_8144BC0(struct mevent_srv_ish *);
extern u8 gUnknown_84687E0[0x400];
u32 sub_8144844(struct mevent_srv_sub * srv)
{
@@ -62,7 +67,7 @@ u32 sub_8144850(struct mevent_srv_sub * srv)
return srv->unk_24(srv);
}
void sub_814485C(struct mevent_srv_sub * srv, u8 a1, u8 a2)
void sub_814485C(struct mevent_srv_sub * srv, u32 a1, u32 a2)
{
srv->unk_04 = a1;
srv->unk_05 = a2;
@@ -79,7 +84,7 @@ void sub_814485C(struct mevent_srv_sub * srv, u8 a1, u8 a2)
srv->unk_20 = sub_814490C;
}
void sub_8144888(struct mevent_srv_sub * srv, u16 a1, void * a2, u32 a3)
void sub_8144888(struct mevent_srv_sub * srv, u32 a1, void * a2, u32 a3)
{
srv->unk_00 = 0;
srv->unk_0E = a1;
@@ -247,3 +252,109 @@ bool32 sub_81449E0(struct mevent_srv_sub * srv)
return FALSE;
}
void sub_8144AEC(void)
{
gUnknown_203F3C0 = AllocZeroed(sizeof(struct mevent_srv_ish));
mevent_srv_ish_init(gUnknown_203F3C0, 1, 0);
}
u32 sub_8144B0C(u16 * a0)
{
u32 result;
if (gUnknown_203F3C0 == NULL)
return 6;
result = mevent_srv_ish_exec(gUnknown_203F3C0);
if (result == 6)
{
*a0 = gUnknown_203F3C0->unk_04;
sub_8144BC0(gUnknown_203F3C0);
Free(gUnknown_203F3C0);
gUnknown_203F3C0 = NULL;
}
return result;
}
void sub_8144B48(void)
{
gUnknown_203F3C0->unk_0C++;
}
void * sub_8144B58(void)
{
return gUnknown_203F3C0->unk_20;
}
void sub_8144B64(u32 a0)
{
gUnknown_203F3C0->unk_04 = a0;
}
void mevent_srv_ish_init(struct mevent_srv_ish * srv, u32 a1, u32 a2)
{
srv->unk_00 = 0;
srv->unk_08 = 0;
srv->unk_0C = 0;
srv->unk_14 = AllocZeroed(0x400);
srv->unk_18 = AllocZeroed(0x400);
srv->unk_1C = AllocZeroed(0x400);
srv->unk_20 = AllocZeroed(0x40);
sub_814485C(&srv->unk_24, a1, a2);
}
void sub_8144BC0(struct mevent_srv_ish * srv)
{
Free(srv->unk_14);
Free(srv->unk_18);
Free(srv->unk_1C);
Free(srv->unk_20);
}
void sub_8144BE4(struct mevent_srv_ish * srv)
{
memcpy(srv->unk_1C, srv->unk_18, 0x400);
srv->unk_10 = 0;
}
void sub_8144C00(struct mevent_srv_ish * srv, u32 a1, u32 a2)
{
CpuFill32(0, srv->unk_14, 0x400);
*(u32 *)srv->unk_14 = a2;
sub_8144888(&srv->unk_24, a1, srv->unk_14, 4);
}
// funcs in array gUnknown_8466F60
u32 sub_8144C34(struct mevent_srv_ish * srv)
{
memcpy(srv->unk_1C, gUnknown_84687E0, sizeof(gUnknown_84687E0));
srv->unk_10 = 0;
srv->unk_08 = 4;
srv->unk_0C = 0;
return 0;
}
u32 sub_8144C5C(struct mevent_srv_ish * srv)
{
return 6;
}
u32 sub_8144C60(struct mevent_srv_ish * srv)
{
if (sub_8144844(&srv->unk_24))
{
srv->unk_08 = 4;
srv->unk_0C = 0;
}
return 1;
}
u32 sub_8144C80(struct mevent_srv_ish * srv)
{
if (sub_8144850(&srv->unk_24))
{
srv->unk_08 = 4;
srv->unk_0C = 0;
}
return 1;
}