diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-11-30 12:26:24 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-11-30 12:26:24 -0500 |
commit | f178d06946a4debf6a0551094d3ef2f70b7b364c (patch) | |
tree | 31c8a37bfe3c0f565a7e780fc48c1b2b58b3d078 /src | |
parent | 7c2517611b83ac9d490a99ec32cf1a4412c05ce0 (diff) |
through mevent_srv_ish_exec
Diffstat (limited to 'src')
-rw-r--r-- | src/mevent_server.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/mevent_server.c b/src/mevent_server.c index 3297e2658..251764441 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -7,6 +7,7 @@ #include "overworld.h" #include "script.h" #include "battle_tower.h" +#include "mystery_event_script.h" #include "mevent.h" extern u16 gBlockRecvBuffer[][128]; @@ -467,3 +468,58 @@ u32 sub_8144CA0(struct mevent_srv_ish * srv) 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); +} |