through sub_8144C80
This commit is contained in:
@@ -5,253 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_8144AEC
|
|
||||||
sub_8144AEC: @ 8144AEC
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r4, _08144B08 @ =gUnknown_203F3C0
|
|
||||||
movs r0, 0x4C
|
|
||||||
bl AllocZeroed
|
|
||||||
str r0, [r4]
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
bl mevent_srv_ish_init
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08144B08: .4byte gUnknown_203F3C0
|
|
||||||
thumb_func_end sub_8144AEC
|
|
||||||
|
|
||||||
thumb_func_start sub_8144B0C
|
|
||||||
sub_8144B0C: @ 8144B0C
|
|
||||||
push {r4-r6,lr}
|
|
||||||
adds r6, r0, 0
|
|
||||||
ldr r4, _08144B1C @ =gUnknown_203F3C0
|
|
||||||
ldr r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08144B20
|
|
||||||
movs r0, 0x6
|
|
||||||
b _08144B40
|
|
||||||
.align 2, 0
|
|
||||||
_08144B1C: .4byte gUnknown_203F3C0
|
|
||||||
_08144B20:
|
|
||||||
bl mevent_srv_ish_exec
|
|
||||||
adds r5, r0, 0
|
|
||||||
cmp r5, 0x6
|
|
||||||
bne _08144B3E
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r1, [r0, 0x4]
|
|
||||||
strh r1, [r6]
|
|
||||||
bl sub_8144BC0
|
|
||||||
ldr r0, [r4]
|
|
||||||
bl Free
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [r4]
|
|
||||||
_08144B3E:
|
|
||||||
adds r0, r5, 0
|
|
||||||
_08144B40:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8144B0C
|
|
||||||
|
|
||||||
thumb_func_start sub_8144B48
|
|
||||||
sub_8144B48: @ 8144B48
|
|
||||||
ldr r0, _08144B54 @ =gUnknown_203F3C0
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldr r0, [r1, 0xC]
|
|
||||||
adds r0, 0x1
|
|
||||||
str r0, [r1, 0xC]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_08144B54: .4byte gUnknown_203F3C0
|
|
||||||
thumb_func_end sub_8144B48
|
|
||||||
|
|
||||||
thumb_func_start sub_8144B58
|
|
||||||
sub_8144B58: @ 8144B58
|
|
||||||
ldr r0, _08144B60 @ =gUnknown_203F3C0
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r0, [r0, 0x20]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_08144B60: .4byte gUnknown_203F3C0
|
|
||||||
thumb_func_end sub_8144B58
|
|
||||||
|
|
||||||
thumb_func_start sub_8144B64
|
|
||||||
sub_8144B64: @ 8144B64
|
|
||||||
ldr r1, _08144B6C @ =gUnknown_203F3C0
|
|
||||||
ldr r1, [r1]
|
|
||||||
str r0, [r1, 0x4]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_08144B6C: .4byte gUnknown_203F3C0
|
|
||||||
thumb_func_end sub_8144B64
|
|
||||||
|
|
||||||
thumb_func_start mevent_srv_ish_init
|
|
||||||
mevent_srv_ish_init: @ 8144B70
|
|
||||||
push {r4-r6,lr}
|
|
||||||
mov r6, r8
|
|
||||||
push {r6}
|
|
||||||
adds r4, r0, 0
|
|
||||||
adds r6, r1, 0
|
|
||||||
mov r8, r2
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [r4]
|
|
||||||
str r0, [r4, 0x8]
|
|
||||||
str r0, [r4, 0xC]
|
|
||||||
movs r5, 0x80
|
|
||||||
lsls r5, 3
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl AllocZeroed
|
|
||||||
str r0, [r4, 0x14]
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl AllocZeroed
|
|
||||||
str r0, [r4, 0x18]
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl AllocZeroed
|
|
||||||
str r0, [r4, 0x1C]
|
|
||||||
movs r0, 0x40
|
|
||||||
bl AllocZeroed
|
|
||||||
str r0, [r4, 0x20]
|
|
||||||
adds r4, 0x24
|
|
||||||
adds r0, r4, 0
|
|
||||||
adds r1, r6, 0
|
|
||||||
mov r2, r8
|
|
||||||
bl sub_814485C
|
|
||||||
pop {r3}
|
|
||||||
mov r8, r3
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end mevent_srv_ish_init
|
|
||||||
|
|
||||||
thumb_func_start sub_8144BC0
|
|
||||||
sub_8144BC0: @ 8144BC0
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldr r0, [r4, 0x14]
|
|
||||||
bl Free
|
|
||||||
ldr r0, [r4, 0x18]
|
|
||||||
bl Free
|
|
||||||
ldr r0, [r4, 0x1C]
|
|
||||||
bl Free
|
|
||||||
ldr r0, [r4, 0x20]
|
|
||||||
bl Free
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8144BC0
|
|
||||||
|
|
||||||
thumb_func_start sub_8144BE4
|
|
||||||
sub_8144BE4: @ 8144BE4
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldr r0, [r4, 0x1C]
|
|
||||||
ldr r1, [r4, 0x18]
|
|
||||||
movs r2, 0x80
|
|
||||||
lsls r2, 3
|
|
||||||
bl memcpy
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [r4, 0x10]
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8144BE4
|
|
||||||
|
|
||||||
thumb_func_start sub_8144C00
|
|
||||||
sub_8144C00: @ 8144C00
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
adds r4, r0, 0
|
|
||||||
adds r6, r1, 0
|
|
||||||
adds r5, r2, 0
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [sp]
|
|
||||||
ldr r1, [r4, 0x14]
|
|
||||||
ldr r2, _08144C30 @ =0x05000100
|
|
||||||
mov r0, sp
|
|
||||||
bl CpuSet
|
|
||||||
ldr r2, [r4, 0x14]
|
|
||||||
str r5, [r2]
|
|
||||||
adds r4, 0x24
|
|
||||||
adds r0, r4, 0
|
|
||||||
adds r1, r6, 0
|
|
||||||
movs r3, 0x4
|
|
||||||
bl sub_8144888
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08144C30: .4byte 0x05000100
|
|
||||||
thumb_func_end sub_8144C00
|
|
||||||
|
|
||||||
thumb_func_start sub_8144C34
|
|
||||||
sub_8144C34: @ 8144C34
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldr r0, [r4, 0x1C]
|
|
||||||
ldr r1, _08144C58 @ =gUnknown_84687E0
|
|
||||||
movs r2, 0x80
|
|
||||||
lsls r2, 3
|
|
||||||
bl memcpy
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [r4, 0x10]
|
|
||||||
movs r0, 0x4
|
|
||||||
str r0, [r4, 0x8]
|
|
||||||
str r1, [r4, 0xC]
|
|
||||||
movs r0, 0
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_08144C58: .4byte gUnknown_84687E0
|
|
||||||
thumb_func_end sub_8144C34
|
|
||||||
|
|
||||||
thumb_func_start sub_8144C5C
|
|
||||||
sub_8144C5C: @ 8144C5C
|
|
||||||
movs r0, 0x6
|
|
||||||
bx lr
|
|
||||||
thumb_func_end sub_8144C5C
|
|
||||||
|
|
||||||
thumb_func_start sub_8144C60
|
|
||||||
sub_8144C60: @ 8144C60
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
adds r0, 0x24
|
|
||||||
bl sub_8144844
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08144C76
|
|
||||||
movs r0, 0x4
|
|
||||||
str r0, [r4, 0x8]
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [r4, 0xC]
|
|
||||||
_08144C76:
|
|
||||||
movs r0, 0x1
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8144C60
|
|
||||||
|
|
||||||
thumb_func_start sub_8144C80
|
|
||||||
sub_8144C80: @ 8144C80
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
adds r0, 0x24
|
|
||||||
bl sub_8144850
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08144C96
|
|
||||||
movs r0, 0x4
|
|
||||||
str r0, [r4, 0x8]
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [r4, 0xC]
|
|
||||||
_08144C96:
|
|
||||||
movs r0, 0x1
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8144C80
|
|
||||||
|
|
||||||
thumb_func_start sub_8144CA0
|
thumb_func_start sub_8144CA0
|
||||||
sub_8144CA0: @ 8144CA0
|
sub_8144CA0: @ 8144CA0
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
|
|||||||
+113
-2
@@ -51,6 +51,11 @@ EWRAM_DATA struct mevent_srv_ish * gUnknown_203F3C0 = NULL;
|
|||||||
|
|
||||||
u32 sub_814490C(struct mevent_srv_sub *);
|
u32 sub_814490C(struct mevent_srv_sub *);
|
||||||
u32 sub_81449E0(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)
|
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);
|
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_04 = a1;
|
||||||
srv->unk_05 = a2;
|
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;
|
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_00 = 0;
|
||||||
srv->unk_0E = a1;
|
srv->unk_0E = a1;
|
||||||
@@ -247,3 +252,109 @@ bool32 sub_81449E0(struct mevent_srv_sub * srv)
|
|||||||
|
|
||||||
return FALSE;
|
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;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user