summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-11-28 22:15:11 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2018-11-28 22:15:11 -0500
commit21a301b77d01851a9d019b594ff11c547cc6514f (patch)
tree76a752076e0330309e9c9d7f5346ddd19dafc377 /src
parent18303c4596f96eaa68bbf8ccbc4ba19f9a8fed88 (diff)
through sub_81436EC
Diffstat (limited to 'src')
-rw-r--r--src/mevent.c75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/mevent.c b/src/mevent.c
new file mode 100644
index 000000000..8b710e3f3
--- /dev/null
+++ b/src/mevent.c
@@ -0,0 +1,75 @@
+#include "global.h"
+#include "main.h"
+#include "decompress.h"
+#include "link.h"
+#include "unk_815c27c.h"
+
+struct MEvent_Str_1
+{
+ u16 unk_000;
+ u32 unk_004;
+ u32 unk_008;
+};
+
+void sub_81435DC(struct MEvent_Str_1 *a0, u32 a1, u32 a2)
+{
+ vu16 imeBak = REG_IME;
+ REG_IME = 0;
+ gIntrTable[1] = sub_815C6D4;
+ gIntrTable[2] = sub_815C6C4;
+ sub_815C8C8();
+ sub_815C960();
+ REG_IE |= INTR_FLAG_VCOUNT;
+ REG_IME = imeBak;
+ a0->unk_000 = 0;
+ a0->unk_004 = a1;
+ a0->unk_008 = a2;
+}
+
+void sub_8143644(void)
+{
+ vu16 imeBak = REG_IME;
+ REG_IME = 0;
+ sub_815C960();
+ sub_815C91C();
+ RestoreSerialTimer3IntrHandlers();
+ REG_IME = imeBak;
+}
+
+u8 sub_8143674(struct MEvent_Str_1 *a0)
+{
+ u8 resp = 0;
+ a0->unk_000 = sub_815C498(1, a0->unk_004, a0->unk_008, 0);
+ if ((a0->unk_000 & 0x13) == 0x10)
+ resp = 1;
+ if (a0->unk_000 & 8)
+ resp = 2;
+ if (a0->unk_000 & 4)
+ resp = 3;
+ gUnknown_3003F84 = 0;
+ return resp;
+}
+
+void sub_81436BC(void)
+{
+ memset(gDecompressionBuffer, 0, 0x2000);
+ gUnknown_202271A = 0x5502;
+ sub_8009804();
+ SetSuppressLinkErrorMessage(TRUE);
+}
+
+bool8 sub_81436EC(void)
+{
+ vu16 imeBak = REG_IME;
+ u16 data[4];
+ REG_IME = 0;
+ *(u64 *)data = gUnknown_3003FB4;
+ REG_IME = imeBak;
+ if ( data[0] == 0xB9A0
+ && data[1] == 0xCCD0
+ && data[2] == 0xFFFF
+ && data[3] == 0xFFFF
+ )
+ return TRUE;
+ return FALSE;
+}