diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/pokemon_storage_system_5.c | 32 | ||||
-rw-r--r-- | src/pokemon_storage_system_6.c | 96 | ||||
-rw-r--r-- | src/strings.c | 74 |
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"); |