Sync/script menu (#134)

This commit is contained in:
cawtds 2026-03-21 14:21:24 +01:00 committed by GitHub
parent 4f5d9af7b8
commit c45e662840
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
54 changed files with 1188 additions and 1665 deletions

View File

@ -33,6 +33,7 @@
#include "constants/sound.h"
#include "constants/species.h"
#include "constants/vars.h"
#include "constants/field_specials.h"
#include "constants/battle.h"
#include "constants/heal_locations.h"
#include "constants/field_effects.h"

View File

@ -16,7 +16,7 @@ BattleFrontier_OutsideWest_EventScript_FerryAttendant::
message BattleFrontier_OutsideWest_Text_WhereWouldYouLikeToGo
waitmessage
setvar VAR_0x8004, SEAGALLOP_NAVEL_ROCK
multichoice 20, 8, MULTICHOICE_SEAGALLOP_VERMILION, FALSE
multichoice 20, 8, MULTI_SEAGALLOP_VERMILION, FALSE
switch VAR_RESULT
case 0, EventScript_SailToVermilionCity
case 1, EventScript_CancelSail

View File

@ -7,7 +7,7 @@ BirthIsland_Harbor_EventScript_Sailor::
message Text_WhereDoYouWantToSail
waitmessage
setvar VAR_0x8004, SEAGALLOP_BIRTH_ISLAND
multichoice 20, 8, MULTICHOICE_SEAGALLOP_VERMILION, FALSE
multichoice 20, 8, MULTI_SEAGALLOP_VERMILION, FALSE
switch VAR_RESULT
case 0, EventScript_SailToVermilionCity
case 1, EventScript_CancelSail

View File

@ -63,7 +63,7 @@ CeladonCity_Condominiums_RoofRoom_EventScript_Blackboard::
message CeladonCity_Condominiums_RoofRoom_Text_ReadWhichHeading
waitmessage
setvar VAR_0x8004, 4
multichoice 0, 0, MULTICHOICE_LINKED_DIRECT_UNION, FALSE
multichoice 0, 0, MULTI_LINKED_DIRECT_UNION, FALSE
switch VAR_RESULT
case 0, CeladonCity_Condominiums_RoofRoom_EventScript_WirelessClub
case 1, CeladonCity_Condominiums_RoofRoom_EventScript_DirectCorner
@ -75,7 +75,7 @@ CeladonCity_Condominiums_RoofRoom_EventScript_Blackboard::
CeladonCity_Condominiums_RoofRoom_EventScript_ReadAnotherHeading::
message CeladonCity_Condominiums_RoofRoom_Text_ReadWhichHeading
waitmessage
multichoice 0, 0, MULTICHOICE_LINKED_DIRECT_UNION, FALSE
multichoice 0, 0, MULTI_LINKED_DIRECT_UNION, FALSE
switch VAR_RESULT
case 0, CeladonCity_Condominiums_RoofRoom_EventScript_WirelessClub
case 1, CeladonCity_Condominiums_RoofRoom_EventScript_DirectCorner

View File

@ -20,27 +20,27 @@ CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelect::
end
CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom5F::
multichoicedefault 0, 0, MULTICHOICE_DEPT_STORE_ELEVATOR, 0, FALSE
multichoicedefault 0, 0, MULTI_DEPT_STORE_ELEVATOR, 0, FALSE
goto CeladonCity_DepartmentStore_Elevator_EventScript_ChooseFloor
end
CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom4F::
multichoicedefault 0, 0, MULTICHOICE_DEPT_STORE_ELEVATOR, 1, FALSE
multichoicedefault 0, 0, MULTI_DEPT_STORE_ELEVATOR, 1, FALSE
goto CeladonCity_DepartmentStore_Elevator_EventScript_ChooseFloor
end
CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom3F::
multichoicedefault 0, 0, MULTICHOICE_DEPT_STORE_ELEVATOR, 2, FALSE
multichoicedefault 0, 0, MULTI_DEPT_STORE_ELEVATOR, 2, FALSE
goto CeladonCity_DepartmentStore_Elevator_EventScript_ChooseFloor
end
CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom2F::
multichoicedefault 0, 0, MULTICHOICE_DEPT_STORE_ELEVATOR, 3, FALSE
multichoicedefault 0, 0, MULTI_DEPT_STORE_ELEVATOR, 3, FALSE
goto CeladonCity_DepartmentStore_Elevator_EventScript_ChooseFloor
end
CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom1F::
multichoicedefault 0, 0, MULTICHOICE_DEPT_STORE_ELEVATOR, 4, FALSE
multichoicedefault 0, 0, MULTI_DEPT_STORE_ELEVATOR, 4, FALSE
goto CeladonCity_DepartmentStore_Elevator_EventScript_ChooseFloor
end

View File

@ -51,7 +51,7 @@ CeladonCity_DepartmentStore_Roof_EventScript_AskGiveDrink::
end
CeladonCity_DepartmentStore_Roof_EventScript_AskGiveFreshWater::
multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_FRESH_WATER, FALSE
multichoice 0, 0, MULTI_THIRSTY_GIRL_FRESH_WATER, FALSE
switch VAR_RESULT
case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveFreshWater
case 1, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink
@ -59,7 +59,7 @@ CeladonCity_DepartmentStore_Roof_EventScript_AskGiveFreshWater::
end
CeladonCity_DepartmentStore_Roof_EventScript_AskGiveSodaPop::
multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_SODA_POP, FALSE
multichoice 0, 0, MULTI_THIRSTY_GIRL_SODA_POP, FALSE
switch VAR_RESULT
case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveSodaPop
case 1, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink
@ -67,7 +67,7 @@ CeladonCity_DepartmentStore_Roof_EventScript_AskGiveSodaPop::
end
CeladonCity_DepartmentStore_Roof_EventScript_AskGiveFreshWaterSodaPop::
multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_FRESH_WATER_SODA_POP, FALSE
multichoice 0, 0, MULTI_THIRSTY_GIRL_FRESH_WATER_SODA_POP, FALSE
switch VAR_RESULT
case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveFreshWater
case 1, CeladonCity_DepartmentStore_Roof_EventScript_GiveSodaPop
@ -76,7 +76,7 @@ CeladonCity_DepartmentStore_Roof_EventScript_AskGiveFreshWaterSodaPop::
end
CeladonCity_DepartmentStore_Roof_EventScript_AskGiveLemonade::
multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_LEMONADE, FALSE
multichoice 0, 0, MULTI_THIRSTY_GIRL_LEMONADE, FALSE
switch VAR_RESULT
case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveLemonade
case 1, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink
@ -84,7 +84,7 @@ CeladonCity_DepartmentStore_Roof_EventScript_AskGiveLemonade::
end
CeladonCity_DepartmentStore_Roof_EventScript_AskGiveFreshWaterLemonade::
multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_FRESH_WATER_LEMONADE, FALSE
multichoice 0, 0, MULTI_THIRSTY_GIRL_FRESH_WATER_LEMONADE, FALSE
switch VAR_RESULT
case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveFreshWater
case 1, CeladonCity_DepartmentStore_Roof_EventScript_GiveLemonade
@ -93,7 +93,7 @@ CeladonCity_DepartmentStore_Roof_EventScript_AskGiveFreshWaterLemonade::
end
CeladonCity_DepartmentStore_Roof_EventScript_AskGiveSodaPopLemonade::
multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_SODA_POP_LEMONADE, FALSE
multichoice 0, 0, MULTI_THIRSTY_GIRL_SODA_POP_LEMONADE, FALSE
switch VAR_RESULT
case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveSodaPop
case 1, CeladonCity_DepartmentStore_Roof_EventScript_GiveLemonade
@ -102,7 +102,7 @@ CeladonCity_DepartmentStore_Roof_EventScript_AskGiveSodaPopLemonade::
end
CeladonCity_DepartmentStore_Roof_EventScript_AskGiveAllDrinks::
multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_FRESH_WATER_SODA_POP_LEMONADE, FALSE
multichoice 0, 0, MULTI_THIRSTY_GIRL_FRESH_WATER_SODA_POP_LEMONADE, FALSE
switch VAR_RESULT
case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveFreshWater
case 1, CeladonCity_DepartmentStore_Roof_EventScript_GiveSodaPop
@ -206,7 +206,7 @@ CeladonCity_DepartmentStore_Roof_EventScript_VendingMachine::
end
CeladonCity_DepartmentStore_Roof_EventScript_ChooseDrink::
multichoice 12, 0, MULTICHOICE_CELADON_VENDING_MACHINE, FALSE
multichoice 12, 0, MULTI_CELADON_VENDING_MACHINE, FALSE
copyvar VAR_TEMP_1, VAR_RESULT
switch VAR_TEMP_1
case 0, CeladonCity_DepartmentStore_Roof_EventScript_BuyFreshWater

View File

@ -26,7 +26,7 @@ CeladonCity_GameCorner_EventScript_CoinsClerk::
showcoinsbox 0, 5
message CeladonCity_GameCorner_Text_WelcomeBuySomeCoins
waitmessage
multichoice 13, 0, MULTICHOICE_GAME_CORNER_COIN_PURCHASE_COUNTER, FALSE
multichoice 13, 0, MULTI_GAME_CORNER_COIN_PURCHASE_COUNTER, FALSE
copyvar VAR_0x8009, VAR_RESULT
switch VAR_RESULT
case 0, CeladonCity_GameCorner_EventScript_BuyCoins

View File

@ -22,7 +22,7 @@ CeladonCity_GameCorner_PrizeRoom_EventScript_PrizeClerkMons::
CeladonCity_GameCorner_PrizeRoom_EventScript_ChoosePrizeMon::
message CeladonCity_GameCorner_PrizeRoom_Text_WhichPrize
waitmessage
multichoice 11, 0, MULTICHOICE_GAME_CORNER_POKEMON_PRIZES, FALSE
multichoice 11, 0, MULTI_GAME_CORNER_POKEMON_PRIZES, FALSE
switch VAR_RESULT
case 0, CeladonCity_GameCorner_PrizeRoom_EventScript_Abra
case 1, CeladonCity_GameCorner_PrizeRoom_EventScript_Clefairy
@ -250,7 +250,7 @@ CeladonCity_GameCorner_PrizeRoom_EventScript_PrizeClerkTMs::
CeladonCity_GameCorner_PrizeRoom_EventScript_ChoosePrizeTM::
message CeladonCity_GameCorner_PrizeRoom_Text_WhichPrize
waitmessage
multichoice 11, 0, MULTICHOICE_GAME_CORNER_TMPRIZES, FALSE
multichoice 11, 0, MULTI_GAME_CORNER_TMPRIZES, FALSE
switch VAR_RESULT
case 0, CeladonCity_GameCorner_PrizeRoom_EventScript_TM13
case 1, CeladonCity_GameCorner_PrizeRoom_EventScript_TM23
@ -341,7 +341,7 @@ CeladonCity_GameCorner_PrizeRoom_EventScript_PrizeClerkItems::
CeladonCity_GameCorner_PrizeRoom_EventScript_ChoosePrizeItem::
message CeladonCity_GameCorner_PrizeRoom_Text_WhichPrize
waitmessage
multichoice 10, 0, MULTICHOICE_GAME_CORNER_BATTLE_ITEM_PRIZES, FALSE
multichoice 10, 0, MULTI_GAME_CORNER_BATTLE_ITEM_PRIZES, FALSE
switch VAR_RESULT
case 0, CeladonCity_GameCorner_PrizeRoom_EventScript_SmokeBall
case 1, CeladonCity_GameCorner_PrizeRoom_EventScript_MiracleSeed

View File

@ -9,7 +9,7 @@ CeruleanCity_BikeShop_EventScript_Clerk::
showmoneybox 0, 0
message CeruleanCity_BikeShop_Text_WelcomeToBikeShop
waitmessage
multichoice 11, 0, MULTICHOICE_BIKE_SHOP, FALSE
multichoice 11, 0, MULTI_BIKE_SHOP, FALSE
switch VAR_RESULT
case 0, CeruleanCity_BikeShop_EventScript_TryPurchaseBicycle
case 1, CeruleanCity_BikeShop_EventScript_ClerkGoodbye

View File

@ -7,7 +7,7 @@ CeruleanCity_House1_EventScript_BadgeGuy::
msgbox CeruleanCity_House1_Text_BadgesHaveAmazingSecrets
message CeruleanCity_House1_Text_DescribeWhichBadge
waitmessage
setvar VAR_0x8004, LISTMENU_BADGES
setvar VAR_0x8004, SCROLL_MULTI_BADGES
special ShowScrollableMultichoice
waitstate
switch VAR_RESULT

View File

@ -35,7 +35,7 @@ CeruleanCity_House5_EventScript_AskToExchangePowder::
CeruleanCity_House5_EventScript_ChooseExchangeItem::
message CeruleanCity_House5_Text_ExchangeWithWhat
waitmessage
setvar VAR_0x8004, LISTMENU_BERRY_POWDER
setvar VAR_0x8004, SCROLL_MULTI_BERRY_POWDER
special ShowScrollableMultichoice
waitstate
switch VAR_RESULT

View File

@ -80,7 +80,7 @@ CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilHelix::
waitmessage
call CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddOldAmberToList
goto_if_eq VAR_RESULT, TRUE, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilHelixAmber
multichoice 0, 0, MULTICHOICE_HELIX, FALSE
multichoice 0, 0, MULTI_HELIX, FALSE
switch VAR_RESULT
case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowHelixFossil
case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
@ -92,7 +92,7 @@ CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilDome::
waitmessage
call CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddOldAmberToList
goto_if_eq VAR_RESULT, TRUE, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilDomeAmber
multichoice 0, 0, MULTICHOICE_DOME, FALSE
multichoice 0, 0, MULTI_DOME, FALSE
switch VAR_RESULT
case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowDomeFossil
case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
@ -102,7 +102,7 @@ CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilDome::
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilAmber::
message CinnabarIsland_PokemonLab_ExperimentRoom_Text_HaveYouAFossilForMe
waitmessage
multichoice 0, 0, MULTICHOICE_AMBER, FALSE
multichoice 0, 0, MULTI_AMBER, FALSE
switch VAR_RESULT
case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowOldAmber
case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
@ -110,7 +110,7 @@ CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilAmber::
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilHelixAmber::
multichoice 0, 0, MULTICHOICE_HELIX_AMBER, FALSE
multichoice 0, 0, MULTI_HELIX_AMBER, FALSE
switch VAR_RESULT
case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowHelixFossil
case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowOldAmber
@ -119,7 +119,7 @@ CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilHelixAmber::
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilDomeAmber::
multichoice 0, 0, MULTICHOICE_DOME_AMBER, FALSE
multichoice 0, 0, MULTI_DOME_AMBER, FALSE
switch VAR_RESULT
case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowDomeFossil
case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowOldAmber

View File

@ -7,7 +7,7 @@ NavelRock_Harbor_EventScript_Sailor::
message Text_WhereDoYouWantToSail
waitmessage
setvar VAR_0x8004, SEAGALLOP_NAVEL_ROCK
multichoice 20, 8, MULTICHOICE_SEAGALLOP_VERMILION, FALSE
multichoice 20, 8, MULTI_SEAGALLOP_VERMILION, FALSE
switch VAR_RESULT
case 0, EventScript_SailToVermilionCity
case 1, EventScript_CancelSail

View File

@ -19,17 +19,17 @@ RocketHideout_Elevator_EventScript_FloorSelect::
end
RocketHideout_Elevator_EventScript_FloorSelectFromB1F::
multichoicedefault 0, 0, MULTICHOICE_ROCKET_HIDEOUT_ELEVATOR, 0, FALSE
multichoicedefault 0, 0, MULTI_ROCKET_HIDEOUT_ELEVATOR, 0, FALSE
goto RocketHideout_Elevator_EventScript_ChooseFloor
end
RocketHideout_Elevator_EventScript_FloorSelectFromB2F::
multichoicedefault 0, 0, MULTICHOICE_ROCKET_HIDEOUT_ELEVATOR, 1, FALSE
multichoicedefault 0, 0, MULTI_ROCKET_HIDEOUT_ELEVATOR, 1, FALSE
goto RocketHideout_Elevator_EventScript_ChooseFloor
end
RocketHideout_Elevator_EventScript_FloorSelectFromB4F::
multichoicedefault 0, 0, MULTICHOICE_ROCKET_HIDEOUT_ELEVATOR, 2, FALSE
multichoicedefault 0, 0, MULTI_ROCKET_HIDEOUT_ELEVATOR, 2, FALSE
goto RocketHideout_Elevator_EventScript_ChooseFloor
end

View File

@ -232,7 +232,7 @@ Route25_SeaCottage_EventScript_OpenBillsMonList::
Route25_SeaCottage_EventScript_BillsMonList::
message Route25_SeaCottage_Text_SeeWhichMon
waitmessage
multichoice 0, 0, MULTICHOICE_EEVEELUTIONS, FALSE
multichoice 0, 0, MULTI_EEVEELUTIONS, FALSE
switch VAR_RESULT
case 0, Route25_SeaCottage_EventScript_ViewEevee
case 1, Route25_SeaCottage_EventScript_ViewFlareon

View File

@ -9,7 +9,7 @@ SilphCo_Elevator_EventScript_FloorSelect::
special DrawElevatorCurrentFloorWindow
message Text_WantWhichFloor
waitmessage
setvar VAR_0x8004, LISTMENU_SILPHCO_FLOORS
setvar VAR_0x8004, SCROLL_MULTI_SILPHCO_FLOORS
specialvar VAR_RESULT, InitElevatorFloorSelectMenuPos
special ShowScrollableMultichoice
waitstate

View File

@ -19,12 +19,12 @@ TrainerTower_Elevator_EventScript_FloorSelect::
end
TrainerTower_Elevator_EventScript_FloorSelectFromRoof::
multichoicedefault 0, 0, MULTICHOICE_ROOFTOP_B1F, 0, FALSE
multichoicedefault 0, 0, MULTI_ROOFTOP_B1F, 0, FALSE
goto TrainerTower_Elevator_EventScript_ChooseFloor
end
TrainerTower_Elevator_EventScript_FloorSelectFromLobby::
multichoicedefault 0, 0, MULTICHOICE_ROOFTOP_B1F, 1, FALSE
multichoicedefault 0, 0, MULTI_ROOFTOP_B1F, 1, FALSE
goto TrainerTower_Elevator_EventScript_ChooseFloor
end
@ -33,7 +33,7 @@ TrainerTower_Elevator_EventScript_ChooseFloor::
case 0, TrainerTower_Elevator_EventScript_SelectRoof
case 1, TrainerTower_Elevator_EventScript_SelectLobby
case 2, TrainerTower_Elevator_EventScript_CloseFloorSelect
case SCR_MENU_CANCEL, TrainerTower_Elevator_EventScript_CloseFloorSelect
case MULTI_B_PRESSED, TrainerTower_Elevator_EventScript_CloseFloorSelect
end
TrainerTower_Elevator_EventScript_SelectLobby::

View File

@ -155,12 +155,12 @@ TrainerTower_Lobby_EventScript_AllFloorsUsed::
TrainerTower_Lobby_EventScript_AskEnterChallenge::
message TrainerTower_Lobby_Text_LikeToChallengeTrainers
waitmessage
multichoice 18, 6, MULTICHOICE_YES_NO_INFO, FALSE
multichoice 18, 6, MULTI_YES_NO_INFO, FALSE
switch VAR_RESULT
case 0, TrainerTower_Lobby_EventScript_ChooseChallenge
case 1, TrainerTower_Lobby_EventScript_DeclineChallenge
case 2, TrainerTower_Lobby_EventScript_ChallengeInfo
case SCR_MENU_CANCEL, TrainerTower_Lobby_EventScript_DeclineChallenge
case MULTI_B_PRESSED, TrainerTower_Lobby_EventScript_DeclineChallenge
end
TrainerTower_Lobby_EventScript_ChallengeInfo::
@ -169,14 +169,14 @@ TrainerTower_Lobby_EventScript_ChallengeInfo::
end
TrainerTower_Lobby_EventScript_ChooseChallenge::
multichoice 13, 3, MULTICHOICE_TRAINER_TOWER_MODE, FALSE
multichoice 13, 3, MULTI_TRAINER_TOWER_MODE, FALSE
switch VAR_RESULT
case 0, TrainerTower_Lobby_EventScript_BeginChallenge
case 1, TrainerTower_Lobby_EventScript_BeginChallenge
case 2, TrainerTower_Lobby_EventScript_BeginChallenge
case 3, TrainerTower_Lobby_EventScript_BeginChallenge
case 4, TrainerTower_Lobby_EventScript_DeclineChallenge
case SCR_MENU_CANCEL, TrainerTower_Lobby_EventScript_DeclineChallenge
case MULTI_B_PRESSED, TrainerTower_Lobby_EventScript_DeclineChallenge
end
TrainerTower_Lobby_EventScript_BeginChallenge::

View File

@ -87,7 +87,7 @@ TwoIsland_House_EventScript_GiveTinyMushrooms::
TwoIsland_House_EventScript_ChooseMushroom::
message TwoIsland_House_Text_IllNeedMushroomOrTwo
waitmessage
multichoice 0, 0, MULTICHOICE_MUSHROOMS, TRUE
multichoice 0, 0, MULTI_MUSHROOMS, TRUE
switch VAR_RESULT
case 0, TwoIsland_House_EventScript_GiveTinyMushrooms
case 1, TwoIsland_House_EventScript_GiveBigMushroom

View File

@ -141,7 +141,7 @@ VermilionCity_EventScript_HasMysticTicket::
call_if_unset FLAG_SHOWN_MYSTIC_TICKET, VermilionCity_EventScript_ShowMysticTicket
message VermilionCity_Text_BoardSeagallopFerry
waitmessage
multichoice 17, 6, MULTICHOICE_SEVII_NAVEL, FALSE
multichoice 17, 6, MULTI_SEVII_NAVEL, FALSE
switch VAR_RESULT
case 0, EventScript_SeviiDestinationsPage1
case 1, EventScript_SailToNavelRock
@ -158,7 +158,7 @@ VermilionCity_EventScript_HasAuroraTicket::
call_if_unset FLAG_SHOWN_AURORA_TICKET, VermilionCity_EventScript_ShowAuroraTicket
message VermilionCity_Text_BoardSeagallopFerry
waitmessage
multichoice 13, 6, MULTICHOICE_SEVII_BIRTH, FALSE
multichoice 13, 6, MULTI_SEVII_BIRTH, FALSE
switch VAR_RESULT
case 0, EventScript_SeviiDestinationsPage1
case 1, EventScript_SailToBirthIsland
@ -176,7 +176,7 @@ VermilionCity_EventScript_HasMysticAndAuroraTickets::
call_if_unset FLAG_SHOWN_AURORA_TICKET, VermilionCity_EventScript_ShowAuroraTicket
message VermilionCity_Text_BoardSeagallopFerry
waitmessage
multichoice 13, 5, MULTICHOICE_SEVII_NAVEL_BIRTH, FALSE
multichoice 13, 5, MULTI_SEVII_NAVEL_BIRTH, FALSE
switch VAR_RESULT
case 0, EventScript_SeviiDestinationsPage1
case 1, EventScript_SailToNavelRock
@ -210,7 +210,7 @@ VermilionCity_EventScript_ChooseSeagallopDestTriPass::
message VermilionCity_Text_BoardSeagallopTriPass
waitmessage
setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY
multichoice 19, 5, MULTICHOICE_SEAGALLOP_123, FALSE
multichoice 19, 5, MULTI_SEAGALLOP_123, FALSE
switch VAR_RESULT
case 0, EventScript_SailToOneIsland2
case 1, EventScript_SailToTwoIsland2

View File

@ -53,7 +53,7 @@ ViridianCity_School_EventScript_Blackboard::
ViridianCity_School_EventScript_ChooseBlackboardTopic::
message ViridianCity_School_Text_ReadWhichTopic
waitmessage
multichoicegrid 7, 1, MULTICHOICE_TRAINER_SCHOOL_WHITEBOARD, 3, FALSE
multichoicegrid 7, 1, MULTI_TRAINER_SCHOOL_WHITEBOARD, 3, FALSE
switch VAR_RESULT
case 0, ViridianCity_School_EventScript_ReadSleep
case 1, ViridianCity_School_EventScript_ReadPoison

View File

@ -212,12 +212,12 @@ CableClub_EventScript_UnusedWelcomeToCableClub::
CableClub_EventScript_SelectCableClubRoom::
setvar VAR_0x8004, 0
multichoice 0, 0, MULTICHOICE_TRADE_CENTER_COLOSSEUM, FALSE
multichoice 0, 0, MULTI_TRADE_CENTER_COLOSSEUM, FALSE
switch VAR_RESULT
case 0, CableClub_EventScript_TradeCenter
case 1, CableClub_EventScript_Colosseum
case 2, CableClub_EventScript_AbortLink
case SCR_MENU_CANCEL, CableClub_EventScript_AbortLink
case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
CableClub_EventScript_Colosseum::
@ -228,14 +228,14 @@ CableClub_EventScript_Colosseum::
CableClub_EventScript_SelectBattleMode::
message CableClub_Text_PlayWhichBattleMode
waitmessage
multichoice 0, 0, MULTICHOICE_SINGLE_DOUBLE_MULTI_INFO_EXIT, FALSE
multichoice 0, 0, MULTI_SINGLE_DOUBLE_MULTI_INFO_EXIT, FALSE
switch VAR_RESULT
case 0, CableClub_EventScript_SingleBattleMode
case 1, CableClub_EventScript_DoubleBattleMode
case 2, CableClub_EventScript_MultiBattleMode
case 3, CableClub_EventScript_BattleModeInfo
case 4, CableClub_EventScript_AbortLink
case SCR_MENU_CANCEL, CableClub_EventScript_AbortLink
case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
CableClub_EventScript_BattleModeInfo::
@ -752,12 +752,12 @@ CableClub_EventScript_UnionRoomAttendant::
end
CableClub_EventScript_AskEnterUnionRoom::
multichoice 18, 6, MULTICHOICE_YES_NO_INFO, FALSE
multichoice 18, 6, MULTI_YES_NO_INFO, FALSE
switch VAR_RESULT
case 0, CableClub_EventScript_EnterUnionRoom
case 1, CableClub_EventScript_AbortLink
case 2, CableClub_EventScript_UnionRoomInfo
case SCR_MENU_CANCEL, CableClub_EventScript_AbortLink
case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
CableClub_EventScript_UnionRoomInfo::
@ -856,22 +856,22 @@ CableClub_EventScript_DirectCornerAttendant::
CableClub_EventScript_DirectCornerSelectService::
goto_if_unset FLAG_GOT_POWDER_JAR, CableClub_EventScript_DirectCornerNoBerry
multichoice 0, 0, MULTICHOICE_TRADE_COLOSSEUM_CRUSH, FALSE
multichoice 0, 0, MULTI_TRADE_COLOSSEUM_CRUSH, FALSE
switch VAR_RESULT
case 0, CableClub_EventScript_WirelessTrade
case 1, CableClub_EventScript_WirelessBattleSelect
case 2, CableClub_EventScript_WirelessBerryCrush
case 3, CableClub_EventScript_AbortLink
case SCR_MENU_CANCEL, CableClub_EventScript_AbortLink
case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
CableClub_EventScript_DirectCornerNoBerry::
multichoice 0, 0, MULTICHOICE_TRADE_COLOSSEUM_2, FALSE
multichoice 0, 0, MULTI_TRADE_COLOSSEUM_2, FALSE
switch VAR_RESULT
case 0, CableClub_EventScript_WirelessTrade
case 1, CableClub_EventScript_WirelessBattleSelect
case 2, CableClub_EventScript_AbortLink
case SCR_MENU_CANCEL, CableClub_EventScript_AbortLink
case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
CableClub_EventScript_WirelessTrade::
@ -886,14 +886,14 @@ CableClub_EventScript_WirelessTrade::
CableClub_EventScript_WirelessBattleSelect::
message CableClub_Text_PlayWhichBattleMode
waitmessage
multichoice 0, 0, MULTICHOICE_SINGLE_DOUBLE_MULTI_INFO_EXIT, FALSE
multichoice 0, 0, MULTI_SINGLE_DOUBLE_MULTI_INFO_EXIT, FALSE
switch VAR_RESULT
case 0, CableClub_EventScript_WirelessSingleBattle
case 1, CableClub_EventScript_WirelessDoubleBattle
case 2, CableClub_EventScript_WirelessMultiBattle
case 3, CableClub_EventScript_WirelessBattleInfo
case 4, CableClub_EventScript_AbortLink
case SCR_MENU_CANCEL, CableClub_EventScript_AbortLink
case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
CableClub_EventScript_WirelessSingleBattle::
@ -953,12 +953,12 @@ CableClub_EventScript_ChooseLinkLeaderFrom2::
message CableClub_Text_ChooseGroupLeaderOfTwo
waitmessage
call EventScript_RestorePrevTextColor
multichoice 13, 6, MULTICHOICE_JOIN_OR_LEAD, FALSE
multichoice 13, 6, MULTI_JOIN_OR_LEAD, FALSE
switch VAR_RESULT
case 0, CableClub_EventScript_TryJoinGroup2Players
case 1, CableClub_EventScript_TryLeadGroup2Players
case 2, CableClub_EventScript_AbortLink
case SCR_MENU_CANCEL, CableClub_EventScript_AbortLink
case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
CableClub_EventScript_TryLeadGroup2Players::
@ -982,12 +982,12 @@ CableClub_EventScript_ChooseLinkLeaderFrom4::
message CableClub_Text_ChooseGroupLeaderOfFour
waitmessage
call EventScript_RestorePrevTextColor
multichoice 13, 6, MULTICHOICE_JOIN_OR_LEAD, FALSE
multichoice 13, 6, MULTI_JOIN_OR_LEAD, FALSE
switch VAR_RESULT
case 0, CableClub_EventScript_TryJoinGroup4Players
case 1, CableClub_EventScript_TryLeadGroup4Players
case 2, CableClub_EventScript_AbortLink
case SCR_MENU_CANCEL, CableClub_EventScript_AbortLink
case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
CableClub_EventScript_TryLeadGroup4Players::
@ -1011,12 +1011,12 @@ CableClub_EventScript_ChooseLinkLeader::
message CableClub_Text_ChooseGroupLeader
waitmessage
call EventScript_RestorePrevTextColor
multichoice 13, 6, MULTICHOICE_JOIN_OR_LEAD, FALSE
multichoice 13, 6, MULTI_JOIN_OR_LEAD, FALSE
switch VAR_RESULT
case 0, CableClub_EventScript_TryJoinGroupXPlayers
case 1, CableClub_EventScript_TryLeadGroupXPlayers
case 2, CableClub_EventScript_AbortLink
case SCR_MENU_CANCEL, CableClub_EventScript_AbortLink
case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
CableClub_EventScript_TryLeadGroupXPlayers::
@ -1128,12 +1128,12 @@ JoyfulGameCorner_EventScript_InfoMan2::
faceplayer
message Text_DescribeWhichGame
waitmessage
multichoice 0, 0, MULTICHOICE_POKEJUMP_DODRIO, FALSE
multichoice 0, 0, MULTI_POKEJUMP_DODRIO, FALSE
switch VAR_RESULT
case 0, CableClub_EventScript_PokemonJumpInfo
case 1, CableClub_EventScript_DodrioBerryPickingInfo
case 2, CableClub_EventScript_MinigameInfoExit
case SCR_MENU_CANCEL, CableClub_EventScript_MinigameInfoExit
case MULTI_B_PRESSED, CableClub_EventScript_MinigameInfoExit
end
CableClub_EventScript_PokemonJumpInfo::
@ -1164,12 +1164,12 @@ JoyfulGameCorner_EventScript_MinigameAttendant::
special HelpSystem_Disable
message Text_PlayWhichGame
waitmessage
multichoice 0, 0, MULTICHOICE_POKEJUMP_DODRIO, FALSE
multichoice 0, 0, MULTI_POKEJUMP_DODRIO, FALSE
switch VAR_RESULT
case 0, CableClub_EventScript_PlayPokemonJump
case 1, CableClub_EventScript_PlayDodrioBerryPicking
case 2, CableClub_EventScript_AbortMinigame
case SCR_MENU_CANCEL, CableClub_EventScript_AbortMinigame
case MULTI_B_PRESSED, CableClub_EventScript_AbortMinigame
end
CableClub_EventScript_PlayPokemonJump::
@ -1207,12 +1207,12 @@ CableClub_EventScript_ChooseLinkLeaderMinigame::
message CableClub_Text_ChooseGroupLeader
waitmessage
call EventScript_RestorePrevTextColor
multichoice 13, 6, MULTICHOICE_JOIN_OR_LEAD, FALSE
multichoice 13, 6, MULTI_JOIN_OR_LEAD, FALSE
switch VAR_RESULT
case 0, CableClub_EventScript_TryJoinMinigameLinkGroup
case 1, CableClub_EventScript_TryBecomeMinigameLinkLeader
case 2, CableClub_EventScript_AbortMinigame
case SCR_MENU_CANCEL, CableClub_EventScript_AbortMinigame
case MULTI_B_PRESSED, CableClub_EventScript_AbortMinigame
end
CableClub_EventScript_TryBecomeMinigameLinkLeader::

View File

@ -17,12 +17,12 @@ EventScript_AlreadyGaveProfile:
EventScript_AskForProfile:
message Text_TellMeWhatsYourProfile
waitmessage
multichoice 18, 6, MULTICHOICE_YES_NO_INFO_2, FALSE
multichoice 18, 6, MULTI_YES_NO_INFO, FALSE
switch VAR_RESULT
case 0, EventScript_AcceptGiveProfile
case 1, EventScript_DeclineGiveProfile
case 2, EventScript_ProfileInfo
case SCR_MENU_CANCEL, EventScript_DeclineGiveProfile
case MULTI_B_PRESSED, EventScript_DeclineGiveProfile
end
EventScript_ProfileInfo:
@ -64,12 +64,12 @@ EventScript_GivenProfileBefore:
EventScript_AskForNewProfile:
message Text_ChangeYourProfile
waitmessage
multichoice 18, 6, MULTICHOICE_YES_NO_INFO_2, FALSE
multichoice 18, 6, MULTI_YES_NO_INFO, FALSE
switch VAR_RESULT
case 0, EventScript_AcceptGiveNewProfile
case 1, EventScript_DeclineGiveNewProfile
case 2, EventScript_ProfileInfo2
case SCR_MENU_CANCEL, EventScript_DeclineGiveNewProfile
case MULTI_B_PRESSED, EventScript_DeclineGiveNewProfile
end
EventScript_ProfileInfo2:

View File

@ -18,9 +18,9 @@ EventScript_PCDisabled::
end
EventScript_PCMainMenu::
message Text_AccessWhichPC
message gText_WhichPCShouldBeAccessed
waitmessage
special CreatePCMenu
special ScriptMenu_CreatePCMultichoice
waitstate
goto EventScript_ChoosePCMenu
end
@ -32,7 +32,7 @@ EventScript_ChoosePCMenu::
case 2, EventScript_AccessProfOaksPC
case 3, EventScript_AccessHallOfFame
case 4, EventScript_TurnOffPC
case SCR_MENU_CANCEL, EventScript_TurnOffPC
case MULTI_B_PRESSED, EventScript_TurnOffPC
end
EventScript_AccessPlayersPC::

View File

@ -6,7 +6,7 @@ EventScript_PkmnCenterNurse::
switch VAR_RESULT
case 0, EventScript_PkmnCenterNurse_HealPkmn
case 1 EventScript_PkmnCenterNurse_Goodbye
case SCR_MENU_CANCEL, EventScript_PkmnCenterNurse_Goodbye
case MULTI_B_PRESSED, EventScript_PkmnCenterNurse_Goodbye
end
EventScript_PkmnCenterNurse_HealPkmn::

View File

@ -108,7 +108,7 @@ EventScript_ChooseWhichSpray::
waitmessage
callnative DrawSprayMenu
waitstate
compare VAR_RESULT, SCR_MENU_CANCEL
compare VAR_RESULT, MULTI_B_PRESSED
goto_if_ne EventScript_ChooseWhichSpray_3
EventScript_ChooseWhichSpray_1:
closemessage

View File

@ -2,43 +2,43 @@
EventScript_ChooseDestFromOneIsland::
goto_if_ge VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5, EventScript_SeviiDestinationsPage1
goto_if_ge VAR_MAP_SCENE_CINNABAR_ISLAND, 4, EventScript_ChooseDestFromOneIslandVermilionAllowed
multichoice 19, 6, MULTICHOICE_ISLAND_23, FALSE
multichoice 19, 6, MULTI_ISLAND_23, FALSE
switch VAR_RESULT
case 0, EventScript_SailToTwoIsland2
case 1, EventScript_SailToThreeIsland2
case 2, EventScript_CancelSail
case SCR_MENU_CANCEL, EventScript_CancelSail
case MULTI_B_PRESSED, EventScript_CancelSail
end
EventScript_ChooseDestFromOneIslandVermilionAllowed::
multichoice 19, 5, MULTICHOICE_SEAGALLOP_V23, FALSE
multichoice 19, 5, MULTI_SEAGALLOP_V23, FALSE
switch VAR_RESULT
case 0, EventScript_SailToVermilion2
case 1, EventScript_SailToTwoIsland2
case 2, EventScript_SailToThreeIsland2
case 3, EventScript_CancelSail
case SCR_MENU_CANCEL, EventScript_CancelSail
case MULTI_B_PRESSED, EventScript_CancelSail
end
EventScript_ChooseDestFromTwoIsland::
goto_if_ge VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5, EventScript_SeviiDestinationsPage1
goto_if_ge VAR_MAP_SCENE_CINNABAR_ISLAND, 4, EventScript_ChooseDestFromTwoIslandVermilionAllowed
multichoice 19, 6, MULTICHOICE_ISLAND_13, FALSE
multichoice 19, 6, MULTI_ISLAND_13, FALSE
switch VAR_RESULT
case 0, EventScript_SailToOneIsland2
case 1, EventScript_SailToThreeIsland2
case 2, EventScript_CancelSail
case SCR_MENU_CANCEL, EventScript_CancelSail
case MULTI_B_PRESSED, EventScript_CancelSail
end
EventScript_ChooseDestFromTwoIslandVermilionAllowed::
multichoice 19, 5, MULTICHOICE_SEAGALLOP_V13, FALSE
multichoice 19, 5, MULTI_SEAGALLOP_V13, FALSE
switch VAR_RESULT
case 0, EventScript_SailToVermilion2
case 1, EventScript_SailToOneIsland2
case 2, EventScript_SailToThreeIsland2
case 3, EventScript_CancelSail
case SCR_MENU_CANCEL, EventScript_CancelSail
case MULTI_B_PRESSED, EventScript_CancelSail
end
EventScript_SailToVermilion2::
@ -64,22 +64,22 @@ EventScript_SailToThreeIsland2::
EventScript_ChooseDestFromIsland::
goto_if_ge VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5, EventScript_SeviiDestinationsPage1
goto_if_ge VAR_MAP_SCENE_CINNABAR_ISLAND, 4, EventScript_ChooseDestFromIslandVermilionAllowed
multichoice 19, 6, MULTICHOICE_ISLAND_12, FALSE
multichoice 19, 6, MULTI_ISLAND_12, FALSE
switch VAR_RESULT
case 0, EventScript_SailToOneIsland2
case 1, EventScript_SailToTwoIsland2
case 2, EventScript_CancelSail
case SCR_MENU_CANCEL, EventScript_CancelSail
case MULTI_B_PRESSED, EventScript_CancelSail
end
EventScript_ChooseDestFromIslandVermilionAllowed::
multichoice 19, 5, MULTICHOICE_SEAGALLOP_V12, FALSE
multichoice 19, 5, MULTI_SEAGALLOP_V12, FALSE
switch VAR_RESULT
case 0, EventScript_SailToVermilion2
case 1, EventScript_SailToOneIsland2
case 2, EventScript_SailToTwoIsland2
case 3, EventScript_CancelSail
case SCR_MENU_CANCEL, EventScript_CancelSail
case MULTI_B_PRESSED, EventScript_CancelSail
end
EventScript_SailToDest::
@ -139,7 +139,7 @@ EventScript_SeviiDestinationsPage1::
case SEAGALLOP_THREE_ISLAND, EventScript_SailToThreeIsland
case SEAGALLOP_FOUR_ISLAND, EventScript_SailToFourIsland
case SEAGALLOP_MORE, EventScript_SeviiDestinationsPage2
case SCR_MENU_CANCEL, EventScript_CancelSail
case MULTI_B_PRESSED, EventScript_CancelSail
end
EventScript_SeviiDestinationsPage2::
@ -153,7 +153,7 @@ EventScript_SeviiDestinationsPage2::
case SEAGALLOP_SIX_ISLAND, EventScript_SailToSixIsland
case SEAGALLOP_SEVEN_ISLAND, EventScript_SailToSevenIsland
case SEAGALLOP_MORE, EventScript_SeviiDestinationsPage1
case SCR_MENU_CANCEL, EventScript_CancelSail
case MULTI_B_PRESSED, EventScript_CancelSail
end
EventScript_SailToVermilionCity::

View File

@ -11,7 +11,7 @@ CeladonCity_GameCorner_EventScript_PhotoPrinter::
waitse
message CeladonCity_GameCorner_Text_ChoosePrintType
waitmessage
multichoice 21, 0, MULTICHOICE_TRAINER_CARD_ICON_TINT, TRUE
multichoice 21, 0, MULTI_TRAINER_CARD_ICON_TINT, TRUE
switch VAR_RESULT
case 0, CeladonCity_GameCorner_EventScript_PrintTypeNormal
case 1, CeladonCity_GameCorner_EventScript_PrintTypeBlack
@ -113,64 +113,64 @@ FourIsland_House2_EventScript_ChooseBrag::
end
FourIsland_House2_EventScript_ChooseBragHoF::
multichoice 15, 8, MULTICHOICE_HOF_QUIT, FALSE
multichoice 15, 8, MULTI_HOF_QUIT, FALSE
switch VAR_RESULT
case 0, FourIsland_House2_EventScript_BragHoF
case 1, FourIsland_House2_EventScript_QuitBrag
case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
case MULTI_B_PRESSED, FourIsland_House2_EventScript_QuitBrag
end
FourIsland_House2_EventScript_ChooseBragEggs::
multichoice 16, 8, MULTICHOICE_EGGS_QUIT, FALSE
multichoice 16, 8, MULTI_EGGS_QUIT, FALSE
switch VAR_RESULT
case 0, FourIsland_House2_EventScript_BragEggs
case 1, FourIsland_House2_EventScript_QuitBrag
case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
case MULTI_B_PRESSED, FourIsland_House2_EventScript_QuitBrag
end
FourIsland_House2_EventScript_ChooseBragLinkWins::
multichoice 15, 8, MULTICHOICE_VICTORIES_QUIT, FALSE
multichoice 15, 8, MULTI_VICTORIES_QUIT, FALSE
switch VAR_RESULT
case 0, FourIsland_House2_EventScript_BragLinkWins
case 1, FourIsland_House2_EventScript_QuitBrag
case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
case MULTI_B_PRESSED, FourIsland_House2_EventScript_QuitBrag
end
FourIsland_House2_EventScript_ChooseBragHoFEggs::
multichoice 15, 6, MULTICHOICE_HOF_EGGS_QUIT, FALSE
multichoice 15, 6, MULTI_HOF_EGGS_QUIT, FALSE
switch VAR_RESULT
case 0, FourIsland_House2_EventScript_BragHoF
case 1, FourIsland_House2_EventScript_BragEggs
case 2, FourIsland_House2_EventScript_QuitBrag
case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
case MULTI_B_PRESSED, FourIsland_House2_EventScript_QuitBrag
end
FourIsland_House2_EventScript_ChooseBragHoFLinkWins::
multichoice 15, 6, MULTICHOICE_HOF_VICTORIES_QUIT, FALSE
multichoice 15, 6, MULTI_HOF_VICTORIES_QUIT, FALSE
switch VAR_RESULT
case 0, FourIsland_House2_EventScript_BragHoF
case 1, FourIsland_House2_EventScript_BragLinkWins
case 2, FourIsland_House2_EventScript_QuitBrag
case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
case MULTI_B_PRESSED, FourIsland_House2_EventScript_QuitBrag
end
FourIsland_House2_EventScript_ChooseBragEggsLinkWins::
multichoice 15, 6, MULTICHOICE_EGGS_VICTORIES_QUIT, FALSE
multichoice 15, 6, MULTI_EGGS_VICTORIES_QUIT, FALSE
switch VAR_RESULT
case 0, FourIsland_House2_EventScript_BragEggs
case 1, FourIsland_House2_EventScript_BragLinkWins
case 2, FourIsland_House2_EventScript_QuitBrag
case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
case MULTI_B_PRESSED, FourIsland_House2_EventScript_QuitBrag
end
FourIsland_House2_EventScript_ChooseBragHofEggsLinkWins::
multichoice 15, 5, MULTICHOICE_HOF_EGGS_VICTORIES_QUIT, FALSE
multichoice 15, 5, MULTI_HOF_EGGS_VICTORIES_QUIT, FALSE
switch VAR_RESULT
case 0, FourIsland_House2_EventScript_BragHoF
case 1, FourIsland_House2_EventScript_BragEggs
case 2, FourIsland_House2_EventScript_BragLinkWins
case 3, FourIsland_House2_EventScript_QuitBrag
case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
case MULTI_B_PRESSED, FourIsland_House2_EventScript_QuitBrag
end
FourIsland_House2_EventScript_StickerManNothingToBrag::

View File

@ -263,7 +263,7 @@ gSpecials::
def_special NullFieldSpecial
def_special NullFieldSpecial
def_special NullFieldSpecial
def_special CreatePCMenu
def_special ScriptMenu_CreatePCMultichoice
def_special HallOfFamePCBeginFade
def_special ShowDiploma
def_special NullFieldSpecial @ Check lead mon Contest strength specials

View File

@ -1,7 +1,7 @@
Text_BootedUpPC::
.string "{PLAYER} booted up the PC.$"
Text_AccessWhichPC::
gText_WhichPCShouldBeAccessed::
.string "Which PC should be accessed?$"
Text_AccessedSomeonesPC::

View File

@ -0,0 +1,22 @@
#ifndef GUARD_CONSTANTS_FIELD_SPECIALS_H
#define GUARD_CONSTANTS_FIELD_SPECIALS_H
enum ScrollMulti
{
SCROLL_MULTI_BADGES,
SCROLL_MULTI_SILPHCO_FLOORS,
SCROLL_MULTI_BERRY_POWDER,
SCROLL_MULTI_BF_RECEPTIONIST,
SCROLL_MULTI_BF_MOVE_TUTOR_1,
SCROLL_MULTI_BF_MOVE_TUTOR_2,
SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1,
SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2,
SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR,
SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR,
SCROLL_MULTI_NONE = 99,
};
#define MAX_SCROLL_MULTI_ON_SCREEN 6
#define MAX_SCROLL_MULTI_LENGTH 16
#endif // GUARD_CONSTANTS_FIELD_SPECIALS_H

View File

@ -1,163 +1,33 @@
#ifndef GUARD_CONSTANTS_MENU_H
#define GUARD_CONSTANTS_MENU_H
#define MULTI_B_PRESSED 127
#define SCR_MENU_CANCEL 127
#define SCR_MENU_UNSET 255
#define MAX_MULTICHOICE_WIDTH 28
#define MULTI_YESNO 0
#define MULTICHOICE_EEVEELUTIONS 1
#define MULTICHOICE_TRAINER_CARD_ICON_TINT 2
#define MULTICHOICE_HOF_QUIT 3
#define MULTICHOICE_EGGS_QUIT 4
#define MULTICHOICE_VICTORIES_QUIT 5
#define MULTICHOICE_HOF_EGGS_QUIT 6
#define MULTICHOICE_HOF_VICTORIES_QUIT 7
#define MULTICHOICE_EGGS_VICTORIES_QUIT 8
#define MULTICHOICE_HOF_EGGS_VICTORIES_QUIT 9
#define MULTICHOICE_EXIT 10
#define MULTICHOICE_EXIT_2 11
#define MULTICHOICE_EXIT_3 12
#define MULTICHOICE_BIKE_SHOP 13
#define MULTICHOICE_GAME_CORNER_POKEMON_PRIZES 14
#define MULTICHOICE_TRAINER_SCHOOL_WHITEBOARD 15
#define MULTICHOICE_YES_NO_INFO 16
#define MULTICHOICE_SINGLE_DOUBLE_MULTI_INFO_EXIT 17
#define MULTICHOICE_YES_NO_INFO_2 18
#define MULTI_CHALLENGEINFO 19
#define MULTICHOICE_ROOFTOP_B1F 20
#define MULTICHOICE_HELIX 21
#define MULTICHOICE_DOME 22
#define MULTICHOICE_AMBER 23
#define MULTICHOICE_HELIX_AMBER 24
#define MULTICHOICE_DOME_AMBER 25
#define MULTICHOICE_CELADON_VENDING_MACHINE 26
#define MULTICHOICE_GAME_CORNER_COIN_PURCHASE_COUNTER 27
#define MULTICHOICE_EXCELLENT_NOT_SO_BAD 28
#define MULTICHOICE_RIGHT_LEFT 29
#define MULTICHOICE_GAME_CORNER_TMPRIZES 30
#define MULTICHOICE_DEPT_STORE_ELEVATOR 31
#define MULTICHOICE_THIRSTY_GIRL_FRESH_WATER 32
#define MULTICHOICE_THIRSTY_GIRL_SODA_POP 33
#define MULTICHOICE_THIRSTY_GIRL_FRESH_WATER_SODA_POP 34
#define MULTICHOICE_THIRSTY_GIRL_LEMONADE 35
#define MULTICHOICE_THIRSTY_GIRL_FRESH_WATER_LEMONADE 36
#define MULTICHOICE_THIRSTY_GIRL_SODA_POP_LEMONADE 37
#define MULTICHOICE_THIRSTY_GIRL_FRESH_WATER_SODA_POP_LEMONADE 38
#define MULTICHOICE_TRADE_CENTER_COLOSSEUM 39
#define MULTICHOICE_LINK_WIRELESS 40
#define MULTICHOICE_GAME_CORNER_BATTLE_ITEM_PRIZES 41
#define MULTICHOICE_ROCKET_HIDEOUT_ELEVATOR 42
#define MULTICHOICE_LINKED_DIRECT_UNION 43
#define MULTICHOICE_ISLAND_23 44
#define MULTICHOICE_ISLAND_13 45
#define MULTICHOICE_ISLAND_12 46
#define MULTICHOICE_TRADE_COLOSSEUM_CRUSH 47
#define MULTICHOICE_48 48
#define MULTICHOICE_POKEJUMP_DODRIO 49
#define MULTICHOICE_TRADE_COLOSSEUM_2 50
#define MULTICHOICE_MUSHROOMS 51
#define MULTICHOICE_TRADE_COLOSSEUM_BLANK_CRUSH 52
#define MULTICHOICE_TRADE_COLOSSEUM_BLANK 53
#define MULTICHOICE_SEVII_NAVEL 54
#define MULTICHOICE_SEVII_BIRTH 55
#define MULTICHOICE_SEVII_NAVEL_BIRTH 56
#define MULTICHOICE_SEAGALLOP_123 57
#define MULTICHOICE_SEAGALLOP_V23 58
#define MULTICHOICE_SEAGALLOP_V13 59
#define MULTICHOICE_SEAGALLOP_V12 60
#define MULTICHOICE_SEAGALLOP_VERMILION 61
#define MULTI_SSTIDAL_BATTLE_FRONTIER 62
#define MULTICHOICE_JOIN_OR_LEAD 63
#define MULTICHOICE_TRAINER_TOWER_MODE 64
#define MULTI_FRONTIER_RULES 65
#define MULTI_FRONTIER_PASS_INFO 66
#define MULTI_FRONTIER_GAMBLER_BET 67
#define MULTI_LEVEL_MODE 68
#define MULTI_BATTLE_FACTORY_RULES 69
#define MULTI_GO_ON_RECORD_REST_RETIRE 70
#define MULTI_GO_ON_REST_RETIRE 71
#define MULTI_GO_ON_RECORD_RETIRE 72
#define MULTI_GO_ON_RETIRE 73
#define MULTI_BATTLE_ARENA_RULES 74
#define MULTI_BATTLE_DOME_RULES 75
#define MULTI_TOURNEY_WITH_RECORD 76
#define MULTI_TOURNEY_NO_RECORD 77
#define MULTI_BATTLE_PALACE_RULES 78
#define MULTI_BATTLE_PYRAMID_RULES 79
#define MULTI_BATTLE_PIKE_RULES 80
#define MULTI_FRONTIER_ITEM_CHOOSE 81
#define MULTI_BATTLE_TOWER_RULES 82
#define MULTI_BATTLE_TOWER_FEELINGS 83
#define MULTI_LINK_LEADER 84
#define MULTI_SATISFACTION 85
#define MULTICHOICE_NONE 255
enum ScrollMulti
// Std String Ids
enum StdStringID
{
LISTMENU_BADGES,
LISTMENU_SILPHCO_FLOORS,
LISTMENU_ROCKET_HIDEOUT_FLOORS,
LISTMENU_DEPT_STORE_FLOORS,
LISTMENU_WIRELESS_LECTURE_HEADERS,
LISTMENU_BERRY_POWDER,
LISTMENU_TRAINER_TOWER_FLOORS,
SCROLL_MULTI_BF_RECEPTIONIST,
SCROLL_MULTI_BF_MOVE_TUTOR_1,
SCROLL_MULTI_BF_MOVE_TUTOR_2,
SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1,
SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2,
SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR,
SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR,
SCROLL_MULTI_NONE = 99,
STDSTRING_BOULDER_BADGE,
STDSTRING_CASCADE_BADGE,
STDSTRING_THUNDER_BADGE,
STDSTRING_RAINBOW_BADGE,
STDSTRING_SOUL_BADGE,
STDSTRING_MARSH_BADGE,
STDSTRING_VOLCANO_BADGE,
STDSTRING_EARTH_BADGE,
STDSTRING_COINS,
STDSTRING_ITEMS_POCKET,
STDSTRING_KEY_ITEMS_POCKET,
STDSTRING_POKEBALLS_POCKET,
STDSTRING_TM_CASE,
STDSTRING_BERRY_POUCH,
STDSTRING_SINGLE,
STDSTRING_DOUBLE,
STDSTRING_MULTI,
STDSTRING_MULTI_LINK,
STDSTRING_BATTLE_DOME,
STDSTRING_BATTLE_FACTORY,
STDSTRING_BATTLE_PALACE,
STDSTRING_BATTLE_ARENA,
STDSTRING_BATTLE_PIKE,
STDSTRING_BATTLE_PYRAMID,
};
#define MAX_SCROLL_MULTI_ON_SCREEN 6
#define MAX_SCROLL_MULTI_LENGTH 16
// Std String Ids
#define STDSTRING_COOL 0
#define STDSTRING_BEAUTY 1
#define STDSTRING_CUTE 2
#define STDSTRING_SMART 3
#define STDSTRING_TOUGH 4
#define STDSTRING_COOL2 5
#define STDSTRING_BEAUTY2 6
#define STDSTRING_CUTE2 7
#define STDSTRING_SMART2 8
#define STDSTRING_TOUGH2 9
#define STDSTRING_ITEMS 10
#define STDSTRING_KEY_ITEMS 11
#define STDSTRING_POKEBALLS 12
#define STDSTRING_TMHMS 13
#define STDSTRING_BERRIES 14
#define STDSTRING_BOULDER_BADGE 15
#define STDSTRING_CASCADE_BADGE 16
#define STDSTRING_THUNDER_BADGE 17
#define STDSTRING_RAINBOW_BADGE 18
#define STDSTRING_SOUL_BADGE 19
#define STDSTRING_MARSH_BADGE 20
#define STDSTRING_VOLCANO_BADGE 21
#define STDSTRING_EARTH_BADGE 22
#define STDSTRING_COINS 23
#define STDSTRING_ITEMS_POCKET 24
#define STDSTRING_KEY_ITEMS_POCKET 25
#define STDSTRING_POKEBALLS_POCKET 26
#define STDSTRING_TM_CASE 27
#define STDSTRING_BERRY_POUCH 28
#define STDSTRING_SINGLE 29
#define STDSTRING_DOUBLE 30
#define STDSTRING_MULTI 31
#define STDSTRING_MULTI_LINK 32
#define STDSTRING_BATTLE_DOME 33
#define STDSTRING_BATTLE_FACTORY 34
#define STDSTRING_BATTLE_PALACE 35
#define STDSTRING_BATTLE_ARENA 36
#define STDSTRING_BATTLE_PIKE 37
#define STDSTRING_BATTLE_PYRAMID 38
#endif //GUARD_CONSTANTS_MENU_H

View File

@ -1,6 +1,96 @@
#ifndef GUARD_SCRIPT_MENU_CONSTANTS_H
#define GUARD_SCRIPT_MENU_CONSTANTS_H
#define MULTICHOICE(name) {.list = name, .count = ARRAY_COUNT(name)}
#define MAX_MULTICHOICE_WIDTH 28
#define MULTI_B_PRESSED 127
#define SCR_MENU_UNSET 255
// Multichoice Ids
enum MultichoiceID
{
MULTI_YESNO,
MULTI_EEVEELUTIONS,
MULTI_TRAINER_CARD_ICON_TINT,
MULTI_HOF_QUIT,
MULTI_EGGS_QUIT,
MULTI_VICTORIES_QUIT,
MULTI_HOF_EGGS_QUIT,
MULTI_HOF_VICTORIES_QUIT,
MULTI_EGGS_VICTORIES_QUIT,
MULTI_HOF_EGGS_VICTORIES_QUIT,
MULTI_BIKE_SHOP,
MULTI_GAME_CORNER_POKEMON_PRIZES,
MULTI_TRAINER_SCHOOL_WHITEBOARD,
MULTI_YES_NO_INFO,
MULTI_SINGLE_DOUBLE_MULTI_INFO_EXIT,
MULTI_CHALLENGEINFO,
MULTI_ROOFTOP_B1F,
MULTI_HELIX,
MULTI_DOME,
MULTI_AMBER,
MULTI_HELIX_AMBER,
MULTI_DOME_AMBER,
MULTI_CELADON_VENDING_MACHINE,
MULTI_GAME_CORNER_COIN_PURCHASE_COUNTER,
MULTI_GAME_CORNER_TMPRIZES,
MULTI_DEPT_STORE_ELEVATOR,
MULTI_THIRSTY_GIRL_FRESH_WATER,
MULTI_THIRSTY_GIRL_SODA_POP,
MULTI_THIRSTY_GIRL_FRESH_WATER_SODA_POP,
MULTI_THIRSTY_GIRL_LEMONADE,
MULTI_THIRSTY_GIRL_FRESH_WATER_LEMONADE,
MULTI_THIRSTY_GIRL_SODA_POP_LEMONADE,
MULTI_THIRSTY_GIRL_FRESH_WATER_SODA_POP_LEMONADE,
MULTI_TRADE_CENTER_COLOSSEUM,
MULTI_GAME_CORNER_BATTLE_ITEM_PRIZES,
MULTI_ROCKET_HIDEOUT_ELEVATOR,
MULTI_LINKED_DIRECT_UNION,
MULTI_ISLAND_23,
MULTI_ISLAND_13,
MULTI_ISLAND_12,
MULTI_TRADE_COLOSSEUM_CRUSH,
MULTI_POKEJUMP_DODRIO,
MULTI_TRADE_COLOSSEUM_2,
MULTI_MUSHROOMS,
MULTI_SEVII_NAVEL,
MULTI_SEVII_BIRTH,
MULTI_SEVII_NAVEL_BIRTH,
MULTI_SEAGALLOP_123,
MULTI_SEAGALLOP_V23,
MULTI_SEAGALLOP_V13,
MULTI_SEAGALLOP_V12,
MULTI_SEAGALLOP_VERMILION,
MULTI_JOIN_OR_LEAD,
MULTI_TRAINER_TOWER_MODE,
MULTI_FRONTIER_RULES,
MULTI_FRONTIER_PASS_INFO,
MULTI_FRONTIER_GAMBLER_BET,
MULTI_LEVEL_MODE,
MULTI_BATTLE_FACTORY_RULES,
MULTI_GO_ON_RECORD_REST_RETIRE,
MULTI_GO_ON_REST_RETIRE,
MULTI_GO_ON_RECORD_RETIRE,
MULTI_GO_ON_RETIRE,
MULTI_BATTLE_ARENA_RULES,
MULTI_BATTLE_DOME_RULES,
MULTI_TOURNEY_WITH_RECORD,
MULTI_TOURNEY_NO_RECORD,
MULTI_BATTLE_PALACE_RULES,
MULTI_BATTLE_PYRAMID_RULES,
MULTI_BATTLE_PIKE_RULES,
MULTI_FRONTIER_ITEM_CHOOSE,
MULTI_BATTLE_TOWER_RULES,
MULTI_BATTLE_TOWER_FEELINGS,
MULTI_LINK_LEADER,
MULTI_SATISFACTION,
MULTI_NONE = 255,
};
// Dynamic Multichoice Callbacks
#define DYN_MULTICHOICE_CB_DEBUG 0

View File

@ -59,7 +59,7 @@ void ListMenuLoadStdPalAt(u8 palOffset, u8 palId);
void BlitMenuInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y);
// menu
s8 Menu_ProcessInputGridLayout(void);
s8 Menu_ProcessGridInput(void);
u8 MultichoiceGrid_InitCursor(u8 windowId, u8 fontId, u8 left, u8 top, u8 optionWidth, u8 cols, u8 rows, u8 cursorPos);
void MultichoiceGrid_PrintItems(u8 windowId, u8 fontId, u8 itemWidth, u8 itemHeight, u8 cols, u8 rows, const struct MenuAction *strs);
void DestroyYesNoMenu(void);

