summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2020-06-03 18:25:16 -0400
committerhuderlem <huderlem@gmail.com>2020-06-03 19:47:45 -0500
commitaaf5d91c18727f9a542f90ec0e7ca5a5f6247815 (patch)
treee3e4b81980a4c8f5c2c11b0759fa8538274a31e5 /src
parent83336585e26a288bed3bfac001462e94de9f09d1 (diff)
Document field_message_box.c
Diffstat (limited to 'src')
-rw-r--r--src/battle_setup.c4
-rw-r--r--src/cable_club.c2
-rwxr-xr-xsrc/field_message_box.c109
-rw-r--r--src/match_call.c2
-rw-r--r--src/scrcmd.c2
-rw-r--r--src/trainer_hill.c2
6 files changed, 65 insertions, 56 deletions
diff --git a/src/battle_setup.c b/src/battle_setup.c
index b44c7b9ec..40e36d302 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -1360,7 +1360,7 @@ void ShowTrainerIntroSpeech(void)
else
CopyPyramidTrainerSpeechBefore(LocalIdToPyramidTrainerId(gObjectEvents[gApproachingTrainers[gApproachingTrainerId].objectEventId].localId));
- sub_80982B8();
+ ShowFieldMessageFromBuffer();
}
else if (InTrainerHillChallenge())
{
@@ -1369,7 +1369,7 @@ void ShowTrainerIntroSpeech(void)
else
CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_INTRO, LocalIdToHillTrainerId(gObjectEvents[gApproachingTrainers[gApproachingTrainerId].objectEventId].localId));
- sub_80982B8();
+ ShowFieldMessageFromBuffer();
}
else
{
diff --git a/src/cable_club.c b/src/cable_club.c
index c2ac72883..b9c948a9c 100644
--- a/src/cable_club.c
+++ b/src/cable_club.c
@@ -524,7 +524,7 @@ static void sub_80B2CEC(u8 taskId)
{
gSpecialVar_Result = 5;
sub_80B241C(gTasks[taskId].data[5]);
- sub_8098374();
+ StopFieldMessage();
RemoveWindow(gTasks[taskId].data[5]);
EnableBothScriptContexts();
DestroyTask(taskId);
diff --git a/src/field_message_box.c b/src/field_message_box.c
index be76b0c19..1b760c7df 100755
--- a/src/field_message_box.c
+++ b/src/field_message_box.c
@@ -5,128 +5,136 @@
#include "task.h"
#include "text.h"
#include "match_call.h"
+#include "field_message_box.h"
static EWRAM_DATA u8 sFieldMessageBoxMode = 0;
-static void textbox_fdecode_auto_and_task_add(u8*, bool32);
-static void textbox_auto_and_task_add(void);
+static void ExpandStringAndStartDrawFieldMessage(const u8*, bool32);
+static void StartDrawFieldMessage(void);
void InitFieldMessageBox(void)
{
- sFieldMessageBoxMode = 0;
- gTextFlags.canABSpeedUpPrint = 0;
- gTextFlags.useAlternateDownArrow = 0;
- gTextFlags.autoScroll = 0;
- gTextFlags.forceMidTextSpeed = 0;
+ sFieldMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN;
+ gTextFlags.canABSpeedUpPrint = FALSE;
+ gTextFlags.useAlternateDownArrow = FALSE;
+ gTextFlags.autoScroll = FALSE;
+ gTextFlags.forceMidTextSpeed = FALSE;
}
-static void sub_8098154(u8 taskId)
+#define tState data[0]
+
+static void Task_DrawFieldMessage(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- switch (task->data[0])
+ switch (task->tState)
{
case 0:
LoadMessageBoxAndBorderGfx();
- task->data[0]++;
+ task->tState++;
break;
case 1:
DrawDialogueFrame(0, 1);
- task->data[0]++;
+ task->tState++;
break;
case 2:
- if (RunTextPrintersAndIsPrinter0Active() != 1)
+ if (RunTextPrintersAndIsPrinter0Active() != TRUE)
{
- sFieldMessageBoxMode = 0;
+ sFieldMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN;
DestroyTask(taskId);
}
}
}
-static void task_add_textbox(void)
+#undef tState
+
+static void CreateTask_DrawFieldMessage(void)
{
- CreateTask(sub_8098154, 0x50);
+ CreateTask(Task_DrawFieldMessage, 0x50);
}
-static void task_del_textbox(void)
+static void DestroyTask_DrawFieldMessage(void)
{
- u8 taskId = FindTaskIdByFunc(sub_8098154);
+ u8 taskId = FindTaskIdByFunc(Task_DrawFieldMessage);
if (taskId != 0xFF)
DestroyTask(taskId);
}
-bool8 ShowFieldMessage(u8 *str)
+bool8 ShowFieldMessage(const u8 *str)
{
- if (sFieldMessageBoxMode != 0)
+ if (sFieldMessageBoxMode != FIELD_MESSAGE_BOX_HIDDEN)
return FALSE;
- textbox_fdecode_auto_and_task_add(str, 1);
- sFieldMessageBoxMode = 2;
+ ExpandStringAndStartDrawFieldMessage(str, TRUE);
+ sFieldMessageBoxMode = FIELD_MESSAGE_BOX_NORMAL;
return TRUE;
}
-void sub_8098214(u8 taskId)
+static void Task_HidePokenavMessageWhenDone(u8 taskId)
{
if (!IsMatchCallTaskActive())
{
- sFieldMessageBoxMode = 0;
+ sFieldMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN;
DestroyTask(taskId);
}
}
-bool8 sub_8098238(u8 *str)
+bool8 ShowPokenavFieldMessage(const u8 *str)
{
- if (sFieldMessageBoxMode != 0)
+ if (sFieldMessageBoxMode != FIELD_MESSAGE_BOX_HIDDEN)
return FALSE;
StringExpandPlaceholders(gStringVar4, str);
- CreateTask(sub_8098214, 0);
+ CreateTask(Task_HidePokenavMessageWhenDone, 0);
StartMatchCallFromScript(str);
sFieldMessageBoxMode = 2;
return TRUE;
}
-bool8 ShowFieldAutoScrollMessage(u8 *str)
+bool8 ShowFieldAutoScrollMessage(const u8 *str)
{
- if (sFieldMessageBoxMode != 0)
+ if (sFieldMessageBoxMode != FIELD_MESSAGE_BOX_HIDDEN)
return FALSE;
- sFieldMessageBoxMode = 3;
- textbox_fdecode_auto_and_task_add(str, 0);
+ sFieldMessageBoxMode = FIELD_MESSAGE_BOX_AUTO_SCROLL;
+ ExpandStringAndStartDrawFieldMessage(str, FALSE);
return TRUE;
}
-bool8 sub_80982A0(u8 *str)
+// Unused
+static bool8 ForceShowFieldAutoScrollMessage(const u8 *str)
{
- sFieldMessageBoxMode = 3;
- textbox_fdecode_auto_and_task_add(str, 1);
+ sFieldMessageBoxMode = FIELD_MESSAGE_BOX_AUTO_SCROLL;
+ ExpandStringAndStartDrawFieldMessage(str, TRUE);
return TRUE;
}
-bool8 sub_80982B8(void)
+// Same as ShowFieldMessage, but instead of accepting a
+// string arg it just prints whats already in gStringVar4
+bool8 ShowFieldMessageFromBuffer(void)
{
- if (sFieldMessageBoxMode != 0)
+ if (sFieldMessageBoxMode != FIELD_MESSAGE_BOX_HIDDEN)
return FALSE;
- sFieldMessageBoxMode = 2;
- textbox_auto_and_task_add();
+ sFieldMessageBoxMode = FIELD_MESSAGE_BOX_NORMAL;
+ StartDrawFieldMessage();
return TRUE;
}
-static void textbox_fdecode_auto_and_task_add(u8* str, bool32 allowSkippingDelayWithButtonPress)
+static void ExpandStringAndStartDrawFieldMessage(const u8* str, bool32 allowSkippingDelayWithButtonPress)
{
StringExpandPlaceholders(gStringVar4, str);
AddTextPrinterForMessage(allowSkippingDelayWithButtonPress);
- task_add_textbox();
+ CreateTask_DrawFieldMessage();
}
-static void textbox_auto_and_task_add(void)
+static void StartDrawFieldMessage(void)
{
AddTextPrinterForMessage(TRUE);
- task_add_textbox();
+ CreateTask_DrawFieldMessage();
}
void HideFieldMessageBox(void)
{
- task_del_textbox();
+ DestroyTask_DrawFieldMessage();
ClearDialogWindowAndFrame(0, 1);
- sFieldMessageBoxMode = 0;
+ sFieldMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN;
}
u8 GetFieldMessageBoxMode(void)
@@ -136,20 +144,21 @@ u8 GetFieldMessageBoxMode(void)
bool8 IsFieldMessageBoxHidden(void)
{
- if (sFieldMessageBoxMode == 0)
+ if (sFieldMessageBoxMode == FIELD_MESSAGE_BOX_HIDDEN)
return TRUE;
return FALSE;
}
-void sub_8098358(void)
+// Unused
+static void ReplaceFieldMessageWithFrame(void)
{
- task_del_textbox();
+ DestroyTask_DrawFieldMessage();
DrawStdWindowFrame(0, 1);
- sFieldMessageBoxMode = 0;
+ sFieldMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN;
}
-void sub_8098374(void)
+void StopFieldMessage(void)
{
- task_del_textbox();
- sFieldMessageBoxMode = 0;
+ DestroyTask_DrawFieldMessage();
+ sFieldMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN;
}
diff --git a/src/match_call.c b/src/match_call.c
index 9d8523576..033276684 100644
--- a/src/match_call.c
+++ b/src/match_call.c
@@ -1098,7 +1098,7 @@ bool32 TryStartMatchCall(void)
return FALSE;
}
-void StartMatchCallFromScript(u8 *message)
+void StartMatchCallFromScript(const u8 *message)
{
gMatchCallState.triggeredFromScript = 1;
StartMatchCall();
diff --git a/src/scrcmd.c b/src/scrcmd.c
index ad01791a9..9e62c45c5 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -1282,7 +1282,7 @@ bool8 ScrCmd_pokenavcall(struct ScriptContext *ctx)
if (msg == NULL)
msg = (const u8 *)ctx->data[0];
- sub_8098238(msg);
+ ShowPokenavFieldMessage(msg);
return FALSE;
}
diff --git a/src/trainer_hill.c b/src/trainer_hill.c
index 87866b02e..d6cb49837 100644
--- a/src/trainer_hill.c
+++ b/src/trainer_hill.c
@@ -904,7 +904,7 @@ const u8 *GetTrainerHillTrainerScript(void)
static void ShowTrainerHillPostBattleText(void)
{
CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_AFTER, gSpecialVar_LastTalked);
- sub_80982B8();
+ ShowFieldMessageFromBuffer();
}
static void CreateNPCTrainerHillParty(u16 trainerId, u8 firstMonId)