mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-23 22:26:14 -05:00
through sub_8144C80
This commit is contained in:
parent
5a80a339cd
commit
de6cf9f0de
|
|
@ -5,253 +5,6 @@
|
|||
|
||||
.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
|
||||
sub_8144CA0: @ 8144CA0
|
||||
push {r4,lr}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user