View File

@ -6,16 +6,14 @@
#include "menu.h"
#include "constants/script_menu.h"
#define MULTI_B_PRESSED 127
// The default size the stack for dynamic multichoice is initialized to
// If you try to push an element when the stack is full, it will be reallocated
// With increasing capacity of MULTICHOICE_DYNAMIC_STACK_INC
// With increasing capacity of MULTI_DYNAMIC_STACK_INC
#define MULTICHOICE_DYNAMIC_STACK_SIZE 5
#define MULTICHOICE_DYNAMIC_STACK_INC 5
#define MULTI_DYNAMIC_STACK_SIZE 5
#define MULTI_DYNAMIC_STACK_INC 5
extern const u8 *const gStdStringPtrs[];
extern const u8 *const gStdStrings[];
struct DynamicMultichoiceStack
{
@ -24,34 +22,30 @@ struct DynamicMultichoiceStack
struct ListMenuItem *elements;
};
void MultichoiceDynamic_InitStack(u32 capacity);
void MultichoiceDynamic_ReallocStack(u32 newCapacity);
bool32 MultichoiceDynamic_StackFull(void);
bool32 MultichoiceDynamic_StackEmpty(void);
u32 MultichoiceDynamic_StackSize(void);
void MultichoiceDynamic_PushElement(struct ListMenuItem item);
struct ListMenuItem *MultichoiceDynamic_PopElement(void);
struct ListMenuItem *MultichoiceDynamic_PeekElement(void);
struct ListMenuItem *MultichoiceDynamic_PeekElementAt(u32 index);
void MultichoiceDynamic_DestroyStack(void);
bool8 ScriptMenu_MultichoiceDynamic(u8 left, u8 top, u8 argc, struct ListMenuItem *items, bool8 ignoreBPress, u8 maxBeforeScroll, u32 initialRow, u32 callbackSet);
bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress);
bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 defaultChoice);
void DrawMultichoiceMenuInternal(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos, const struct MenuAction *actions, int count);
bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 var3, u8 var4);
bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 var3, u8 var4, u8 var5);
bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount);
bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
bool8 CreatePCMenu(void);
void ScriptMenu_DisplayPCStartupPrompt(void);
int ConvertPixelWidthToTileWidth(int width);
bool32 MultichoiceDynamic_StackFull(void);
bool32 ScriptMenu_CreatePCMultichoice(void);
bool32 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, enum MultichoiceID multichoiceId, bool32 ignoreBPress, u8 defaultChoice);
bool8 (*ScriptMenu_HidePokemonPic(void))(void);
void QL_DestroyAbortedDisplay(void);
void PicboxCancel(void);
bool8 ScriptMenu_Multichoice(u8 left, u8 top, enum MultichoiceID multichoiceId, bool8 ignoreBPress);
bool8 ScriptMenu_MultichoiceDynamic(u8 left, u8 top, u8 argc, struct ListMenuItem *items, bool8 ignoreBPress, u8 maxBeforeScroll, u32 initialRow, u32 callbackSet);
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, enum MultichoiceID multichoiceId, bool8 ignoreBpress, u8 columnCount);
bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
int ConvertPixelWidthToTileWidth(int width);
int DisplayTextAndGetWidth(const u8 *str, int width);
int ScriptMenu_AdjustLeftCoordFromWidth(int left, int width);
struct ListMenuItem *MultichoiceDynamic_PeekElement(void);
struct ListMenuItem *MultichoiceDynamic_PeekElementAt(u32 index);
struct ListMenuItem *MultichoiceDynamic_PopElement(void);
u32 MultichoiceDynamic_StackSize(void);
void DrawMultichoiceMenuInternal(u8 left, u8 top, enum MultichoiceID multichoiceId, bool8 ignoreBPress, u8 cursorPos, const struct MenuAction *actions, int count);
void MultichoiceDynamic_DestroyStack(void);
void MultichoiceDynamic_InitStack(u32 capacity);
void MultichoiceDynamic_PushElement(struct ListMenuItem item);
void MultichoiceDynamic_ReallocStack(u32 newCapacity);
void PicboxCancel(void);
void QL_DestroyAbortedDisplay(void);
void ScriptMenu_DisplayPCStartupPrompt(void);
#endif //GUARD_SCRIPT_MENU_H

