summaryrefslogtreecommitdiff
path: root/src/mevent_server.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-11-30 12:26:24 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2018-11-30 12:26:24 -0500
commitf178d06946a4debf6a0551094d3ef2f70b7b364c (patch)
tree31c8a37bfe3c0f565a7e780fc48c1b2b58b3d078 /src/mevent_server.c
parent7c2517611b83ac9d490a99ec32cf1a4412c05ce0 (diff)
through mevent_srv_ish_exec
Diffstat (limited to 'src/mevent_server.c')
-rw-r--r--src/mevent_server.c56
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);
+}