summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-03-15 12:24:33 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-03-15 12:24:33 -0400
commit39ef2a31a4dd12e8638ccf520952bd8f1eb1f36e (patch)
tree322293a9fe9ee82f121955fa0f8d01ddf25c2bb5 /src
parent1e959e036d856eedc6bee1c01114ca93d361a160 (diff)
through AddMenu
Diffstat (limited to 'src')
-rw-r--r--src/pokemon_storage_system_5.c32
-rw-r--r--src/pokemon_storage_system_6.c96
-rw-r--r--src/strings.c74
3 files changed, 149 insertions, 53 deletions
diff --git a/src/pokemon_storage_system_5.c b/src/pokemon_storage_system_5.c
index 3c82895e0..052e593e8 100644
--- a/src/pokemon_storage_system_5.c
+++ b/src/pokemon_storage_system_5.c
@@ -1241,21 +1241,21 @@ u8 InBoxInput_Normal(void)
{
switch (sub_8094E50(0))
{
- case 1:
+ case PC_TEXT_STORE:
return 11;
- case 2:
+ case PC_TEXT_WITHDRAW:
return 12;
- case 3:
+ case PC_TEXT_MOVE:
return 13;
- case 4:
+ case PC_TEXT_SHIFT:
return 14;
- case 5:
+ case PC_TEXT_PLACE:
return 15;
- case 12:
+ case PC_TEXT_TAKE:
return 16;
- case 13:
+ case PC_TEXT_GIVE:
return 17;
- case 15:
+ case PC_TEXT_SWITCH:
return 18;
}
}
@@ -1521,21 +1521,21 @@ u8 HandleInput_InParty(void)
switch (sub_8094E50(0))
{
- case 1:
+ case PC_TEXT_STORE:
return 11;
- case 2:
+ case PC_TEXT_WITHDRAW:
return 12;
- case 3:
+ case PC_TEXT_MOVE:
return 13;
- case 4:
+ case PC_TEXT_SHIFT:
return 14;
- case 5:
+ case PC_TEXT_PLACE:
return 15;
- case 12:
+ case PC_TEXT_TAKE:
return 16;
- case 13:
+ case PC_TEXT_GIVE:
return 17;
- case 15:
+ case PC_TEXT_SWITCH:
return 18;
}
}
diff --git a/src/pokemon_storage_system_6.c b/src/pokemon_storage_system_6.c
new file mode 100644
index 000000000..4c5bc4189
--- /dev/null
+++ b/src/pokemon_storage_system_6.c
@@ -0,0 +1,96 @@
+#include "global.h"
+#include "gflib.h"
+#include "menu.h"
+#include "new_menu_helpers.h"
+#include "pokemon_storage_system_internal.h"
+#include "strings.h"
+
+void InitMenu(void)
+{
+ sPSSData->menuItemsCount = 0;
+ sPSSData->menuWidth = 0;
+ sPSSData->menuWindow.bg = 0;
+ sPSSData->menuWindow.paletteNum = 15;
+ sPSSData->menuWindow.baseBlock = 92;
+}
+
+const u8 *const sMenuTexts[] = {
+ [PC_TEXT_CANCEL] = gPCText_Cancel,
+ [PC_TEXT_STORE] = gPCText_Store,
+ [PC_TEXT_WITHDRAW] = gPCText_Withdraw,
+ [PC_TEXT_MOVE] = gPCText_Move,
+ [PC_TEXT_SHIFT] = gPCText_Shift,
+ [PC_TEXT_PLACE] = gPCText_Place,
+ [PC_TEXT_SUMMARY] = gPCText_Summary,
+ [PC_TEXT_RELEASE] = gPCText_Release,
+ [PC_TEXT_MARK] = gPCText_Mark,
+ [PC_TEXT_JUMP] = gPCText_Jump,
+ [PC_TEXT_WALLPAPER] = gPCText_Wallpaper,
+ [PC_TEXT_NAME] = gPCText_Name,
+ [PC_TEXT_TAKE] = gPCText_Take,
+ [PC_TEXT_GIVE] = gPCText_Give,
+ [PC_TEXT_GIVE2] = gPCText_Give,
+ [PC_TEXT_SWITCH] = gPCText_Switch,
+ [PC_TEXT_BAG] = gPCText_Bag,
+ [PC_TEXT_INFO] = gPCText_Info,
+ [PC_TEXT_SCENERY1] = gPCText_Scenery1,
+ [PC_TEXT_SCENERY2] = gPCText_Scenery2,
+ [PC_TEXT_SCENERY3] = gPCText_Scenery3,
+ [PC_TEXT_ETCETERA] = gPCText_Etcetera,
+ [PC_TEXT_FOREST] = gPCText_Forest,
+ [PC_TEXT_CITY] = gPCText_City,
+ [PC_TEXT_DESERT] = gPCText_Desert,
+ [PC_TEXT_SAVANNA] = gPCText_Savanna,
+ [PC_TEXT_CRAG] = gPCText_Crag,
+ [PC_TEXT_VOLCANO] = gPCText_Volcano,
+ [PC_TEXT_SNOW] = gPCText_Snow,
+ [PC_TEXT_CAVE] = gPCText_Cave,
+ [PC_TEXT_BEACH] = gPCText_Beach,
+ [PC_TEXT_SEAFLOOR] = gPCText_Seafloor,
+ [PC_TEXT_RIVER] = gPCText_River,
+ [PC_TEXT_SKY] = gPCText_Sky,
+ [PC_TEXT_POLKADOT] = gPCText_PolkaDot,
+ [PC_TEXT_POKECENTER] = gPCText_Pokecenter,
+ [PC_TEXT_MACHINE] = gPCText_Machine,
+ [PC_TEXT_SIMPLE] = gPCText_Simple,
+};
+
+void SetMenuText(u8 textId)
+{
+ if (sPSSData->menuItemsCount < MAX_MENU_ITEMS)
+ {
+ u8 len;
+ struct StorageMenu *menu = &sPSSData->menuItems[sPSSData->menuItemsCount];
+
+ menu->text = sMenuTexts[textId];
+ menu->textId = textId;
+ len = StringLength(menu->text);
+ if (len > sPSSData->menuWidth)
+ sPSSData->menuWidth = len;
+
+ sPSSData->menuItemsCount++;
+ }
+}
+
+s8 sub_8094E50(u8 arg0)
+{
+ if (arg0 >= sPSSData->menuItemsCount)
+ return -1;
+ else
+ return sPSSData->menuItems[arg0].textId;
+}
+
+void AddMenu(void)
+{
+ sPSSData->menuWindow.width = sPSSData->menuWidth + 2;
+ sPSSData->menuWindow.height = 2 * sPSSData->menuItemsCount;
+ sPSSData->menuWindow.tilemapLeft = 29 - sPSSData->menuWindow.width;
+ sPSSData->menuWindow.tilemapTop = 15 - sPSSData->menuWindow.height;
+ sPSSData->field_CB0 = AddWindow(&sPSSData->menuWindow);
+ ClearWindowTilemap(sPSSData->field_CB0);
+ DrawStdFrameWithCustomTileAndPalette(sPSSData->field_CB0, FALSE, 0x00b, 14);
+ PrintTextArray(sPSSData->field_CB0, 1, 8, 2, 16, sPSSData->menuItemsCount, (void*)sPSSData->menuItems);
+ Menu_InitCursor(sPSSData->field_CB0, 1, 0, 2, 16, sPSSData->menuItemsCount, 0);
+ ScheduleBgCopyTilemapToVram(0);
+ sPSSData->field_CAE = 0;
+}
diff --git a/src/strings.c b/src/strings.c
index 751d1e7bd..faf42c86a 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -631,43 +631,43 @@ const u8 gText_PutItemInBag[] = _("Put this item in the BAG?");
const u8 gText_ItemIsNowHeld[] = _("{DYNAMIC 0x00} is now held.");
const u8 gText_ChangedToNewItem[] = _("Changed to {DYNAMIC 0x00}.");
const u8 gText_MailCantBeStored[] = _("MAIL can't be stored!");
-const u8 gUnknown_8418468[] = _("CANCEL");
-const u8 gUnknown_841846F[] = _("STORE");
-const u8 gUnknown_8418475[] = _("WITHDRAW");
-const u8 gUnknown_841847E[] = _("SHIFT");
-const u8 gUnknown_8418484[] = _("MOVE");
-const u8 gUnknown_8418489[] = _("PLACE");
-const u8 gUnknown_841848F[] = _("SUMMARY");
-const u8 gUnknown_8418497[] = _("RELEASE");
-const u8 gUnknown_841849F[] = _("MARK");
-const u8 gUnknown_84184A4[] = _("NAME");
-const u8 gUnknown_84184A9[] = _("JUMP");
-const u8 gUnknown_84184AE[] = _("WALLPAPER");
-const u8 gUnknown_84184B8[] = _("TAKE");
-const u8 gUnknown_84184BD[] = _("GIVE");
-const u8 gUnknown_84184C2[] = _("SWITCH");
-const u8 gUnknown_84184C9[] = _("BAG");
-const u8 gUnknown_84184CD[] = _("INFO");
-const u8 gUnknown_84184D2[] = _("SCENERY 1");
-const u8 gUnknown_84184DC[] = _("SCENERY 2");
-const u8 gUnknown_84184E6[] = _("SCENERY 3");
-const u8 gUnknown_84184F0[] = _("ETCETERA");
-const u8 gUnknown_84184F9[] = _("FOREST");
-const u8 gUnknown_8418500[] = _("CITY");
-const u8 gUnknown_8418505[] = _("DESERT");
-const u8 gUnknown_841850C[] = _("SAVANNA");
-const u8 gUnknown_8418514[] = _("CRAG");
-const u8 gUnknown_8418519[] = _("VOLCANO");
-const u8 gUnknown_8418521[] = _("SNOW");
-const u8 gUnknown_8418526[] = _("CAVE");
-const u8 gUnknown_841852B[] = _("BEACH");
-const u8 gUnknown_8418531[] = _("SEAFLOOR");
-const u8 gUnknown_841853A[] = _("RIVER");
-const u8 gUnknown_8418540[] = _("SKY");
-const u8 gUnknown_8418544[] = _("STARS");
-const u8 gUnknown_841854A[] = _("POKéCENTER");
-const u8 gUnknown_8418555[] = _("TILES");
-const u8 gUnknown_841855B[] = _("SIMPLE");
+const u8 gPCText_Cancel[] = _("CANCEL");
+const u8 gPCText_Store[] = _("STORE");
+const u8 gPCText_Withdraw[] = _("WITHDRAW");
+const u8 gPCText_Shift[] = _("SHIFT");
+const u8 gPCText_Move[] = _("MOVE");
+const u8 gPCText_Place[] = _("PLACE");
+const u8 gPCText_Summary[] = _("SUMMARY");
+const u8 gPCText_Release[] = _("RELEASE");
+const u8 gPCText_Mark[] = _("MARK");
+const u8 gPCText_Name[] = _("NAME");
+const u8 gPCText_Jump[] = _("JUMP");
+const u8 gPCText_Wallpaper[] = _("WALLPAPER");
+const u8 gPCText_Take[] = _("TAKE");
+const u8 gPCText_Give[] = _("GIVE");
+const u8 gPCText_Switch[] = _("SWITCH");
+const u8 gPCText_Bag[] = _("BAG");
+const u8 gPCText_Info[] = _("INFO");
+const u8 gPCText_Scenery1[] = _("SCENERY 1");
+const u8 gPCText_Scenery2[] = _("SCENERY 2");
+const u8 gPCText_Scenery3[] = _("SCENERY 3");
+const u8 gPCText_Etcetera[] = _("ETCETERA");
+const u8 gPCText_Forest[] = _("FOREST");
+const u8 gPCText_City[] = _("CITY");
+const u8 gPCText_Desert[] = _("DESERT");
+const u8 gPCText_Savanna[] = _("SAVANNA");
+const u8 gPCText_Crag[] = _("CRAG");
+const u8 gPCText_Volcano[] = _("VOLCANO");
+const u8 gPCText_Snow[] = _("SNOW");
+const u8 gPCText_Cave[] = _("CAVE");
+const u8 gPCText_Beach[] = _("BEACH");
+const u8 gPCText_Seafloor[] = _("SEAFLOOR");
+const u8 gPCText_River[] = _("RIVER");
+const u8 gPCText_Sky[] = _("SKY");
+const u8 gPCText_PolkaDot[] = _("STARS");
+const u8 gPCText_Pokecenter[] = _("POKéCENTER");
+const u8 gPCText_Machine[] = _("TILES");
+const u8 gPCText_Simple[] = _("SIMPLE");
const u8 gUnknown_8418562[] = _("なにを しますか?");
const u8 gText_WithdrawPokemon[] = _("WITHDRAW POKéMON");
const u8 gText_DepositPokemon[] = _("DEPOSIT POKéMON");