View File

@ -14,11 +14,6 @@ extern const u8 gText_Lv50[];
extern const u8 gText_OpenLevel[];
extern const u8 gText_Mom[];
extern const u8 gText_Dad[];
extern const u8 gText_Cool[];
extern const u8 gText_Beauty[];
extern const u8 gText_Cute[];
extern const u8 gText_Smart[];
extern const u8 gText_Tough[];
extern const u8 gText_Single[];
extern const u8 gText_Double[];
extern const u8 gText_Spicy2[];
@ -26,7 +21,6 @@ extern const u8 gText_Dry2[];
extern const u8 gText_Sweet2[];
extern const u8 gText_Bitter2[];
extern const u8 gText_Sour2[];
extern const u8 gText_Excellent[];
extern const u8 gText_VeryGood[];
extern const u8 gText_Good[];
extern const u8 gText_SoSo[];
@ -84,7 +78,6 @@ extern const u8 gText_Confirm3[];
extern const u8 gText_Cancel4[];
extern const u8 gText_IsThisTheCorrectTime[];
extern const u8 gText_PkmnFainted_FldPsn[];
extern const u8 gText_Coins[];
extern const u8 gText_EggNickname[];
extern const u8 gText_MenuPokemon[];
@ -638,7 +631,6 @@ extern const u8 gText_MenuSave[];
extern const u8 gText_MenuOption[];
extern const u8 gText_MenuExit[];
extern const u8 gText_MenuRetire[];
extern const u8 gText_MenuRest[];
extern const u8 gText_MenuSafariStats[];
extern const u8 gText_MenuDexNav[];
extern const u8 gText_Floor1[];
@ -707,10 +699,6 @@ extern const u8 gText_SoulBadge[];
extern const u8 gText_MarshBadge[];
extern const u8 gText_VolcanoBadge[];
extern const u8 gText_EarthBadge[];
extern const u8 gText_LinkedGamePlay[];
extern const u8 gText_DirectCorner[];
extern const u8 gText_UnionRoom[];
extern const u8 gOtherText_Quit[];
extern const u8 gText_Energypowder_50[];
extern const u8 gText_EnergyRoot_80[];
extern const u8 gText_HealPowder_50[];
@ -724,11 +712,10 @@ extern const u8 gText_HpUp_1000[];
extern const u8 gText_PpUp_3000[];
// script_menu
extern const u8 Text_AccessWhichPC[];
extern const u8 gText_WhichPCShouldBeAccessed[];
extern const u8 gText_SomeoneSPc[];
extern const u8 gText_BillSPc[];
extern const u8 gText_SPc[];
extern const u8 gText_HallOfFame_2[];
extern const u8 gText_LogOff[];
extern const u8 gText_ProfOakSPc[];
extern const u8 gText_Other[];
@ -737,10 +724,7 @@ extern const u8 gOtherText_Knockout[];
extern const u8 gOtherText_Mixed[];
extern const u8 gOtherText_Single[];
extern const u8 gText_Info[];
extern const u8 gText_Eggs[];
extern const u8 gText_HallOfFame[];
extern const u8 gText_Victories[];
extern const u8 gText_Quit[];
extern const u8 gText_Psn[];
extern const u8 gText_Par[];
extern const u8 gText_Slp[];
@ -751,116 +735,14 @@ extern const u8 gText_No[];
extern const u8 gText_SingleBattle[];
extern const u8 gText_DoubleBattle[];
extern const u8 gText_MultiBattle[];
extern const u8 gText_MakeAChallenge[];
extern const u8 gText_Info_2[];
extern const u8 gText_FreshWater_200[];
extern const u8 gText_SodaPop_300[];
extern const u8 gText_Lemonade_350[];
extern const u8 gText_50Coins_1000[];
extern const u8 gText_500Coins_10000[];
extern const u8 gText_Excellent[];
extern const u8 gText_NotSoBad[];
extern const u8 gText_RedShard[];
extern const u8 gText_YellowShard[];
extern const u8 gText_BlueShard[];
extern const u8 gText_GreenShard[];
extern const u8 gText_Right[];
extern const u8 gText_Left[];
extern const u8 gText_Tm13_4000Coins[];
extern const u8 gText_Tm23_3500Coins[];
extern const u8 gText_Tm24_4000Coins[];
extern const u8 gText_Tm30_4500Coins[];
extern const u8 gText_Tm35_4000Coins[];
extern const u8 gText_1F_2[];
extern const u8 gText_2F_2[];
extern const u8 gText_3F_2[];
extern const u8 gText_4F_2[];
extern const u8 gText_5F_2[];
extern const u8 gText_Normal[];
extern const u8 gText_Black[];
extern const u8 gText_Pink[];
extern const u8 gText_Sepia[];
extern const u8 gText_Eevee[];
extern const u8 gText_Flareon[];
extern const u8 gText_Jolteon[];
extern const u8 gText_Vaporeon[];
extern const u8 gText_QuitLooking[];
extern const u8 gText_FreshWater[];
extern const u8 gText_SodaPop[];
extern const u8 gText_Lemonade[];
extern const u8 gText_Bicycle_Price[];
extern const u8 gText_NoThanks[];
extern const u8 gText_Abra_180Coins[];
extern const u8 gText_Clefairy_500Coins[];
extern const u8 gText_Dratini_2800Coins[];
extern const u8 gText_Scyther_5500Coins[];
extern const u8 gText_Porygon_9999Coins[];
extern const u8 gText_Abra_120Coins[];
extern const u8 gText_Clefairy_750Coins[];
extern const u8 gText_Pinsir_2500Coins[];
extern const u8 gText_Dratini_4600Coins[];
extern const u8 gText_Porygon_6500Coins[];
extern const u8 gText_NoThanks_2[];
extern const u8 gText_HelixFossil[];
extern const u8 gText_DomeFossil[];
extern const u8 gText_OldAmber[];
extern const u8 gText_TradeCenter[];
extern const u8 gText_Colosseum[];
extern const u8 gText_GameLinkCable[];
extern const u8 gText_Wireless[];
extern const u8 gText_OneIsland[];
extern const u8 gText_TwoIsland[];
extern const u8 gText_ThreeIsland[];
extern const u8 gText_Vermilion[];
extern const u8 gText_Colosseum_2[];
extern const u8 gText_BerryCrush[];
extern const u8 gText_EmptyLinkService1[];
extern const u8 gText_EmptyLinkService2[];
extern const u8 gText_RecordCorner[];
extern const u8 gText_PokemonJump[];
extern const u8 gText_DodrioBerryPicking[];
extern const u8 gText_2Tinymushrooms[];
extern const u8 gText_1BigMushroom[];
extern const u8 gText_SeviiIslands[];
extern const u8 gText_NavelRock[];
extern const u8 gText_BirthIsland[];
extern const u8 gText_MiracleSeed_1000Coins[];
extern const u8 gText_Charcoal_1000Coins[];
extern const u8 gText_MysticWater_1000Coins[];
extern const u8 gText_YellowFlute_1600Coins[];
extern const u8 gText_SmokeBall_800Coins[];
extern const u8 gText_Multichoice_Empty1[];
extern const u8 gText_Multichoice_Empty2[];
extern const u8 gText_BecomeLeader[];
extern const u8 gText_JoinGroup[];
extern const u8 gText_Cool_2[];
extern const u8 gText_Beauty_2[];
extern const u8 gText_Cute_2[];
extern const u8 gText_Smart_2[];
extern const u8 gText_Tough_2[];
extern const u8 gText_Items[];
extern const u8 gText_KeyItems[];
extern const u8 gText_PokeBalls[];
extern const u8 gText_TMsAndHMs[];
extern const u8 gText_Berries[];
extern const u8 gText_Boulderbadge[];
extern const u8 gText_Cascadebadge[];
extern const u8 gText_Thunderbadge[];
extern const u8 gText_Rainbowbadge[];
extern const u8 gText_Soulbadge[];
extern const u8 gText_Marshbadge[];
extern const u8 gText_Volcanobadge[];
extern const u8 gText_Earthbadge[];
extern const u8 gText_Coins_2[];
extern const u8 gText_ItemsPocket[];
extern const u8 gText_KeyItemsPocket[];
extern const u8 gText_PokeBallsPocket[];
extern const u8 gText_TmCase[];
extern const u8 gText_BerryPouch_2[];
extern const u8 gText_FourIsland[];
extern const u8 gText_FiveIsland[];
extern const u8 gText_SixIsland[];
extern const u8 gText_SevenIsland[];
extern const u8 gText_Coins[];
// trade
extern const u8 gText_IsThisTradeOkay[];
@ -940,9 +822,6 @@ extern const u8 gText_GiveUpTryingToTeachNewMove[];
// pokemon_size_record
extern const u8 gText_DecimalPoint[];
// map_name_popup
extern const u8 gText_Rooftop2[];
// option menu
extern const u8 gText_TextSpeed[];
extern const u8 gText_BattleScene[];
@ -1067,7 +946,6 @@ extern const u8 gText_Var1sTrainerCard[];
extern const u8 gText_HallOfFameDebut[];
extern const u8 gText_WinLossRatio[];
extern const u8 gText_PokemonTrades[];
extern const u8 gText_BerryCrushes[];
extern const u8 gText_UnionRoomTradesBattles[];
extern const u8 gText_LinkBattles[];
extern const u8 gText_LinkCableBattles[];
@ -1236,7 +1114,6 @@ extern const u8 gText_TimesPerSec[];
extern const u8 gText_Var1Percent[];
extern const u8 gText_PressesRankings[];
extern const u8 gText_CrushingResults[];
extern const u8 gText_BerryCrush2[];
extern const u8 gText_PressingSpeedRankings[];
extern const u8 gText_Var1Players[];
extern const u8 gText_NeatnessRankings[];
@ -1457,7 +1334,6 @@ extern const u8 gPCText_Take[];
extern const u8 gPCText_Give[];
extern const u8 gPCText_Switch[];
extern const u8 gPCText_Bag[];
extern const u8 gPCText_Info[];
extern const u8 gPCText_Scenery1[];
extern const u8 gPCText_Scenery2[];
extern const u8 gPCText_Scenery3[];
@ -1843,22 +1719,7 @@ extern const u8 gText_PkmnForSwap[];
extern const u8 gText_SamePkmnInPartyAlready[];
extern const u8 gText_Cancel3[];
extern const u8 gText_BattleRules[];
extern const u8 gText_JudgeMind[];
extern const u8 gText_JudgeSkill[];
extern const u8 gText_JudgeBody[];
extern const u8 gText_BasicRules[];
extern const u8 gText_SwapPartners[];
extern const u8 gText_SwapNumber[];
extern const u8 gText_SwapNotes[];
extern const u8 gText_GoOn[];
extern const u8 gText_Record2[];
extern const u8 gText_Rest[];
extern const u8 gText_Retire[];
extern const u8 gText_Opponent[];
extern const u8 gText_Tourney_Tree[];
extern const u8 gText_ReadyToStart[];
// Frontier records
extern const u8 gText_WinStreak[];
@ -1913,11 +1774,6 @@ extern const u8 gText_Body[];
extern const u8 gText_Judgment[];
extern const u8 gText_BattleTrainers[];
extern const u8 gText_BattleBasics[];
extern const u8 gText_PokemonNature[];
extern const u8 gText_PokemonMoves[];
extern const u8 gText_Underpowered[];
extern const u8 gText_WhenInDanger[];
extern const u8 *const gPyramidBagMenu_ReturnToStrings[];
extern const u8 gText_ReturnToVar1[];

