summaryrefslogtreecommitdiff
path: root/src/field_specials.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/field_specials.c')
-rw-r--r--src/field_specials.c66
1 files changed, 40 insertions, 26 deletions
diff --git a/src/field_specials.c b/src/field_specials.c
index 6f42ba764..5ecaffa96 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -45,13 +45,14 @@
#include "constants/maps.h"
#include "constants/region_map.h"
#include "constants/moves.h"
+#include "constants/menu.h"
static EWRAM_DATA u8 sElevatorCurrentFloorWindowId = 0;
static EWRAM_DATA u16 sElevatorScroll = 0;
static EWRAM_DATA u16 sElevatorCursorPos = 0;
static EWRAM_DATA struct ListMenuItem * sListMenuItems = NULL;
static EWRAM_DATA u16 sListMenuLastScrollPosition = 0;
-static EWRAM_DATA u8 sUnknownBoxId = 0;
+static EWRAM_DATA u8 sPCBoxToSendMon = 0;
static EWRAM_DATA u8 sBrailleTextCursorSpriteID = 0;
struct ListMenuTemplate sFieldSpecialsListMenuTemplate;
@@ -1143,7 +1144,7 @@ void Special_ListMenu(void)
task = &gTasks[taskId];
switch (gSpecialVar_0x8004)
{
- case 0:
+ case LISTMENU_BADGES:
task->data[0] = 4;
task->data[1] = 9;
task->data[2] = 1;
@@ -1153,7 +1154,7 @@ void Special_ListMenu(void)
task->data[6] = 1;
task->data[15] = taskId;
break;
- case 1:
+ case LISTMENU_SILPHCO_FLOORS:
task->data[0] = 7;
task->data[1] = 12;
task->data[2] = 1;
@@ -1165,7 +1166,7 @@ void Special_ListMenu(void)
task->data[7] = sElevatorScroll;
task->data[8] = sElevatorCursorPos;
break;
- case 2:
+ case LISTMENU_ROCKET_HIDEOUT_FLOORS: // Multichoice used instead
task->data[0] = 4;
task->data[1] = 4;
task->data[2] = 1;
@@ -1175,7 +1176,7 @@ void Special_ListMenu(void)
task->data[6] = 0;
task->data[15] = taskId;
break;
- case 3:
+ case LISTMENU_DEPT_STORE_FLOORS: // Multichoice used instead
task->data[0] = 4;
task->data[1] = 6;
task->data[2] = 1;
@@ -1185,7 +1186,7 @@ void Special_ListMenu(void)
task->data[6] = 0;
task->data[15] = taskId;
break;
- case 4:
+ case LISTMENU_WIRELESS_LECTURE_HEADERS: // Multichoice used instead
task->data[0] = 4;
task->data[1] = 4;
task->data[2] = 1;
@@ -1195,7 +1196,7 @@ void Special_ListMenu(void)
task->data[6] = 1;
task->data[15] = taskId;
break;
- case 5:
+ case LISTMENU_BERRY_POWDER:
task->data[0] = 7;
task->data[1] = 12;
task->data[2] = 16;
@@ -1205,7 +1206,7 @@ void Special_ListMenu(void)
task->data[6] = 0;
task->data[15] = taskId;
break;
- case 6:
+ case LISTMENU_TRAINER_TOWER_FLOORS: // Mulitchoice used instead
task->data[0] = 3;
task->data[1] = 3;
task->data[2] = 1;
@@ -1226,6 +1227,7 @@ void Special_ListMenu(void)
}
static const u8 *const sListMenuLabels[][12] = {
+ [LISTMENU_BADGES] =
{
gText_BoulderBadge,
gText_CascadeBadge,
@@ -1236,7 +1238,9 @@ static const u8 *const sListMenuLabels[][12] = {
gText_VolcanoBadge,
gText_EarthBadge,
gOtherText_Exit,
- }, {
+ },
+ [LISTMENU_SILPHCO_FLOORS] =
+ {
gText_11F,
gText_10F,
gText_9F,
@@ -1249,24 +1253,32 @@ static const u8 *const sListMenuLabels[][12] = {
gText_2F,
gText_1F,
gOtherText_Exit,
- }, {
+ },
+ [LISTMENU_ROCKET_HIDEOUT_FLOORS] = // Unncessary, MULTICHOICE_ROCKET_HIDEOUT_ELEVATOR is used instead
+ {
gText_B1F,
gText_B2F,
gText_B4F,
gOtherText_Exit,
- }, {
+ },
+ [LISTMENU_DEPT_STORE_FLOORS] = // Unncessary, MULTICHOICE_DEPT_STORE_ELEVATOR is used instead
+ {
gText_5F,
gText_4F,
gText_3F,
gText_2F,
gText_1F,
gOtherText_Exit,
- }, {
+ },
+ [LISTMENU_WIRELESS_LECTURE_HEADERS] = // Unnecessary, MULTICHOICE_LINKED_DIRECT_UNION is used instead
+ {
gText_LinkedGamePlay,
gText_DirectCorner,
gText_UnionRoom,
gOtherText_Quit,
- }, {
+ },
+ [LISTMENU_BERRY_POWDER] =
+ {
gText_Energypowder_50,
gText_EnergyRoot_80,
gText_HealPowder_50,
@@ -1279,7 +1291,9 @@ static const u8 *const sListMenuLabels[][12] = {
gText_HpUp_1000,
gText_PpUp_3000,
gOtherText_Exit,
- }, {
+ },
+ [LISTMENU_TRAINER_TOWER_FLOORS] = // Unnecessary, MULTICHOICE_ROOFTOP_B1F is used instead
+ {
gText_Rooftop,
gText_B1F,
gOtherText_Exit,
@@ -1295,7 +1309,7 @@ static void Task_CreateScriptListMenu(u8 taskId)
struct Task * task = &gTasks[taskId];
u8 windowId;
ScriptContext2_Enable();
- if (gSpecialVar_0x8004 == 1)
+ if (gSpecialVar_0x8004 == LISTMENU_SILPHCO_FLOORS)
sListMenuLastScrollPosition = sElevatorScroll;
else
sListMenuLastScrollPosition = 0;
@@ -1920,31 +1934,31 @@ u16 Special_BattleCardAction(void)
}
}
-void set_unknown_box_id(u8 boxId)
+void SetPCBoxToSendMon(u8 boxId)
{
- sUnknownBoxId = boxId;
+ sPCBoxToSendMon = boxId;
}
-u16 get_unknown_box_id(void)
+u16 GetPCBoxToSendMon(void)
{
- return sUnknownBoxId;
+ return sPCBoxToSendMon;
}
-bool8 sub_80CC7B4(void)
+bool8 ShouldShowBoxWasFullMessage(void)
{
if (FlagGet(FLAG_SYS_CHANGED_BOX_TO_STORE_MON))
return FALSE;
- if (StorageGetCurrentBox() == VarGet(VAR_0x4037))
+ if (StorageGetCurrentBox() == VarGet(VAR_PC_BOX_TO_SEND_MON))
return FALSE;
FlagSet(FLAG_SYS_CHANGED_BOX_TO_STORE_MON);
return TRUE;
}
-bool8 sub_80CC7F8(void)
+bool8 IsDestinationBoxFull(void)
{
s32 i;
s32 j;
- set_unknown_box_id(VarGet(VAR_0x4037));
+ SetPCBoxToSendMon(VarGet(VAR_PC_BOX_TO_SEND_MON));
i = StorageGetCurrentBox();
do
{
@@ -1952,10 +1966,10 @@ bool8 sub_80CC7F8(void)
{
if (GetBoxMonData(GetBoxedMonPtr(i, j), MON_DATA_SPECIES, NULL) == SPECIES_NONE)
{
- if (get_unknown_box_id() != i)
+ if (GetPCBoxToSendMon() != i)
FlagClear(FLAG_SYS_CHANGED_BOX_TO_STORE_MON);
- VarSet(VAR_0x4037, i);
- return sub_80CC7B4();
+ VarSet(VAR_PC_BOX_TO_SEND_MON, i);
+ return ShouldShowBoxWasFullMessage();
}
}
i++;