summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/field_message_box.c77
1 files changed, 39 insertions, 38 deletions
diff --git a/src/field_message_box.c b/src/field_message_box.c
index 34670f956..9873f3cd1 100644
--- a/src/field_message_box.c
+++ b/src/field_message_box.c
@@ -3,22 +3,23 @@
#include "text_window.h"
#include "task.h"
#include "string_util.h"
+#include "field_message_box.h"
-extern struct Window unk_202E87C;
-extern u16 word_202E9D2;
+extern struct Window gFieldMessageBoxWindow;
+extern u16 gFieldMessageBoxBaseTileNum;
extern u16 gMenuTextTileOffset;
-extern u8 byte_30005A8;
+static u8 sMessageBoxMode;
void textbox_fdecode_auto_and_task_add(u8 *);
void textbox_auto_and_task_add(void);
void sub_8064A74(void)
{
- byte_30005A8 = 0;
- SetMessageBoxBaseTileNum(word_202E9D2);
- InitWindowFromConfig(&unk_202E87C, (struct WindowConfig *)&gWindowConfig_81E6CE4);
+ sMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN;
+ SetMessageBoxBaseTileNum(gFieldMessageBoxBaseTileNum);
+ InitWindowFromConfig(&gFieldMessageBoxWindow, (struct WindowConfig *)&gWindowConfig_81E6CE4);
}
void sub_8064AA0(u8 taskId)
@@ -27,26 +28,26 @@ void sub_8064AA0(u8 taskId)
switch (task->data[0])
{
case 0:
- LoadMessageBoxTiles(&unk_202E87C);
+ LoadMessageBoxTiles(&gFieldMessageBoxWindow);
task->data[0]++;
break;
case 1:
- DrawStandardMessageBox(&unk_202E87C);
+ DrawStandardMessageBox(&gFieldMessageBoxWindow);
task->data[0]++;
break;
case 2:
- switch (byte_30005A8)
+ switch (sMessageBoxMode)
{
- case 2:
- if (!sub_80035AC(&unk_202E87C))
+ case FIELD_MESSAGE_BOX_NORMAL:
+ if (!sub_80035AC(&gFieldMessageBoxWindow))
return;
break;
- case 3:
- if (!sub_8003778(&unk_202E87C))
+ case FIELD_MESSAGE_BOX_AUTO_SCROLL:
+ if (!sub_8003778(&gFieldMessageBoxWindow))
return;
break;
}
- byte_30005A8 = 0;
+ sMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN;
DestroyTask(taskId);
}
}
@@ -63,83 +64,83 @@ void task_del_textbox()
DestroyTask(taskId);
}
-bool8 box_related_two__2(u8 *a1)
+bool8 box_related_two__2(u8 *message)
{
- if (byte_30005A8)
+ if (sMessageBoxMode != FIELD_MESSAGE_BOX_HIDDEN)
{
return FALSE;
}
else
{
- textbox_fdecode_auto_and_task_add(a1);
- byte_30005A8 = 2;
+ textbox_fdecode_auto_and_task_add(message);
+ sMessageBoxMode = FIELD_MESSAGE_BOX_NORMAL;
return TRUE;
}
}
-bool8 box_related_two__3(u8 *a1)
+bool8 box_related_two__3(u8 *message)
{
- if (byte_30005A8)
+ if (sMessageBoxMode != FIELD_MESSAGE_BOX_HIDDEN)
{
return FALSE;
}
else
{
- byte_30005A8 = 3;
- textbox_fdecode_auto_and_task_add(a1);
+ sMessageBoxMode = FIELD_MESSAGE_BOX_AUTO_SCROLL;
+ textbox_fdecode_auto_and_task_add(message);
return TRUE;
}
}
-bool8 unref_sub_8064BB8(u8 *a1)
+bool8 unref_sub_8064BB8(u8 *message)
{
- byte_30005A8 = 3;
- textbox_fdecode_auto_and_task_add(a1);
+ sMessageBoxMode = FIELD_MESSAGE_BOX_AUTO_SCROLL;
+ textbox_fdecode_auto_and_task_add(message);
return TRUE;
}
-bool8 unref_sub_8064BD0(u8 *a1)
+bool8 unref_sub_8064BD0(u8 *message)
{
- if (byte_30005A8)
+ if (sMessageBoxMode != FIELD_MESSAGE_BOX_HIDDEN)
{
return FALSE;
}
else
{
- byte_30005A8 = 2;
+ sMessageBoxMode = FIELD_MESSAGE_BOX_NORMAL;
textbox_auto_and_task_add();
return TRUE;
}
}
-void textbox_fdecode_auto_and_task_add(u8 *a1)
+void textbox_fdecode_auto_and_task_add(u8 *message)
{
- StringExpandPlaceholders(gStringVar4, a1);
- sub_8002EB0(&unk_202E87C, gStringVar4, gMenuTextTileOffset, 2, 15);
+ StringExpandPlaceholders(gStringVar4, message);
+ sub_8002EB0(&gFieldMessageBoxWindow, gStringVar4, gMenuTextTileOffset, 2, 15);
task_add_textbox();
}
void textbox_auto_and_task_add(void)
{
- sub_8002EB0(&unk_202E87C, gStringVar4, gMenuTextTileOffset, 2, 15);
+ sub_8002EB0(&gFieldMessageBoxWindow, gStringVar4, gMenuTextTileOffset, 2, 15);
task_add_textbox();
}
void textbox_close()
{
task_del_textbox();
- sub_806536C(&unk_202E87C);
- byte_30005A8 = 0;
+ sub_806536C(&gFieldMessageBoxWindow);
+ sMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN;
}
u8 textbox_any_visible()
{
- return byte_30005A8;
+ return sMessageBoxMode;
}
bool8 sub_8064C84()
{
- if (byte_30005A8 == 0)
+ if (sMessageBoxMode == FIELD_MESSAGE_BOX_HIDDEN)
return TRUE;
else
return FALSE;
@@ -148,6 +149,6 @@ bool8 sub_8064C84()
void unref_sub_8064CA0()
{
task_del_textbox();
- DrawStandardMessageBox(&unk_202E87C);
- byte_30005A8 = 0;
+ DrawStandardMessageBox(&gFieldMessageBoxWindow);
+ sMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN;
}