diff options
author | YamaArashi <shadow962@live.com> | 2016-09-23 20:45:29 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-09-23 20:45:29 -0700 |
commit | c8a1dc2c365842bea2888449275c5e482a24d969 (patch) | |
tree | 4be852dcbbbb52aec23b40c3e88546d590329a31 /src | |
parent | 733604712e32e9a838b7f81b368df798c86c074d (diff) |
clean up field message box code
Diffstat (limited to 'src')
-rw-r--r-- | src/field_message_box.c | 77 |
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; } |