View File

@ -89,18 +89,12 @@ extern const u8 gText_UR_Chat2[];
extern const u8 gText_UR_Greetings[];
extern const u8 gText_UR_Exit[];
extern const u8 gText_UR_Exit2[];
extern const u8 gText_UR_Info[];
extern const u8 gText_UR_NameWantedOfferLv[];
extern const u8 gText_UR_SingleBattle[];
extern const u8 gText_UR_DoubleBattle[];
extern const u8 gText_UR_MultiBattle[];
extern const u8 gText_UR_PokemonTrades[];
extern const u8 gText_UR_Chat[];
extern const u8 gText_UR_WonderCards[];
extern const u8 gText_UR_WonderNews[];
extern const u8 gText_UR_Cards[];
extern const u8 gText_UR_PokemonJump[];
extern const u8 gText_UR_BerryCrush[];
extern const u8 gText_UR_BerryPicking[];
extern const u8 gText_UR_Search[];
extern const u8 gText_UR_SpinTrade[];

View File

@ -1 +1 @@
0e33092e59da13dd06aa0ab1ef4dbb6bba09f69a pokefirered.gba
49fdbe54f6210557e18ca3b3df0f6fb9bdf756ac pokefirered.gba

View File

@ -3109,7 +3109,7 @@ static void Task_ShowBerryCrushRankings(u8 taskId)
DrawStdFrameWithCustomTileAndPalette(tWindowId, 0, 0x21D, 13);
break;
case 1:
xPos = 96 - GetStringWidth(FONT_NORMAL, gText_BerryCrush2, -1) / 2u;
xPos = 96 - GetStringWidth(FONT_NORMAL, gText_BerryCrush, -1) / 2u;
AddTextPrinterParameterized3(
tWindowId,
FONT_NORMAL,
@ -3117,7 +3117,7 @@ static void Task_ShowBerryCrushRankings(u8 taskId)
2,
sBerryCrushTextColorTable[COLORID_BLUE],
0,
gText_BerryCrush2
gText_BerryCrush
);
xPos = 96 - GetStringWidth(FONT_NORMAL, gText_PressingSpeedRankings, -1) / 2u;
AddTextPrinterParameterized3(

View File

@ -8,6 +8,8 @@
EWRAM_DATA static u8 sCoinsWindowId = 0;
const u8 sText_XCoins[] = _("{STR_VAR_1} COINS");
u16 GetCoins(void)
{
return gSaveBlock1Ptr->coins;
@ -55,7 +57,7 @@ void PrintCoinsString(u32 coinAmount)
int width;
ConvertIntToDecimalStringN(gStringVar1, coinAmount, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gText_Coins);
StringExpandPlaceholders(gStringVar4, sText_XCoins);
width = GetStringWidth(FONT_SMALL, gStringVar4, 0);
windowId = sCoinsWindowId;
AddTextPrinterParameterized(windowId, FONT_SMALL, gStringVar4, 64 - width, 0xC, 0, NULL);
@ -71,7 +73,7 @@ void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y)
PutWindowTilemap(sCoinsWindowId);
LoadStdWindowGfx(sCoinsWindowId, 0x21D, BG_PLTT_ID(13));
DrawStdFrameWithCustomTileAndPalette(sCoinsWindowId, FALSE, 0x21D, 13);
AddTextPrinterParameterized(sCoinsWindowId, FONT_NORMAL, gText_Coins_2, 0, 0, 0xFF, 0);
AddTextPrinterParameterized(sCoinsWindowId, FONT_NORMAL, gText_Coins, 0, 0, 0xFF, 0);
PrintCoinsString(coinAmount);
}

