summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/easy_chat.c37
1 files changed, 35 insertions, 2 deletions
diff --git a/src/easy_chat.c b/src/easy_chat.c
index c2da4dc8a..de66fb9eb 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -28,8 +28,8 @@ static void sub_811A278(void);
static bool8 sub_811A428(u8);
static void sub_811A2FC(u8);
/*static*/ void sub_811A4D0(MainCallback);
-/*static*/ bool32 sub_811A88C(u16);
-/*static*/ void sub_811A8A4(u16);
+static bool32 sub_811A88C(u16);
+static void sub_811A8A4(u16);
void sub_811A8F0(void);
bool8 sub_811A95C(u8, u32, u8);
void sub_811AA90(void);
@@ -46,6 +46,11 @@ void sub_811F2B8(void);
// .rodata
+extern const struct {
+ u16 word;
+ MainCallback callback;
+} gUnknown_08597530[4];
+
// .text
void sub_811A20C(u8 kind, u16 *words, MainCallback callback, u8 sizeParam)
@@ -333,3 +338,31 @@ void sub_811A858(void)
{
SetMainCallback2(sub_811A7E4);
}
+
+static int sub_811A868(u16 word)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_COUNT(gUnknown_08597530); i ++)
+ {
+ if (word == gUnknown_08597530[i].word)
+ {
+ return i;
+ }
+ }
+ return -1;
+}
+
+static bool32 sub_811A88C(u16 word)
+{
+ return sub_811A868(word) == -1 ? FALSE : TRUE;
+}
+
+static void sub_811A8A4(u16 word)
+{
+ int i;
+
+ i = sub_811A868(word);
+ ResetTasks();
+ sub_811A4D0(gUnknown_08597530[i].callback);
+}