summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/mevent.s92
-rw-r--r--include/easy_chat.h1
-rw-r--r--include/global.h29
-rw-r--r--include/link_rfu_4.h1
-rw-r--r--src/mevent.c43
5 files changed, 65 insertions, 101 deletions
diff --git a/asm/mevent.s b/asm/mevent.s
index dbee188ee..d2f093a4b 100644
--- a/asm/mevent.s
+++ b/asm/mevent.s
@@ -5,98 +5,6 @@
.text
- thumb_func_start sub_8143D24
-sub_8143D24: @ 8143D24
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r0, _08143D4C @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, _08143D50 @ =0x00003120
- adds r1, r0
- ldr r2, _08143D54 @ =0x050000db
- mov r0, sp
- bl CpuSet
- bl sub_8143ED0
- bl sub_80BDE28
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08143D4C: .4byte gSaveBlock1Ptr
-_08143D50: .4byte 0x00003120
-_08143D54: .4byte 0x050000db
- thumb_func_end sub_8143D24
-
- thumb_func_start sub_8143D58
-sub_8143D58: @ 8143D58
- ldr r0, _08143D64 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, _08143D68 @ =0x00003124
- adds r0, r1
- bx lr
- .align 2, 0
-_08143D64: .4byte gSaveBlock1Ptr
-_08143D68: .4byte 0x00003124
- thumb_func_end sub_8143D58
-
- thumb_func_start sav1_get_mevent_buffer_1
-sav1_get_mevent_buffer_1: @ 8143D6C
- ldr r0, _08143D78 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, _08143D7C @ =0x000032e4
- adds r0, r1
- bx lr
- .align 2, 0
-_08143D78: .4byte gSaveBlock1Ptr
-_08143D7C: .4byte 0x000032e4
- thumb_func_end sav1_get_mevent_buffer_1
-
- thumb_func_start sav1_get_mevent_buffer_2
-sav1_get_mevent_buffer_2: @ 8143D80
- ldr r0, _08143D8C @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, _08143D90 @ =0x00003434
- adds r0, r1
- bx lr
- .align 2, 0
-_08143D8C: .4byte gSaveBlock1Ptr
-_08143D90: .4byte 0x00003434
- thumb_func_end sav1_get_mevent_buffer_2
-
- thumb_func_start sub_8143D94
-sub_8143D94: @ 8143D94
- ldr r0, _08143DA0 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, _08143DA4 @ =0x00003460
- adds r0, r1
- bx lr
- .align 2, 0
-_08143DA0: .4byte gSaveBlock1Ptr
-_08143DA4: .4byte 0x00003460
- thumb_func_end sub_8143D94
-
- thumb_func_start sub_8143DA8
-sub_8143DA8: @ 8143DA8
- ldr r0, _08143DB4 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, _08143DB8 @ =0x00003458
- adds r0, r1
- bx lr
- .align 2, 0
-_08143DB4: .4byte gSaveBlock1Ptr
-_08143DB8: .4byte 0x00003458
- thumb_func_end sub_8143DA8
-
- thumb_func_start sub_8143DBC
-sub_8143DBC: @ 8143DBC
- push {lr}
- bl sub_8143E9C
- pop {r0}
- bx r0
- thumb_func_end sub_8143DBC
-
thumb_func_start sub_8143DC8
sub_8143DC8: @ 8143DC8
push {r4-r7,lr}
diff --git a/include/easy_chat.h b/include/easy_chat.h
index 2b5664420..78e371cbb 100644
--- a/include/easy_chat.h
+++ b/include/easy_chat.h
@@ -37,5 +37,6 @@ bool32 sub_811F8D8(u16 word);
void InitializeEasyChatWordArray(u16 *words, u16 length);
void ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2);
bool8 ECWord_CheckIfOutsideOfValidRange(u16 word);
+void sub_80BDE28(void);
#endif // GUARD_EASYCHAT_H
diff --git a/include/global.h b/include/global.h
index 899508993..456f2c083 100644
--- a/include/global.h
+++ b/include/global.h
@@ -591,18 +591,34 @@ struct FameCheckerSaveData
#define NUM_EASY_CHAT_EXTRA_PHRASES 33
#define EASY_CHAT_EXTRA_PHRASES_SIZE ((NUM_EASY_CHAT_EXTRA_PHRASES >> 3) + (NUM_EASY_CHAT_EXTRA_PHRASES % 8 ? 1 : 0))
-struct MEventBuffer1
+struct MEventBuffer_3120
{
u32 crc;
- u8 data[0x1bc];
+ u16 data[222];
};
-struct MEventBuffer2
+struct MEventBuffer_32E0
{
u32 crc;
- u8 data[0x14c];
+ u16 data[166];
};
+struct MEventBuffer_3430
+{
+ u32 crc;
+ u16 data[18];
+};
+
+struct MEventBuffers
+{
+ /*0x000 0x3120*/ struct MEventBuffer_3120 buffer_000;
+ /*0x1c0 0x32e0*/ struct MEventBuffer_32E0 buffer_1c0;
+ /*0x310 0x3430*/ struct MEventBuffer_3430 buffer_310;
+ /*0x338 0x3458*/ u16 unk_338[4];
+ /*0x340 0x3460*/ struct MysteryEventStruct unk_340;
+ /*0x344 0x3464*/ u8 filler_344[0x28];
+}; // 0x36C 0x348C
+
struct SaveBlock1
{
/*0x0000*/ struct Coords16 pos;
@@ -650,9 +666,8 @@ struct SaveBlock1
/*0x309C*/ u8 giftRibbons[52];
/*0x30D0*/ struct Roamer roamer;
/*0x30EC*/ struct EnigmaBerry enigmaBerry;
- /*0x3120*/ u8 filler3120[0x340];
- /*0x3460*/ struct MysteryEventStruct unk_3460;
- /*0x3464*/ u8 filler_3464[0x1b8];
+ /*0x3120*/ struct MEventBuffers unk_3120;
+ /*0x348C*/ u8 filler_3464[0x190];
/*0x361C*/ struct RamScript ramScript;
/*0x3A08*/ u8 filler3A08[12];
/*0x3A14*/ u8 seen2[DEX_FLAGS_NO];
diff --git a/include/link_rfu_4.h b/include/link_rfu_4.h
index 08bb3d7c5..91ae86e4c 100644
--- a/include/link_rfu_4.h
+++ b/include/link_rfu_4.h
@@ -1,6 +1,7 @@
#ifndef GUARD_LINK_RFU_4_H
#define GUARD_LINK_RFU_4_H
+void sub_8142504(const u8 *str);
bool32 mevent_0814257C(u8 * cmdPtr, const u8 * src);
#endif //GUARD_LINK_RFU_4_H
diff --git a/src/mevent.c b/src/mevent.c
index b2d8ba3f4..c2a05f3c6 100644
--- a/src/mevent.c
+++ b/src/mevent.c
@@ -2,6 +2,7 @@
#include "constants/songs.h"
#include "malloc.h"
#include "sound.h"
+#include "easy_chat.h"
#include "main.h"
#include "task.h"
#include "decompress.h"
@@ -38,11 +39,12 @@ struct MEventTaskData1
};
void sub_8143910(u8 taskId);
-void sub_8142504(const u8 *str);
u8 sub_815D6B4(u8 *);
bool32 sub_815D794(u8 *);
-void sub_812B484(void);
void sub_81422FC(void);
+void sub_812B484(void);
+void sub_8143E9C(void);
+void sub_8143ED0(void);
extern const u8 gUnknown_841DE52[];
extern const u8 gUnknown_841DE53[];
@@ -453,3 +455,40 @@ void sub_8143910(u8 taskId)
break;
}
}
+
+void sub_8143D24(void)
+{
+ CpuFill32(0, &gSaveBlock1Ptr->unk_3120, sizeof(gSaveBlock1Ptr->unk_3120));
+ sub_8143ED0();
+ sub_80BDE28();
+}
+
+u16 * sub_8143D58(void)
+{
+ return gSaveBlock1Ptr->unk_3120.buffer_000.data;
+}
+
+u16 * sav1_get_mevent_buffer_1(void)
+{
+ return gSaveBlock1Ptr->unk_3120.buffer_1c0.data;
+}
+
+u16 * sav1_get_mevent_buffer_2(void)
+{
+ return gSaveBlock1Ptr->unk_3120.buffer_310.data;
+}
+
+struct MysteryEventStruct * sub_8143D94(void)
+{
+ return &gSaveBlock1Ptr->unk_3120.unk_340;
+}
+
+u16 * sub_8143DA8(void)
+{
+ return gSaveBlock1Ptr->unk_3120.unk_338;
+}
+
+void sub_8143DBC(void)
+{
+ sub_8143E9C();
+}