View File

@ -8,7 +8,6 @@ static const u8 sEasyChatWord_Mc[] = _("MC");
static const u8 sEasyChatWord_Judge[] = _("JUDGE");
static const u8 sEasyChatWord_Super[] = _("SUPER");
static const u8 sEasyChatWord_Stage[] = _("STAGE");
static const u8 sEasyChatWord_HallOfFame[] = _("HALL OF FAME");
static const u8 sEasyChatWord_Evolution[] = _("EVOLUTION");
static const u8 sEasyChatWord_Hyper[] = _("HYPER");
static const u8 sEasyChatWord_BattleTower[] = _("BATTLE TOWER");
@ -75,7 +74,7 @@ static const struct EasyChatWordInfo sEasyChatGroup_Events[] = {
.enabled = TRUE
},
{
.text = sEasyChatWord_HallOfFame,
.text = gText_HallOfFame,
.alphabeticalOrder = 10,
.enabled = TRUE
},

View File

@ -1,15 +1,15 @@
static const u8 *const sLinkGroupActivityNameTexts[] = {
[ACTIVITY_NONE] = gText_UR_EmptyString,
[ACTIVITY_BATTLE_SINGLE] = gText_UR_SingleBattle,
[ACTIVITY_BATTLE_DOUBLE] = gText_UR_DoubleBattle,
[ACTIVITY_BATTLE_MULTI] = gText_UR_MultiBattle,
[ACTIVITY_BATTLE_SINGLE] = gText_SingleBattle,
[ACTIVITY_BATTLE_DOUBLE] = gText_DoubleBattle,
[ACTIVITY_BATTLE_MULTI] = gText_MultiBattle,
[ACTIVITY_TRADE] = gText_UR_PokemonTrades,
[ACTIVITY_CHAT] = gText_UR_Chat,
[ACTIVITY_WONDER_CARD_DUP] = gText_UR_WonderCards,
[ACTIVITY_WONDER_NEWS_DUP] = gText_UR_WonderNews,
[ACTIVITY_CARD] = gText_UR_Cards,
[ACTIVITY_POKEMON_JUMP] = gText_UR_PokemonJump,
[ACTIVITY_BERRY_CRUSH] = gText_UR_BerryCrush,
[ACTIVITY_POKEMON_JUMP] = gText_PokemonJump,
[ACTIVITY_BERRY_CRUSH] = gText_BerryCrush,
[ACTIVITY_BERRY_PICK] = gText_UR_BerryPicking,
[ACTIVITY_SEARCH] = gText_UR_Search,
[ACTIVITY_SPIN_TRADE] = gText_UR_SpinTrade,
@ -216,7 +216,7 @@ static const struct WindowTemplate sWindowTemplate_RegisterForTrade = {
static const struct ListMenuItem sListMenuItems_RegisterForTrade[] = {
{gText_Register, 1},
{gText_UR_Info, 2},
{gText_Info, 2},
{gText_UR_Exit, 3}
};

View File

@ -53,6 +53,7 @@
#include "constants/battle_pyramid.h"
#include "constants/battle_tower.h"
#include "constants/event_objects.h"
#include "constants/field_specials.h"
#include "constants/items.h"
#include "constants/maps.h"
#include "constants/menu.h"
@ -129,6 +130,144 @@ static u8 *const sStringVarPtrs[] = {
gStringVar3
};
static const u8 *const sScrollMultiLabels_Badges[] =
{
gText_BoulderBadge,
gText_CascadeBadge,
gText_ThunderBadge,
gText_RainbowBadge,
gText_SoulBadge,
gText_MarshBadge,
gText_VolcanoBadge,
gText_EarthBadge,
gOtherText_Exit,
};
static const u8 *const sScrollMultiLabels_SilphCoFloors[] =
{
gText_11F,
gText_10F,
gText_9F,
gText_8F,
gText_7F,
gText_6F,
gText_5F,
gText_4F,
gText_3F,
gText_2F,
gText_1F,
gOtherText_Exit,
};
static const u8 *const sScrollMultiLabels_BerryPowder[] =
{
gText_Energypowder_50,
gText_EnergyRoot_80,
gText_HealPowder_50,
gText_RevivalHerb_300,
gText_Protein_1000,
gText_Iron_1000,
gText_Carbos_1000,
gText_Calcium_1000,
gText_Zinc_1000,
gText_HpUp_1000,
gText_PpUp_3000,
gOtherText_Exit,
};
static const u8 *const sScrollMultiLabels_BFReceptionist[] =
{
gText_BattleTower2,
gText_BattleDome,
gText_BattlePalace,
gText_BattleArena,
gText_BattleFactory,
gText_BattlePike,
gText_BattlePyramid,
gText_RankingHall,
gText_ExchangeService,
gText_Exit
};
static const u8 *const sScrollMultiLabels_BFMoveTutor1[] =
{
COMPOUND_STRING("SOFTBOILED{CLEAR_TO 0x4E}16BP"),
COMPOUND_STRING("SEISMIC TOSS{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("DREAM EATER{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("MEGA PUNCH{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("MEGA KICK{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("BODY SLAM{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("ROCK SLIDE{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("COUNTER{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("THUNDER WAVE{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("SWORDS DANCE{CLEAR_TO 0x4E}48BP"),
gText_Exit
};
static const u8 *const sScrollMultiLabels_BFMoveTutor2[] =
{
COMPOUND_STRING("DEFENSE CURL{CLEAR_TO 0x4E}16BP"),
COMPOUND_STRING("SNORE{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("MUD-SLAP{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("SWIFT{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("ICY WIND{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("ENDURE{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("PSYCH UP{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("ICE PUNCH{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("THUNDERPUNCH{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("FIRE PUNCH{CLEAR_TO 0x4E}48BP"),
gText_Exit
};
static const u8 *const sScrollMultiLabels_BFDecorVendor1[] =
{
gText_Exit
};
static const u8 *const sScrollMultiLabels_BFDecorVendor2[] =
{
gText_Exit
};
static const u8 *const sScrollMultiLabels_BFVitaminVendor[] =
{
COMPOUND_STRING("PROTEIN{CLEAR_TO 0x64}1BP"),
COMPOUND_STRING("CALCIUM{CLEAR_TO 0x64}1BP"),
COMPOUND_STRING("IRON{CLEAR_TO 0x64}1BP"),
COMPOUND_STRING("ZINC{CLEAR_TO 0x64}1BP"),
COMPOUND_STRING("CARBOS{CLEAR_TO 0x64}1BP"),
COMPOUND_STRING("HP UP{CLEAR_TO 0x64}1BP"),
gText_Exit
};
static const u8 *const sScrollMultiLabels_BFItemVendor[] =
{
COMPOUND_STRING("LEFTOVERS{CLEAR_TO 0x5E}48BP"),
COMPOUND_STRING("WHITE HERB{CLEAR_TO 0x5E}48BP"),
COMPOUND_STRING("QUICK CLAW{CLEAR_TO 0x5E}48BP"),
COMPOUND_STRING("MENTAL HERB{CLEAR_TO 0x5E}48BP"),
COMPOUND_STRING("BRIGHTPOWDER{CLEAR_TO 0x5E}64BP"),
COMPOUND_STRING("CHOICE BAND{CLEAR_TO 0x5E}64BP"),
COMPOUND_STRING("KING'S ROCK{CLEAR_TO 0x5E}64BP"),
COMPOUND_STRING("FOCUS BAND{CLEAR_TO 0x5E}64BP"),
COMPOUND_STRING("SCOPE LENS{CLEAR_TO 0x5E}64BP"),
gText_Exit
};
static const u8 *const *sListMenuLabels[] =
{
[SCROLL_MULTI_BADGES] = sScrollMultiLabels_Badges,
[SCROLL_MULTI_SILPHCO_FLOORS] = sScrollMultiLabels_SilphCoFloors,
[SCROLL_MULTI_BERRY_POWDER] = sScrollMultiLabels_BerryPowder,
[SCROLL_MULTI_BF_RECEPTIONIST] = sScrollMultiLabels_BFReceptionist,
[SCROLL_MULTI_BF_MOVE_TUTOR_1] = sScrollMultiLabels_BFMoveTutor1,
[SCROLL_MULTI_BF_MOVE_TUTOR_2] = sScrollMultiLabels_BFMoveTutor2,
[SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1] = sScrollMultiLabels_BFDecorVendor1,
[SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2] = sScrollMultiLabels_BFDecorVendor2,
[SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR] = sScrollMultiLabels_BFVitaminVendor,
[SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR] = sScrollMultiLabels_BFItemVendor,
};
void ShowDiploma(void)
{
QuestLog_CutRecording();
@ -1272,92 +1411,56 @@ void ShowScrollableMultichoice(void)
switch ((enum ScrollMulti) gSpecialVar_0x8004)
{
case LISTMENU_BADGES:
task->data[0] = 4;
task->data[1] = 9;
task->data[2] = 1;
task->data[3] = 1;
task->data[4] = 12;
task->data[5] = 7;
task->data[6] = 1;
task->data[15] = taskId;
break;
case LISTMENU_SILPHCO_FLOORS:
task->data[0] = 7;
task->data[1] = 12;
task->data[2] = 1;
task->data[3] = 1;
task->data[4] = 8;
task->data[5] = 12;
task->data[6] = 0;
task->data[15] = taskId;
task->data[7] = sElevatorScroll;
task->data[8] = sElevatorCursorPos;
break;
case LISTMENU_ROCKET_HIDEOUT_FLOORS: // Multichoice used instead
task->data[0] = 4;
task->data[1] = 4;
task->data[2] = 1;
task->data[3] = 1;
task->data[4] = 8;
task->data[5] = 8;
task->data[6] = 0;
task->data[15] = taskId;
break;
case LISTMENU_DEPT_STORE_FLOORS: // Multichoice used instead
task->data[0] = 4;
task->data[1] = 6;
task->data[2] = 1;
task->data[3] = 1;
task->data[4] = 8;
task->data[5] = 8;
task->data[6] = 0;
task->data[15] = taskId;
break;
case LISTMENU_WIRELESS_LECTURE_HEADERS: // Multichoice used instead
task->data[0] = 4;
task->data[1] = 4;
task->data[2] = 1;
task->data[3] = 1;
task->data[4] = 17;
task->data[5] = 8;
task->data[6] = 1;
task->data[15] = taskId;
break;
case LISTMENU_BERRY_POWDER:
task->data[0] = 7;
task->data[1] = 12;
task->data[2] = 16;
task->data[3] = 1;
task->data[4] = 17;
task->data[5] = 12;
task->data[6] = 0;
task->data[15] = taskId;
break;
case LISTMENU_TRAINER_TOWER_FLOORS: // Mulitchoice used instead
task->data[0] = 3;
task->data[1] = 3;
task->data[2] = 1;
task->data[3] = 1;
task->data[4] = 8;
task->data[5] = 6;
task->data[6] = 0;
task->data[15] = taskId;
break;
case SCROLL_MULTI_BF_RECEPTIONIST:
task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN - 1;
task->tNumItems = 8;
case SCROLL_MULTI_BADGES:
task->tMaxItemsOnScreen = 4;
task->tNumItems = ARRAY_COUNT(sScrollMultiLabels_Badges);
task->tLeft = 1;
task->tTop = 1;
task->tWidth = 9;
task->tHeight = 10;
task->tWidth = 12;
task->tHeight = 7;
task->tKeepOpenAfterSelect = TRUE;
task->tTaskId = taskId;
break;
case SCROLL_MULTI_SILPHCO_FLOORS:
task->tMaxItemsOnScreen = 7;
task->tNumItems = ARRAY_COUNT(sScrollMultiLabels_SilphCoFloors);
task->tLeft = 1;
task->tTop = 1;
task->tWidth = 8;
task->tHeight = 12;
task->tKeepOpenAfterSelect = FALSE;
task->tTaskId = taskId;
task->tScrollOffset = sElevatorScroll;
task->tSelectedRow = sElevatorCursorPos;
break;
case SCROLL_MULTI_BERRY_POWDER:
task->tMaxItemsOnScreen = 7;
task->tNumItems = ARRAY_COUNT(sScrollMultiLabels_BerryPowder);
task->tLeft = 16;
task->tTop = 1;
task->tWidth = 17;
task->tHeight = 12;
task->tKeepOpenAfterSelect = FALSE;
task->tTaskId = taskId;
break;
case SCROLL_MULTI_BF_RECEPTIONIST:
task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
task->tNumItems = ARRAY_COUNT(sScrollMultiLabels_BFReceptionist);
task->tLeft = 17;
task->tTop = 1;
task->tWidth = 11;
task->tHeight = 12;
task->tKeepOpenAfterSelect = FALSE;
task->tTaskId = taskId;
break;
case SCROLL_MULTI_BF_MOVE_TUTOR_1:
case SCROLL_MULTI_BF_MOVE_TUTOR_2:
task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
task->tNumItems = 11;
if (task->tScrollMultiId == SCROLL_MULTI_BF_MOVE_TUTOR_1)
task->tNumItems = ARRAY_COUNT(sScrollMultiLabels_BFMoveTutor1);
else
task->tNumItems = ARRAY_COUNT(sScrollMultiLabels_BFMoveTutor2);
task->tLeft = 15;
task->tTop = 1;
task->tWidth = 14;
@ -1367,8 +1470,7 @@ void ShowScrollableMultichoice(void)
break;
case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1:
task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
task->tNumItems = 1;
// task->tNumItems = 11;
task->tNumItems = ARRAY_COUNT(sScrollMultiLabels_BFDecorVendor1);
task->tLeft = 14;
task->tTop = 1;
task->tWidth = 15;
@ -1378,8 +1480,7 @@ void ShowScrollableMultichoice(void)
break;
case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2:
task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
task->tNumItems = 1;
// task->tNumItems = 6;
task->tNumItems = ARRAY_COUNT(sScrollMultiLabels_BFDecorVendor2);
task->tLeft = 14;
task->tTop = 1;
task->tWidth = 15;
@ -1389,7 +1490,7 @@ void ShowScrollableMultichoice(void)
break;
case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR:
task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
task->tNumItems = 7;
task->tNumItems = ARRAY_COUNT(sScrollMultiLabels_BFVitaminVendor);
task->tLeft = 14;
task->tTop = 1;
task->tWidth = 15;
@ -1399,7 +1500,7 @@ void ShowScrollableMultichoice(void)
break;
case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR:
task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
task->tNumItems = 10;
task->tNumItems = ARRAY_COUNT(sScrollMultiLabels_BFItemVendor);
task->tLeft = 14;
task->tTop = 1;
task->tWidth = 15;
@ -1410,173 +1511,12 @@ void ShowScrollableMultichoice(void)
case SCROLL_MULTI_NONE:
break;
default:
gSpecialVar_Result = 0x7F;
gSpecialVar_Result = MULTI_B_PRESSED;
DestroyTask(taskId);
break;
}
}
static const u8 *const sListMenuLabels[][12] = {
[LISTMENU_BADGES] =
{
gText_BoulderBadge,
gText_CascadeBadge,
gText_ThunderBadge,
gText_RainbowBadge,
gText_SoulBadge,
gText_MarshBadge,
gText_VolcanoBadge,
gText_EarthBadge,
gOtherText_Exit,
},
[LISTMENU_SILPHCO_FLOORS] =
{
gText_11F,
gText_10F,
gText_9F,
gText_8F,
gText_7F,
gText_6F,
gText_5F,
gText_4F,
gText_3F,
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,
gText_RevivalHerb_300,
gText_Protein_1000,
gText_Iron_1000,
gText_Carbos_1000,
gText_Calcium_1000,
gText_Zinc_1000,
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,
},
[SCROLL_MULTI_BF_RECEPTIONIST] =
{
gText_BattleTower2,
gText_BattleDome,
gText_BattlePalace,
gText_BattleArena,
gText_BattleFactory,
gText_BattlePike,
gText_BattlePyramid,
gText_RankingHall,
gText_ExchangeService,
gText_Exit
},
[SCROLL_MULTI_BF_MOVE_TUTOR_1] =
{
COMPOUND_STRING("SOFTBOILED{CLEAR_TO 0x4E}16BP"),
COMPOUND_STRING("SEISMIC TOSS{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("DREAM EATER{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("MEGA PUNCH{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("MEGA KICK{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("BODY SLAM{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("ROCK SLIDE{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("COUNTER{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("THUNDER WAVE{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("SWORDS DANCE{CLEAR_TO 0x4E}48BP"),
gText_Exit
},
[SCROLL_MULTI_BF_MOVE_TUTOR_2] =
{
COMPOUND_STRING("DEFENSE CURL{CLEAR_TO 0x4E}16BP"),
COMPOUND_STRING("SNORE{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("MUD-SLAP{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("SWIFT{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("ICY WIND{CLEAR_TO 0x4E}24BP"),
COMPOUND_STRING("ENDURE{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("PSYCH UP{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("ICE PUNCH{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("THUNDERPUNCH{CLEAR_TO 0x4E}48BP"),
COMPOUND_STRING("FIRE PUNCH{CLEAR_TO 0x4E}48BP"),
gText_Exit
},
[SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1] =
{
// COMPOUND_STRING("KISS POSTER{CLEAR_TO 0x5E}16BP"),
// COMPOUND_STRING("KISS CUSHION{CLEAR_TO 0x5E}32BP"),
// COMPOUND_STRING("SMOOCHUM DOLL{CLEAR_TO 0x5E}32BP"),
// COMPOUND_STRING("TOGEPI DOLL{CLEAR_TO 0x5E}48BP"),
// COMPOUND_STRING("MEOWTH DOLL{CLEAR_TO 0x5E}48BP"),
// COMPOUND_STRING("CLEFAIRY DOLL{CLEAR_TO 0x5E}48BP"),
// COMPOUND_STRING("DITTO DOLL{CLEAR_TO 0x5E}48BP"),
// COMPOUND_STRING("CYNDAQUIL DOLL{CLEAR_TO 0x5E}80BP"),
// COMPOUND_STRING("CHIKORITA DOLL{CLEAR_TO 0x5E}80BP"),
// COMPOUND_STRING("TOTODILE DOLL{CLEAR_TO 0x5E}80BP"),
gText_Exit
},
[SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2] =
{
// COMPOUND_STRING("LAPRAS DOLL{CLEAR_TO 0x58}128BP"),
// COMPOUND_STRING("SNORLAX DOLL{CLEAR_TO 0x58}128BP"),
// COMPOUND_STRING("VENUSAUR DOLL{CLEAR_TO 0x58}256BP"),
// COMPOUND_STRING("CHARIZARD DOLL{CLEAR_TO 0x58}256BP"),
// COMPOUND_STRING("BLASTOISE DOLL{CLEAR_TO 0x58}256BP"),
gText_Exit
},
[SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR] =
{
COMPOUND_STRING("PROTEIN{CLEAR_TO 0x64}1BP"),
COMPOUND_STRING("CALCIUM{CLEAR_TO 0x64}1BP"),
COMPOUND_STRING("IRON{CLEAR_TO 0x64}1BP"),
COMPOUND_STRING("ZINC{CLEAR_TO 0x64}1BP"),
COMPOUND_STRING("CARBOS{CLEAR_TO 0x64}1BP"),
COMPOUND_STRING("HP UP{CLEAR_TO 0x64}1BP"),
gText_Exit
},
[SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR] =
{
COMPOUND_STRING("LEFTOVERS{CLEAR_TO 0x5E}48BP"),
COMPOUND_STRING("WHITE HERB{CLEAR_TO 0x5E}48BP"),
COMPOUND_STRING("QUICK CLAW{CLEAR_TO 0x5E}48BP"),
COMPOUND_STRING("MENTAL HERB{CLEAR_TO 0x5E}48BP"),
COMPOUND_STRING("BRIGHTPOWDER{CLEAR_TO 0x5E}64BP"),
COMPOUND_STRING("CHOICE BAND{CLEAR_TO 0x5E}64BP"),
COMPOUND_STRING("KING'S ROCK{CLEAR_TO 0x5E}64BP"),
COMPOUND_STRING("FOCUS BAND{CLEAR_TO 0x5E}64BP"),
COMPOUND_STRING("SCOPE LENS{CLEAR_TO 0x5E}64BP"),
gText_Exit
},
};
static void Task_CreateScriptListMenu(u8 taskId)
{
struct WindowTemplate template;
@ -1586,16 +1526,16 @@ static void Task_CreateScriptListMenu(u8 taskId)
struct Task *task = &gTasks[taskId];
u8 windowId;
LockPlayerFieldControls();
if (gSpecialVar_0x8004 == LISTMENU_SILPHCO_FLOORS)
if (gSpecialVar_0x8004 == SCROLL_MULTI_SILPHCO_FLOORS)
gScrollableMultichoice_ScrollOffset = sElevatorScroll;
else
gScrollableMultichoice_ScrollOffset = 0;
FillFrontierExchangeCornerWindowAndItemIcon(task->tScrollMultiId, 0);
ShowBattleFrontierTutorWindow(task->tScrollMultiId, 0);
sListMenuItems = AllocZeroed(task->data[1] * sizeof(struct ListMenuItem));
sListMenuItems = AllocZeroed(task->tNumItems * sizeof(struct ListMenuItem));
InitScrollableMultichoice();
mwidth = 0;
for (i = 0; i < task->data[1]; i++)
for (i = 0; i < task->tNumItems; i++)
{
sListMenuItems[i].name = sListMenuLabels[gSpecialVar_0x8004][i];
sListMenuItems[i].id = i;
@ -1603,19 +1543,19 @@ static void Task_CreateScriptListMenu(u8 taskId)
if (width > mwidth)
mwidth = width;
}
task->data[4] = (mwidth + 9) / 8 + 1;
if (task->data[2] + task->data[4] > 29)
task->data[2] = 29 - task->data[4];
template = CreateWindowTemplate(0, task->data[2], task->data[3], task->data[4], task->data[5], 15, 0x64);
task->data[13] = windowId = AddWindow(&template);
SetStandardWindowBorderStyle(task->data[13], 0);
gScrollableMultichoice_ListMenuTemplate.totalItems = task->data[1];
gScrollableMultichoice_ListMenuTemplate.maxShowed = task->data[0];
gScrollableMultichoice_ListMenuTemplate.windowId = task->data[13];
task->tWidth = (mwidth + 9) / 8 + 1;
if (task->tLeft + task->tWidth > 29)
task->tLeft = 29 - task->tWidth;
template = CreateWindowTemplate(0, task->tLeft, task->tTop, task->tWidth, task->tHeight, 15, 0x64);
task->tWindowId = windowId = AddWindow(&template);
SetStandardWindowBorderStyle(task->tWindowId, 0);
gScrollableMultichoice_ListMenuTemplate.totalItems = task->tNumItems;
gScrollableMultichoice_ListMenuTemplate.maxShowed = task->tMaxItemsOnScreen;
gScrollableMultichoice_ListMenuTemplate.windowId = task->tWindowId;
Task_CreateMenuRemoveScrollIndicatorArrowPair(taskId);
task->data[14] = ListMenuInit(&gScrollableMultichoice_ListMenuTemplate, task->data[7], task->data[8]);
PutWindowTilemap(task->data[13]);
CopyWindowToVram(task->data[13], COPYWIN_FULL);
task->tListTaskId = ListMenuInit(&gScrollableMultichoice_ListMenuTemplate, task->tScrollOffset, task->tSelectedRow);
PutWindowTilemap(task->tWindowId);
CopyWindowToVram(task->tWindowId, COPYWIN_FULL);
gTasks[taskId].func = ScrollableMultichoice_ProcessInput;
}
@ -1651,7 +1591,7 @@ static void ScrollableMultichoice_MoveCursor(s32 nothing, bool8 is, struct ListM
{
u16 selection;
task = &gTasks[taskId];
ListMenuGetScrollAndRow(task->data[14], &sFieldSpecialsListMenuScrollBuffer, NULL);
ListMenuGetScrollAndRow(task->tListTaskId, &sFieldSpecialsListMenuScrollBuffer, NULL);
gScrollableMultichoice_ScrollOffset = sFieldSpecialsListMenuScrollBuffer;
ListMenuGetCurrentItemArrayId(task->tListTaskId, &selection);
HideFrontierExchangeCornerItemIcon(task->tScrollMultiId);
@ -1667,7 +1607,7 @@ static void ScrollableMultichoice_ProcessInput(u8 taskId)
task = &gTasks[taskId];
task++;task--;
input = ListMenu_ProcessInput(task->data[14]);
input = ListMenu_ProcessInput(task->tListTaskId);
switch (input)
{
case -1:
@ -1680,7 +1620,7 @@ static void ScrollableMultichoice_ProcessInput(u8 taskId)
default:
gSpecialVar_Result = input;
PlaySE(SE_SELECT);
if (task->data[6] == 0 || input == task->data[1] - 1)
if (task->tKeepOpenAfterSelect == 0 || input == task->tNumItems - 1)
{
CloseScrollableMultichoice(taskId);
}
@ -1700,25 +1640,25 @@ static void CloseScrollableMultichoice(u8 taskId)
HideFrontierExchangeCornerItemIcon(task->tScrollMultiId);
Task_ListMenuRemoveScrollIndicatorArrowPair(taskId);
DestroyListMenuTask(task->data[14], NULL, NULL);
DestroyListMenuTask(task->tListTaskId, NULL, NULL);
Free(sListMenuItems);
ClearStdWindowAndFrameToTransparent(task->data[13], TRUE);
FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0));
ClearWindowTilemap(task->data[13]);
CopyWindowToVram(task->data[13], COPYWIN_GFX);
RemoveWindow(task->data[13]);
ClearStdWindowAndFrameToTransparent(task->tWindowId, TRUE);
FillWindowPixelBuffer(task->tWindowId, PIXEL_FILL(0));
ClearWindowTilemap(task->tWindowId);
CopyWindowToVram(task->tWindowId, COPYWIN_GFX);
RemoveWindow(task->tWindowId);
DestroyTask(taskId);
ScriptContext_Enable();
}
static void Task_SuspendListMenu(u8 taskId)
{
switch (gTasks[taskId].data[6])
switch (gTasks[taskId].tKeepOpenAfterSelect)
{
case 1:
break;
case 2:
gTasks[taskId].data[6] = 1;
gTasks[taskId].tKeepOpenAfterSelect = 1;
gTasks[taskId].func = Task_RedrawScrollArrowsAndWaitInput;
break;
}
@ -1727,10 +1667,10 @@ static void Task_SuspendListMenu(u8 taskId)
void ReturnToListMenu(void)
{
u8 taskId = FindTaskIdByFunc(Task_SuspendListMenu);
if (taskId == 0xFF)
if (taskId == TASK_NONE)
ScriptContext_Enable();
else
gTasks[taskId].data[6]++;
gTasks[taskId].tKeepOpenAfterSelect++;
}
static void Task_RedrawScrollArrowsAndWaitInput(u8 taskId)
@ -1749,23 +1689,23 @@ static void Task_CreateMenuRemoveScrollIndicatorArrowPair(u8 taskId)
.tileTag = 2000,
.palTag = 100
};
if (task->data[0] != task->data[1])
if (task->tMaxItemsOnScreen != task->tNumItems)
{
template.firstX = 4 * task->data[4] + 8 * task->data[2];
template.firstX = 4 * task->tWidth + 8 * task->tLeft;
template.firstY = 8;
template.secondX = 4 * task->data[4] + 8 * task->data[2];
template.secondY = 8 * task->data[5] + 10;
template.secondX = 4 * task->tWidth + 8 * task->tLeft;
template.secondY = 8 * task->tHeight + 10;
template.fullyUpThreshold = 0;
template.fullyDownThreshold = task->data[1] - task->data[0];
task->data[12] = AddScrollIndicatorArrowPair(&template, &gScrollableMultichoice_ScrollOffset);
template.fullyDownThreshold = task->tNumItems - task->tMaxItemsOnScreen;
task->tScrollArrowId = AddScrollIndicatorArrowPair(&template, &gScrollableMultichoice_ScrollOffset);
}
}
static void Task_ListMenuRemoveScrollIndicatorArrowPair(u8 taskId)
{
struct Task *task = &gTasks[taskId];
if (task->data[0] != task->data[1])
RemoveScrollIndicatorArrowPair(task->data[12]);
if (task->tMaxItemsOnScreen != task->tNumItems)
RemoveScrollIndicatorArrowPair(task->tScrollArrowId);
}
// Undefine Scrollable Multichoice task data macros

View File

@ -38,7 +38,7 @@ static void ReshowPCMenuAfterHallOfFamePC(void)
{
LockPlayerFieldControls();
Overworld_PlaySpecialMapMusic();
CreatePCMenu();
ScriptMenu_CreatePCMultichoice();
ScriptMenu_DisplayPCStartupPrompt();
BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK);
CreateTask(Task_WaitForPaletteFade, 10);

View File

@ -274,7 +274,7 @@ static u8 *MapNamePopupAppendFloorNum(u8 *dest, s8 floorNum)
return dest;
*dest++ = CHAR_SPACE;
if (floorNum == FLOOR_ROOFTOP)
return StringCopy(dest, gText_Rooftop2);
return StringCopy(dest, gText_Rooftop);
if (floorNum < 0)
{
*dest++ = CHAR_B;

View File

@ -1426,7 +1426,7 @@ static u8 MultichoiceGrid_MoveCursorIfValid(s8 deltaX, s8 deltaY)
}
}
s8 Menu_ProcessInputGridLayout(void)
s8 Menu_ProcessGridInput(void)
{
u8 oldPos = sMenu.cursorPos;

View File

@ -7622,7 +7622,7 @@ static const u8 *const sMenuTexts[] = {
[MENU_TEXT_GIVE2] = gPCText_Give,
[MENU_TEXT_SWITCH] = gPCText_Switch,
[MENU_TEXT_BAG] = gPCText_Bag,
[MENU_TEXT_INFO] = gPCText_Info,
[MENU_TEXT_INFO] = gText_Info,
[MENU_TEXT_SCENERY_1] = gPCText_Scenery1,
[MENU_TEXT_SCENERY_2] = gPCText_Scenery2,
[MENU_TEXT_SCENERY_3] = gPCText_Scenery3,

View File

@ -53,6 +53,7 @@
#include "constants/field_move.h"
#include "constants/items.h"
#include "constants/maps.h"
#include "constants/menu.h"
#include "constants/sound.h"
typedef void (*NativeFunc)(struct ScriptContext *ctx);
@ -1958,7 +1959,7 @@ bool8 ScrCmd_multichoice(struct ScriptContext * ctx)
{
u8 left = ScriptReadByte(ctx);
u8 top = ScriptReadByte(ctx);
u8 multichoiceId = ScriptReadByte(ctx);
enum MultichoiceID multichoiceId = ScriptReadByte(ctx);
bool8 ignoreBPress = ScriptReadByte(ctx);
Script_RequestEffects(SCREFF_V1 | SCREFF_HARDWARE);
@ -1978,13 +1979,13 @@ bool8 ScrCmd_multichoicedefault(struct ScriptContext * ctx)
{
u8 left = ScriptReadByte(ctx);
u8 top = ScriptReadByte(ctx);
u8 multichoiceId = ScriptReadByte(ctx);
enum MultichoiceID multichoiceId = ScriptReadByte(ctx);
u8 defaultChoice = ScriptReadByte(ctx);
bool8 ignoreBPress = ScriptReadByte(ctx);
Script_RequestEffects(SCREFF_V1 | SCREFF_HARDWARE);
if (ScriptMenu_MultichoiceWithDefault(left, top, multichoiceId, ignoreBPress, defaultChoice) == TRUE)
if (ScriptMenu_MultichoiceWithDefault(left, top, multichoiceId, ignoreBPress, defaultChoice))
{
ScriptContext_Stop();
return TRUE;
@ -2004,7 +2005,7 @@ bool8 ScrCmd_multichoicegrid(struct ScriptContext * ctx)
{
u8 left = ScriptReadByte(ctx);
u8 top = ScriptReadByte(ctx);
u8 multichoiceId = ScriptReadByte(ctx);
enum MultichoiceID multichoiceId = ScriptReadByte(ctx);
u8 numColumns = ScriptReadByte(ctx);
bool8 ignoreBPress = ScriptReadByte(ctx);
@ -2238,11 +2239,11 @@ bool8 ScrCmd_buffernumberstring(struct ScriptContext * ctx)
bool8 ScrCmd_bufferstdstring(struct ScriptContext * ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 index = VarGet(ScriptReadHalfword(ctx));
enum StdStringID stringID = VarGet(ScriptReadHalfword(ctx));
Script_RequestEffects(SCREFF_V1);
StringCopy(sScriptStringVars[stringVarIndex], gStdStringPtrs[index]);
StringCopy(sScriptStringVars[stringVarIndex], gStdStrings[stringID]);
return FALSE;
}

File diff suppressed because it is too large Load Diff

View File

@ -99,7 +99,7 @@ void DrawSprayMenu(void)
gSpecialVar_0x8003 = count;
menuItems[count].text = gFameCheckerText_Cancel;
DrawMultichoiceMenuInternal(18, yCoord, 0, FALSE, menuPos, menuItems, count+1);
DrawMultichoiceMenuInternal(18, yCoord, MULTI_YESNO, FALSE, menuPos, menuItems, count+1);
}
#endif

View File

@ -159,7 +159,7 @@ static const struct MenuAction sStartMenuActionTable[] = {
[MENU_ACTION_EXIT] = {gText_MenuExit, {.u8_void = StartMenuExitCallback}},
[MENU_ACTION_RETIRE_SAFARI] = {gText_MenuRetire, {.u8_void = StartMenuSafariZoneRetireCallback}},
[MENU_ACTION_PLAYER_LINK] = {gText_MenuPlayer, {.u8_void = StartMenuLinkPlayerCallback}},
[MENU_ACTION_REST_FRONTIER] = {gText_MenuRest, {.u8_void = StartMenuSaveCallback}},
[MENU_ACTION_REST_FRONTIER] = {gText_Rest, {.u8_void = StartMenuSaveCallback}},
[MENU_ACTION_RETIRE_FRONTIER] = {gText_MenuRetire, {.u8_void = StartMenuBattlePyramidRetireCallback}},
[MENU_ACTION_PYRAMID_BAG] = {gText_MenuBag, {.u8_void = StartMenuBattlePyramidBagCallback}},
[MENU_ACTION_DEBUG] = {sText_MenuDebug, {.u8_void = StartMenuDebugCallback}},

View File

@ -194,7 +194,6 @@ const u8 gText_MenuSave[] = _("SAVE");
const u8 gText_MenuOption[] = _("OPTION");
const u8 gText_MenuExit[] = _("EXIT");
const u8 gText_MenuRetire[] = _("RETIRE");
const u8 gText_MenuRest[] = _("REST");
const u8 gText_MenuDexNav[] = _("DEXNAV");
const u8 gText_MenuSafariStats[] = _("{STR_VAR_1}/{STR_VAR_2}\nBALLS {STR_VAR_3}");
const u8 gText_MenuTime[] = _("Time: {STR_VAR_1}:{STR_VAR_2}");
@ -205,7 +204,6 @@ const u8 gText_SeasonAutumn[] = _("Autumn");
const u8 gText_SeasonWinter[] = _("Winter");
const u8 gText_xVar1[] = _("×{STR_VAR_1}");
const u8 gText_Berry[] = _(" BERRY");
const u8 gText_Coins[] = _("{STR_VAR_1} COINS");
const u8 gText_DepositItem[] = _("DEPOSIT ITEM");
const u8 gText_CloseBag[] = _("CLOSE BAG");
const u8 gText_Var1IsSelected[] = _("{STR_VAR_1} is\nselected.");
@ -427,150 +425,21 @@ const u8 gText_LtSurge[] = _("LT. SURGE");
const u8 gText_Koga[] = _("KOGA");
const u8 gText_Participate[] = _("さんか する");
const u8 gText_Info[] = _("INFO");
const u8 gText_Eggs[] = _("EGGS");
const u8 gText_HallOfFame[] = _("HALL OF FAME");
const u8 gText_Victories[] = _("VICTORIES");
const u8 gText_Quit[] = _("QUIT");
const u8 gText_Psn[] = _("PSN");
const u8 gText_Par[] = _("PAR");
const u8 gText_Slp[] = _("SLP");
const u8 gText_Brn[] = _("BRN");
const u8 gText_Frz[] = _("FRZ");
const u8 gText_Toxic[] = _("TOXIC");
const u8 gText_OK[] = _("OK");
const u8 gOtherText_Quit[] = _("QUIT");
const u8 gText_SawIt[] = _("みました");
const u8 gText_NotYet[] = _("これから");
const u8 gText_Yes[] = _("YES");
const u8 gText_No[] = _("NO");
const u8 gText_Info4[] = _("せつめい");
const u8 gText_SingleBattle[] = _("SINGLE BATTLE");
const u8 gText_DoubleBattle[] = _("DOUBLE BATTLE");
const u8 gText_MultiBattle[] = _("MULTI BATTLE");
const u8 gText_MakeAChallenge[] = _("Make a challenge.");
const u8 gText_Info_2[] = _("INFO");
const u8 gText_FreshWater_200[] = _("FRESH WATER{CLEAR_TO 0x57}{FONT_SMALL}¥200");
const u8 gText_SodaPop_300[] = _("SODA POP{CLEAR_TO 0x57}{FONT_SMALL}¥300");
const u8 gText_Lemonade_350[] = _("LEMONADE{CLEAR_TO 0x57}{FONT_SMALL}¥350");
const u8 gText_50Coins_1000[] = _("{FONT_SMALL} 50 COINS{CLEAR_TO 0x45}¥1,000");
const u8 gText_500Coins_10000[] = _("{FONT_SMALL}500 COINS{CLEAR_TO 0x40}¥10,000");
const u8 gText_Excellent[] = _("Excellent");
const u8 gText_NotSoBad[] = _("Not so bad");
const u8 gText_RedShard[] = _("RED SHARD");
const u8 gText_YellowShard[] = _("YELLOW SHARD");
const u8 gText_BlueShard[] = _("BLUE SHARD");
const u8 gText_GreenShard[] = _("GREEN SHARD");
const u8 gText_BattleTower[] = _("バトルタワ-");
const u8 gText_Right[] = _("Right");
const u8 gText_Left[] = _("Left");
const u8 gText_Tm13_4000Coins[] = _("TM13{CLEAR_TO 0x48}{FONT_SMALL}4,000 COINS");
const u8 gText_Tm23_3500Coins[] = _("TM23{CLEAR_TO 0x48}{FONT_SMALL}3,500 COINS");
const u8 gText_Tm24_4000Coins[] = _("TM24{CLEAR_TO 0x48}{FONT_SMALL}4,000 COINS");
const u8 gText_Tm30_4500Coins[] = _("TM30{CLEAR_TO 0x48}{FONT_SMALL}4,500 COINS");
const u8 gText_Tm35_4000Coins[] = _("TM35{CLEAR_TO 0x48}{FONT_SMALL}4,000 COINS");
const u8 gText_1F_2[] = _("1F");
const u8 gText_2F_2[] = _("2F");
const u8 gText_3F_2[] = _("3F");
const u8 gText_4F_2[] = _("4F");
const u8 gText_5F_2[] = _("5F");
const u8 gText_Cool[] = _("COOL");
const u8 gText_Beauty[] = _("BEAUTY");
const u8 gText_Cute[] = _("CUTE");
const u8 gText_Smart[] = _("SMART");
const u8 gText_Tough[] = _("TOUGH");
const u8 gText_Normal[] = _("NORMAL");
const u8 gText_Black[] = _("BLACK");
const u8 gText_Pink[] = _("PINK");
const u8 gText_Sepia[] = _("SEPIA");
const u8 gText_Cool_2[] = _("COOL");
const u8 gText_Beauty_2[] = _("BEAUTY");
const u8 gText_Cute_2[] = _("CUTE");
const u8 gText_Smart_2[] = _("SMART");
const u8 gText_Tough_2[] = _("TOUGH");
const u8 gText_Items[] = _("ITEMS");
const u8 gText_KeyItems[] = _("KEY ITEMS");
const u8 gText_PokeBalls[] = _("POKé BALLS");
const u8 gText_TMsAndHMs[] = _("TMs & HMs");
const u8 gText_Berries[] = _("BERRIES");
const u8 gText_Boulderbadge[] = _("BOULDERBADGE");
const u8 gText_Cascadebadge[] = _("CASCADEBADGE");
const u8 gText_Thunderbadge[] = _("THUNDERBADGE");
const u8 gText_Rainbowbadge[] = _("RAINBOWBADGE");
const u8 gText_Soulbadge[] = _("SOULBADGE");
const u8 gText_Marshbadge[] = _("MARSHBADGE");
const u8 gText_Volcanobadge[] = _("VOLCANOBADGE");
const u8 gText_Earthbadge[] = _("EARTHBADGE");
const u8 gText_SomeoneSPc[] = _("SOMEONE'S PC");
const u8 gText_BillSPc[] = _("BILL'S PC");
const u8 gText_SPc[] = _("{PLAYER}'s PC");
const u8 gText_HallOfFame_2[] = _("HALL OF FAME");
const u8 gText_LogOff[] = _("LOG OFF");
const u8 gText_ProfOakSPc[] = _("PROF. OAK's PC");
const u8 gText_Eevee[] = _("EEVEE");
const u8 gText_Flareon[] = _("FLAREON");
const u8 gText_Jolteon[] = _("JOLTEON");
const u8 gText_Vaporeon[] = _("VAPOREON");
const u8 gText_QuitLooking[] = _("Quit looking.");
const u8 gText_FreshWater[] = _("FRESH WATER");
const u8 gText_SodaPop[] = _("SODA POP");
const u8 gText_Lemonade[] = _("LEMONADE");
const u8 gText_Coins_2[] = _("COINS");
const u8 gText_Bicycle_Price[] = _("BICYCLE{CLEAR_TO 0x49}{FONT_SMALL}¥1,000,000");
const u8 gText_NoThanks[] = _("NO THANKS");
const u8 gText_Abra_180Coins[] = _("ABRA{CLEAR_TO 0x55}{FONT_SMALL} 180 COINS");
const u8 gText_Clefairy_500Coins[] = _("CLEFAIRY{CLEAR_TO 0x55}{FONT_SMALL} 500 COINS");
const u8 gText_Dratini_2800Coins[] = _("DRATINI{CLEAR_TO 0x4B}{FONT_SMALL} 2,800 COINS");
const u8 gText_Scyther_5500Coins[] = _("SCYTHER{CLEAR_TO 0x4B}{FONT_SMALL} 5,500 COINS");
const u8 gText_Porygon_9999Coins[] = _("PORYGON{CLEAR_TO 0x4B}{FONT_SMALL} 9,999 COINS");
const u8 gText_Abra_120Coins[] = _("ABRA{CLEAR_TO 0x55}{FONT_SMALL} 120 COINS");
const u8 gText_Clefairy_750Coins[] = _("CLEFAIRY{CLEAR_TO 0x55}{FONT_SMALL} 750 COINS");
const u8 gText_Pinsir_2500Coins[] = _("PINSIR{CLEAR_TO 0x4B}{FONT_SMALL} 2,500 COINS");
const u8 gText_Dratini_4600Coins[] = _("DRATINI{CLEAR_TO 0x4B}{FONT_SMALL} 4,600 COINS");
const u8 gText_Porygon_6500Coins[] = _("PORYGON{CLEAR_TO 0x4B}{FONT_SMALL} 6,500 COINS");
const u8 gText_NoThanks_2[] = _("NO THANKS");
const u8 gText_HelixFossil[] = _("HELIX FOSSIL");
const u8 gText_DomeFossil[] = _("DOME FOSSIL");
const u8 gText_OldAmber[] = _("OLD AMBER");
const u8 gText_TradeCenter[] = _("TRADE CENTER");
const u8 gText_Colosseum[] = _("COLOSSEUM");
const u8 gText_GameLinkCable[] = _("Game Link cable");
const u8 gText_Wireless[] = _("Wireless");
const u8 gText_ItemsPocket[] = _("ITEMS POCKET");
const u8 gText_KeyItemsPocket[] = _("KEY ITEMS POCKET");
const u8 gText_PokeBallsPocket[] = _("POKé BALLS POCKET");
const u8 gText_TmCase[] = _("TM CASE");
const u8 gText_BerryPouch_2[] = _("BERRY POUCH");
const u8 gText_Other[] = _("OTHER");
const u8 gText_OneIsland[] = _("ONE ISLAND");
const u8 gText_TwoIsland[] = _("TWO ISLAND");
const u8 gText_ThreeIsland[] = _("THREE ISLAND");
const u8 gText_FourIsland[] = _("FOUR ISLAND");
const u8 gText_FiveIsland[] = _("FIVE ISLAND");
const u8 gText_SixIsland[] = _("SIX ISLAND");
const u8 gText_SevenIsland[] = _("SEVEN ISLAND");
const u8 gText_Vermilion[] = _("VERMILION");
const u8 gText_Colosseum_2[] = _("COLOSSEUM");
const u8 gText_Coins[] = _("COINS");
const u8 gText_BerryCrush[] = _("BERRY CRUSH");
const u8 gText_EmptyLinkService1[] = _("");
const u8 gText_EmptyLinkService2[] = _("");
const u8 gText_ListenToExplanation[] = _("せつめいを きく");
const u8 gText_RecordCorner[] = _(""); // Dummied
const u8 gText_PokemonJump[] = _("POKéMON JUMP");
const u8 gText_DodrioBerryPicking[] = _("DODRIO BERRY-PICKING");
const u8 gText_2Tinymushrooms[] = _("2 TINYMUSHROOMS");
const u8 gText_1BigMushroom[] = _("1 BIG MUSHROOM");
const u8 gText_SeviiIslands[] = _("SEVII ISLANDS");
const u8 gText_NavelRock[] = _("NAVEL ROCK");
const u8 gText_BirthIsland[] = _("BIRTH ISLAND");
const u8 gText_MiracleSeed_1000Coins[] = _("MIRACLE SEED{CLEAR_TO 0x50}{FONT_SMALL}1,000 COINS");
const u8 gText_Charcoal_1000Coins[] = _("CHARCOAL{CLEAR_TO 0x50}{FONT_SMALL}1,000 COINS");
const u8 gText_MysticWater_1000Coins[] = _("MYSTIC WATER{CLEAR_TO 0x50}{FONT_SMALL}1,000 COINS");
const u8 gText_YellowFlute_1600Coins[] = _("YELLOW FLUTE{CLEAR_TO 0x50}{FONT_SMALL}1,600 COINS");
const u8 gText_SmokeBall_800Coins[] = _("SMOKE BALL{CLEAR_TO 0x5A}{FONT_SMALL}800 COINS");
const u8 gText_Multichoice_Empty2[] = _("");
const u8 gText_Multichoice_Empty1[] = _("");
const u8 gText_BecomeLeader[] = _("BECOME LEADER");
const u8 gText_JoinGroup[] = _("JOIN GROUP");
const u8 gOtherText_Single[] = _("SINGLE");
const u8 gOtherText_Double[] = _("DOUBLE");
const u8 gOtherText_Knockout[] = _("KNOCKOUT");
@ -610,9 +479,6 @@ const u8 gText_B4F[] = _("B4F");
const u8 gText_Rooftop[] = _("ROOFTOP");
const u8 gText_NowOn[] = _("Now on:");
const u8 gText_BP[] = _("BP");
const u8 gText_LinkedGamePlay[] = _("LINKED GAME PLAY");
const u8 gText_DirectCorner[] = _("DIRECT CORNER");
const u8 gText_UnionRoom[] = _("UNION ROOM");
const u8 gText_Energypowder_50[] = _("ENERGYPOWDER{CLEAR_TO 0x74}{FONT_SMALL}50");
const u8 gText_EnergyRoot_80[] = _("ENERGY ROOT{CLEAR_TO 0x74}{FONT_SMALL}80");
const u8 gText_HealPowder_50[] = _("HEAL POWDER{CLEAR_TO 0x74}{FONT_SMALL}50");
@ -678,7 +544,6 @@ 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");
@ -880,7 +745,6 @@ const u8 gText_LinkCableBattles[] = _("LINK CABLE BATTLES");
const u8 gText_WinLossRatio[] = _("W:{CLEAR_TO 0x30}L:");
const u8 gText_PokemonTrades[] = _("POKéMON TRADES");
const u8 gText_UnionRoomTradesBattles[] = _("UNION TRADES & BATTLES");
const u8 gText_BerryCrushes[] = _("BERRY CRUSH");
const u8 gText_WaitingTrainerFinishReading[] = _("Waiting for the other TRAINER to\nfinish reading your TRAINER CARD.");
const u8 gText_Option[] = _("OPTION");
const u8 gText_TextSpeed[] = _("TEXT SPEED");
@ -1071,7 +935,6 @@ ALIGNED(4) const u8 gText_CrushingResults[] = _("Crushing Results");
ALIGNED(4) const u8 gText_NeatnessRankings[] = _("Neatness Rankings");
ALIGNED(4) const u8 gText_CooperativeRankings[] = _("Cooperative Rankings");
ALIGNED(4) const u8 gText_PressingPowerRankings[] = _("Pressing-Power Rankings");
const u8 gText_BerryCrush2[] = _("BERRY CRUSH");
const u8 gText_PressingSpeedRankings[] = _("Pressing-Speed Rankings");
const u8 gText_Var1Players[] = _("{STR_VAR_1} PLAYERS");
ALIGNED(4) const u8 gText_Ghost[] = _("GHOST");
@ -1079,7 +942,6 @@ const u8 gText_OhABite[] = _("Oh! A bite!");
const u8 gText_PokemonOnHook[] = _("A POKéMON's on the hook!{PAUSE_UNTIL_PRESS}");
const u8 gText_NotEvenANibble[] = _("Not even a nibble‥{PAUSE_UNTIL_PRESS}");
const u8 gText_ItGotAway[] = _("It got away‥{PAUSE_UNTIL_PRESS}");
const u8 gText_Rooftop2[] = _("ROOFTOP");
ALIGNED(4) const u8 gString_PokemonFireRed_Staff[] = _("Pokémon FireRed Version\nStaff");
ALIGNED(4) const u8 gString_PokemonLeafGreen_Staff[] = _("Pokémon LeafGreen Version\nStaff");
ALIGNED(4) const u8 gCreditsString_Director[] = _("\n\nDirector\n\n\n\n");
@ -1506,31 +1368,11 @@ const u8 gText_SamePkmnInPartyAlready[] = _("Same {PKMN} in party already.");
const u8 gText_Lv50[] = _("LV. 50");
const u8 gText_OpenLevel[] = _("OPEN LEVEL");
const u8 gText_BattleRules[] = _("BATTLE RULES");
const u8 gText_JudgeMind[] = _("JUDGE: MIND");
const u8 gText_JudgeSkill[] = _("JUDGE: SKILL");
const u8 gText_JudgeBody[] = _("JUDGE: BODY");
const u8 gText_BasicRules[] = _("BASIC RULES");
const u8 gText_SwapPartners[] = _("SWAP: PARTNER");
const u8 gText_SwapNumber[] = _("SWAP: NUMBER");
const u8 gText_SwapNotes[] = _("SWAP: NOTES");
const u8 gText_GoOn[] = _("GO ON");
const u8 gText_Record2[] = _("RECORD");
const u8 gText_Rest[] = _("REST");
const u8 gText_Retire[] = _("RETIRE");
const u8 gText_BattleBasics[] = _("BATTLE BASICS");
const u8 gText_PokemonNature[] = _("POKéMON NATURE");
const u8 gText_PokemonMoves[] = _("POKéMON MOVES");
const u8 gText_Underpowered[] = _("UNDERPOWERED");
const u8 gText_WhenInDanger[] = _("WHEN IN DANGER");
const u8 gText_BattlePokemon[] = _("BATTLE POKéMON");
const u8 gText_BattleTrainers[] = _("BATTLE TRAINERS");
const u8 gText_Opponent[] = _("OPPONENT");
const u8 gText_Tourney_Tree[] = _("TOURNEY TREE");
const u8 gText_ReadyToStart[] = _("READY TO START");
const u8 gText_SingleBattleRoomResults[] = _("{PLAYER}'s Single Battle Room Results");
const u8 gText_DoubleBattleRoomResults[] = _("{PLAYER}'s Double Battle Room Results");
const u8 gText_MultiBattleRoomResults[] = _("{PLAYER}'s Multi Battle Room Results");

View File

@ -1411,7 +1411,7 @@ static void BufferBerryCrushPoints(void)
{
if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE)
{
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH], gText_BerryCrushes);
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH], gText_BerryCrush);
ConvertIntToDecimalStringN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH_COUNT], sTrainerCardDataPtr->trainerCard.berryCrushPoints, STR_CONV_MODE_RIGHT_ALIGN, 5);
}
}

View File

@ -518,19 +518,13 @@ ALIGNED(4) const u8 gText_UR_Greetings[] = _("GREETINGS");
ALIGNED(4) const u8 gText_UR_Exit[] = _("EXIT");
ALIGNED(4) const u8 gText_UR_Exit2[] = _("EXIT");
ALIGNED(4) const u8 gText_UR_Info[] = _("INFO");
ALIGNED(4) const u8 gText_UR_NameWantedOfferLv[] = _("NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV.");
ALIGNED(4) const u8 gText_UR_SingleBattle[] = _("SINGLE BATTLE");
ALIGNED(4) const u8 gText_UR_DoubleBattle[] = _("DOUBLE BATTLE");
ALIGNED(4) const u8 gText_UR_MultiBattle[] = _("MULTI BATTLE");
ALIGNED(4) const u8 gText_UR_PokemonTrades[] = _("POKéMON TRADES");
ALIGNED(4) const u8 gText_UR_Chat[] = _("CHAT");
ALIGNED(4) const u8 gText_UR_Cards[] = _("CARDS");
ALIGNED(4) const u8 gText_UR_WonderCards[] = _("WONDER CARDS");
ALIGNED(4) const u8 gText_UR_WonderNews[] = _("WONDER NEWS");
ALIGNED(4) const u8 gText_UR_PokemonJump[] = _("POKéMON JUMP");
ALIGNED(4) const u8 gText_UR_BerryCrush[] = _("BERRY CRUSH");
ALIGNED(4) const u8 gText_UR_BerryPicking[] = _("BERRY-PICKING");
ALIGNED(4) const u8 gText_UR_Search[] = _("SEARCH");
ALIGNED(4) const u8 gText_UR_SpinTrade[] = _("ぐるぐるこうかん");