through mevent_srv_ish_exec
This commit is contained in:
@@ -5,109 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_8144E6C
|
|
||||||
sub_8144E6C: @ 8144E6C
|
|
||||||
push {lr}
|
|
||||||
adds r1, r0, 0
|
|
||||||
ldr r0, [r1, 0xC]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08144E7E
|
|
||||||
movs r0, 0x4
|
|
||||||
str r0, [r1, 0x8]
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [r1, 0xC]
|
|
||||||
_08144E7E:
|
|
||||||
movs r0, 0x1
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8144E6C
|
|
||||||
|
|
||||||
thumb_func_start sub_8144E84
|
|
||||||
sub_8144E84: @ 8144E84
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldr r0, [r4, 0xC]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08144E94
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08144EA2
|
|
||||||
b _08144EB4
|
|
||||||
_08144E94:
|
|
||||||
ldr r0, [r4, 0x18]
|
|
||||||
bl sub_80DA89C
|
|
||||||
ldr r0, [r4, 0xC]
|
|
||||||
adds r0, 0x1
|
|
||||||
str r0, [r4, 0xC]
|
|
||||||
b _08144EB4
|
|
||||||
_08144EA2:
|
|
||||||
adds r0, r4, 0x4
|
|
||||||
bl sub_80DA8B0
|
|
||||||
adds r1, r0, 0
|
|
||||||
cmp r1, 0
|
|
||||||
bne _08144EB4
|
|
||||||
movs r0, 0x4
|
|
||||||
str r0, [r4, 0x8]
|
|
||||||
str r1, [r4, 0xC]
|
|
||||||
_08144EB4:
|
|
||||||
movs r0, 0x1
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8144E84
|
|
||||||
|
|
||||||
thumb_func_start sub_8144EBC
|
|
||||||
sub_8144EBC: @ 8144EBC
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldr r3, _08144EE4 @ =gDecompressionBuffer
|
|
||||||
adds r0, r4, 0x4
|
|
||||||
ldr r1, _08144EE8 @ =gSaveBlock2Ptr
|
|
||||||
ldr r1, [r1]
|
|
||||||
ldr r2, _08144EEC @ =gSaveBlock1Ptr
|
|
||||||
ldr r2, [r2]
|
|
||||||
bl _call_via_r3
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _08144EDC
|
|
||||||
movs r0, 0x4
|
|
||||||
str r0, [r4, 0x8]
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [r4, 0xC]
|
|
||||||
_08144EDC:
|
|
||||||
movs r0, 0x1
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_08144EE4: .4byte gDecompressionBuffer
|
|
||||||
_08144EE8: .4byte gSaveBlock2Ptr
|
|
||||||
_08144EEC: .4byte gSaveBlock1Ptr
|
|
||||||
thumb_func_end sub_8144EBC
|
|
||||||
|
|
||||||
thumb_func_start mevent_srv_ish_exec
|
|
||||||
mevent_srv_ish_exec: @ 8144EF0
|
|
||||||
push {r4,r5,lr}
|
|
||||||
sub sp, 0x20
|
|
||||||
mov r2, sp
|
|
||||||
ldr r1, _08144F18 @ =gUnknown_8466F60
|
|
||||||
ldm r1!, {r3-r5}
|
|
||||||
stm r2!, {r3-r5}
|
|
||||||
ldm r1!, {r3-r5}
|
|
||||||
stm r2!, {r3-r5}
|
|
||||||
ldm r1!, {r3,r4}
|
|
||||||
stm r2!, {r3,r4}
|
|
||||||
ldr r1, [r0, 0x8]
|
|
||||||
lsls r1, 2
|
|
||||||
add r1, sp
|
|
||||||
ldr r1, [r1]
|
|
||||||
bl _call_via_r1
|
|
||||||
add sp, 0x20
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_08144F18: .4byte gUnknown_8466F60
|
|
||||||
thumb_func_end mevent_srv_ish_exec
|
|
||||||
|
|
||||||
thumb_func_start sub_8144F1C
|
thumb_func_start sub_8144F1C
|
||||||
sub_8144F1C: @ 8144F1C
|
sub_8144F1C: @ 8144F1C
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
|
|||||||
@@ -1,16 +1,5 @@
|
|||||||
.section .rodata
|
.section .rodata
|
||||||
|
|
||||||
.align 2
|
|
||||||
gUnknown_8466F60:: @ 8466F60
|
|
||||||
.4byte sub_8144C34
|
|
||||||
.4byte sub_8144C5C
|
|
||||||
.4byte sub_8144C60
|
|
||||||
.4byte sub_8144C80
|
|
||||||
.4byte sub_8144CA0
|
|
||||||
.4byte sub_8144E6C
|
|
||||||
.4byte sub_8144E84
|
|
||||||
.4byte sub_8144EBC
|
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
gUnknown_8466F80:: @ 8466F80
|
gUnknown_8466F80:: @ 8466F80
|
||||||
.asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c"
|
.asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c"
|
||||||
|
|||||||
@@ -7,4 +7,7 @@ u32 RunMysteryEventScript(u8 *);
|
|||||||
void SetMysteryEventScriptStatus(u32 val);
|
void SetMysteryEventScriptStatus(u32 val);
|
||||||
u16 GetRecordMixingGift(void);
|
u16 GetRecordMixingGift(void);
|
||||||
|
|
||||||
|
void sub_80DA89C(void *);
|
||||||
|
bool32 sub_80DA8B0(u32 *);
|
||||||
|
|
||||||
#endif // GUARD_MYSTERY_EVENT_SCRIPT_H
|
#endif // GUARD_MYSTERY_EVENT_SCRIPT_H
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#include "overworld.h"
|
#include "overworld.h"
|
||||||
#include "script.h"
|
#include "script.h"
|
||||||
#include "battle_tower.h"
|
#include "battle_tower.h"
|
||||||
|
#include "mystery_event_script.h"
|
||||||
#include "mevent.h"
|
#include "mevent.h"
|
||||||
|
|
||||||
extern u16 gBlockRecvBuffer[][128];
|
extern u16 gBlockRecvBuffer[][128];
|
||||||
@@ -467,3 +468,58 @@ u32 sub_8144CA0(struct mevent_srv_ish * srv)
|
|||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u32 sub_8144E6C(struct mevent_srv_ish * srv)
|
||||||
|
{
|
||||||
|
if (srv->unk_0C)
|
||||||
|
{
|
||||||
|
srv->unk_08 = 4;
|
||||||
|
srv->unk_0C = 0;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sub_8144E84(struct mevent_srv_ish * srv)
|
||||||
|
{
|
||||||
|
switch (srv->unk_0C)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_80DA89C(srv->unk_18);
|
||||||
|
++srv->unk_0C;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (!sub_80DA8B0(&srv->unk_04))
|
||||||
|
{
|
||||||
|
srv->unk_08 = 4;
|
||||||
|
srv->unk_0C = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sub_8144EBC(struct mevent_srv_ish * srv)
|
||||||
|
{
|
||||||
|
u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer;
|
||||||
|
if (func(&srv->unk_04, gSaveBlock2Ptr, gSaveBlock1Ptr) == 1)
|
||||||
|
{
|
||||||
|
srv->unk_08 = 4;
|
||||||
|
srv->unk_0C = 0;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 mevent_srv_ish_exec(struct mevent_srv_ish * srv)
|
||||||
|
{
|
||||||
|
u32 (*funcs[])(struct mevent_srv_ish *) = {
|
||||||
|
sub_8144C34,
|
||||||
|
sub_8144C5C,
|
||||||
|
sub_8144C60,
|
||||||
|
sub_8144C80,
|
||||||
|
sub_8144CA0,
|
||||||
|
sub_8144E6C,
|
||||||
|
sub_8144E84,
|
||||||
|
sub_8144EBC
|
||||||
|
};
|
||||||
|
return funcs[srv->unk_08](srv);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user