2019-10-04 23:24:03 +02:00
// const rom data
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) static const u8 sText_EmptyString [ ] = _ ( " " ) ;
ALIGNED ( 4 ) const u8 sText_Colon [ ] = _ ( " : " ) ;
ALIGNED ( 4 ) const u8 sText_ID [ ] = _ ( " {ID} " ) ;
ALIGNED ( 4 ) const u8 sText_PleaseStartOver [ ] = _ ( " Please start over from the beginning. " ) ;
ALIGNED ( 4 ) const u8 sText_WirelessSearchCanceled [ ] = _ ( " The WIRELESS COMMUNICATION \n SYSTEM search has been canceled. " ) ;
ALIGNED ( 4 ) const u8 sText_AwaitingCommunucation2 [ ] = _ ( " Awaiting communication \n from another player. " ) ; // Unused
ALIGNED ( 4 ) const u8 sText_AwaitingCommunication [ ] = _ ( " {STR_VAR_1}! Awaiting \n communication from another player. " ) ;
ALIGNED ( 4 ) const u8 sText_AwaitingLinkPressStart [ ] = _ ( " {STR_VAR_1}! Awaiting link! \n Press START when everyone's ready. " ) ;
ALIGNED ( 4 ) const u8 sJPText_SingleBattle [ ] = _ ( " シングルバトルを かいさいする " ) ;
ALIGNED ( 4 ) const u8 sJPText_DoubleBattle [ ] = _ ( " ダブルバトルを かいさいする " ) ;
ALIGNED ( 4 ) const u8 sJPText_MultiBattle [ ] = _ ( " マルチバトルを かいさいする " ) ;
ALIGNED ( 4 ) const u8 sJPText_TradePokemon [ ] = _ ( " ポケモンこうかんを かいさいする " ) ;
ALIGNED ( 4 ) const u8 sJPText_Chat [ ] = _ ( " チャットを かいさいする " ) ;
ALIGNED ( 4 ) const u8 sJPText_DistWonderCard [ ] = _ ( " ふしぎなカードをくばる " ) ;
ALIGNED ( 4 ) const u8 sJPText_DistWonderNews [ ] = _ ( " ふしぎなニュースをくばる " ) ;
ALIGNED ( 4 ) const u8 sJPText_DistMysteryEvent [ ] = _ ( " ふしぎなできごとを かいさいする " ) ; // Unused
ALIGNED ( 4 ) const u8 sJPText_HoldPokemonJump [ ] = _ ( " なわとびを かいさいする " ) ;
ALIGNED ( 4 ) const u8 sJPText_HoldBerryCrush [ ] = _ ( " きのみマッシャーを かいさいする " ) ;
ALIGNED ( 4 ) const u8 sJPText_HoldBerryPicking [ ] = _ ( " きのみどりを かいさいする " ) ;
ALIGNED ( 4 ) const u8 sJPText_HoldSpinTrade [ ] = _ ( " ぐるぐるこうかんを かいさいする " ) ;
ALIGNED ( 4 ) const u8 sJPText_HoldSpinShop [ ] = _ ( " ぐるぐるショップを かいさいする " ) ;
// Unused
const u8 * const sJPLinkGroupActionTexts [ ] = {
sJPText_SingleBattle ,
sJPText_DoubleBattle ,
sJPText_MultiBattle ,
sJPText_TradePokemon ,
sJPText_Chat ,
sJPText_DistWonderCard ,
sJPText_DistWonderNews ,
sJPText_DistWonderCard ,
sJPText_HoldPokemonJump ,
sJPText_HoldBerryCrush ,
sJPText_HoldBerryPicking ,
sJPText_HoldBerryPicking ,
sJPText_HoldSpinTrade ,
sJPText_HoldSpinShop
} ;
const u8 sText_1PlayerNeeded [ ] = _ ( " 1 player \n needed. " ) ;
const u8 sText_2PlayersNeeded [ ] = _ ( " 2 players \n needed. " ) ;
const u8 sText_3PlayersNeeded [ ] = _ ( " 3 players \n needed. " ) ;
const u8 sText_4PlayersNeeded [ ] = _ ( " 4 players \n needed. " ) ;
const u8 sText_2PlayerMode [ ] = _ ( " 2-PLAYER \n MODE " ) ;
const u8 sText_3PlayerMode [ ] = _ ( " 3-PLAYER \n MODE " ) ;
const u8 sText_4PlayerMode [ ] = _ ( " 4-PLAYER \n MODE " ) ;
const u8 sText_5PlayerMode [ ] = _ ( " 5-PLAYER \n MODE " ) ;
static const u8 * const sPlayersNeededOrModeTexts [ ] [ 5 ] = {
2020-05-30 10:09:21 +02:00
// 2 players required
2019-10-04 23:24:03 +02:00
{
2019-12-10 19:48:20 +01:00
sText_1PlayerNeeded ,
sText_2PlayerMode
2020-05-30 10:09:21 +02:00
} ,
// 4 players required
{
2019-12-10 19:48:20 +01:00
sText_3PlayersNeeded ,
sText_2PlayersNeeded ,
sText_1PlayerNeeded ,
sText_4PlayerMode
2020-05-30 10:09:21 +02:00
} ,
// 2-5 players required
{
2019-12-10 19:48:20 +01:00
sText_1PlayerNeeded ,
sText_2PlayerMode ,
sText_3PlayerMode ,
sText_4PlayerMode ,
sText_5PlayerMode
2020-05-30 10:09:21 +02:00
} ,
// 3-5 players required
{
2019-12-10 19:48:20 +01:00
sText_2PlayersNeeded ,
sText_1PlayerNeeded ,
sText_3PlayerMode ,
sText_4PlayerMode ,
sText_5PlayerMode
2020-05-30 10:09:21 +02:00
} ,
// 2-4 players required
{
2019-12-10 19:48:20 +01:00
sText_1PlayerNeeded ,
sText_2PlayerMode ,
sText_3PlayerMode ,
sText_4PlayerMode
2019-10-04 23:24:03 +02:00
}
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_BButtonCancel [ ] = _ ( " {B_BUTTON}CANCEL " ) ;
2019-12-11 01:31:12 +01:00
ALIGNED ( 4 ) const u8 sJPText_SearchingForParticipants [ ] = _ ( " ため \n さんかしゃ ぼしゅうちゅう です! " ) ; // Unused, may have been cut off
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_PlayerContactedYouForXAccept [ ] = _ ( " {STR_VAR_2} contacted you for \n {STR_VAR_1}. Accept? " ) ;
ALIGNED ( 4 ) const u8 sText_PlayerContactedYouShareX [ ] = _ ( " {STR_VAR_2} contacted you. \n Will you share {STR_VAR_1}? " ) ;
ALIGNED ( 4 ) const u8 sText_PlayerContactedYouAddToMembers [ ] = _ ( " {STR_VAR_2} contacted you. \n Add to the members? " ) ;
ALIGNED ( 4 ) const u8 sText_AreTheseMembersOK [ ] = _ ( " {STR_VAR_1}! \n Are these members OK? " ) ;
ALIGNED ( 4 ) const u8 sText_CancelModeWithTheseMembers [ ] = _ ( " Cancel {STR_VAR_1} MODE \n with these members? " ) ;
ALIGNED ( 4 ) const u8 sText_AnOKWasSentToPlayer [ ] = _ ( " An “OK” was sent \n to {STR_VAR_1}. " ) ;
ALIGNED ( 4 ) const u8 sText_OtherTrainerUnavailableNow [ ] = _ ( " The other TRAINER doesn't appear \n to be available now… \ p " ) ;
ALIGNED ( 4 ) const u8 sText_CantTransmitTrainerTooFar [ ] = _ ( " You can't transmit with a TRAINER \n who is too far away. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_TrainersNotReadyYet [ ] = _ ( " The other TRAINER(S) is/are not \n ready yet. \ p " ) ;
2019-10-04 23:24:03 +02:00
2020-06-09 00:16:57 +02:00
static const u8 * const sCantTransmitToTrainerTexts [ ] = {
[ UR_TRADE_PLAYER_NOT_READY - 1 ] = sText_CantTransmitTrainerTooFar ,
[ UR_TRADE_PARTNER_NOT_READY - 1 ] = sText_TrainersNotReadyYet
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_ModeWithTheseMembersWillBeCanceled [ ] = _ ( " The {STR_VAR_1} MODE with \n these members will be canceled.{PAUSE 60} " ) ;
ALIGNED ( 4 ) const u8 sText_MemberNoLongerAvailable [ ] = _ ( " There is a member who can no \n longer remain available. \ p " ) ;
2019-10-04 23:24:03 +02:00
2020-06-09 00:16:57 +02:00
static const u8 * const sPlayerUnavailableTexts [ ] = {
2019-12-10 19:48:20 +01:00
sText_OtherTrainerUnavailableNow ,
sText_MemberNoLongerAvailable
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_TrainerAppearsUnavailable [ ] = _ ( " The other TRAINER appears \n unavailable… \ p " ) ;
ALIGNED ( 4 ) const u8 sText_PlayerSentBackOK [ ] = _ ( " {STR_VAR_1} sent back an “OK”! " ) ;
ALIGNED ( 4 ) const u8 sText_PlayerOKdRegistration [ ] = _ ( " {STR_VAR_1} OK'd your registration as \n a member. " ) ;
ALIGNED ( 4 ) const u8 sText_PlayerRepliedNo [ ] = _ ( " {STR_VAR_1} replied, “No…” \ p " ) ;
ALIGNED ( 4 ) const u8 sText_AwaitingOtherMembers [ ] = _ ( " {STR_VAR_1}! \n Awaiting other members! " ) ;
ALIGNED ( 4 ) const u8 sText_QuitBeingMember [ ] = _ ( " Quit being a member? " ) ;
ALIGNED ( 4 ) const u8 sText_StoppedBeingMember [ ] = _ ( " You stopped being a member. \ p " ) ;
2019-10-04 23:24:03 +02:00
2020-06-09 00:16:57 +02:00
static const u8 * const sPlayerDisconnectedTexts [ ] = {
[ RFU_STATUS_OK ] = NULL ,
[ RFU_STATUS_FATAL_ERROR ] = sText_MemberNoLongerAvailable ,
[ RFU_STATUS_CONNECTION_ERROR ] = sText_TrainerAppearsUnavailable ,
[ RFU_STATUS_CHILD_SEND_COMPLETE ] = NULL ,
[ RFU_STATUS_NEW_CHILD_DETECTED ] = NULL ,
[ RFU_STATUS_JOIN_GROUP_OK ] = NULL ,
[ RFU_STATUS_JOIN_GROUP_NO ] = sText_PlayerRepliedNo ,
[ RFU_STATUS_WAIT_ACK_JOIN_GROUP ] = NULL ,
[ RFU_STATUS_LEAVE_GROUP_NOTICE ] = NULL ,
[ RFU_STATUS_LEAVE_GROUP ] = sText_StoppedBeingMember
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_WirelessLinkEstablished [ ] = _ ( " The WIRELESS COMMUNICATION \n SYSTEM link has been established. " ) ;
ALIGNED ( 4 ) const u8 sText_WirelessLinkDropped [ ] = _ ( " The WIRELESS COMMUNICATION \n SYSTEM link has been dropped… " ) ;
ALIGNED ( 4 ) const u8 sText_LinkWithFriendDropped [ ] = _ ( " The link with your friend has been \n dropped… " ) ;
ALIGNED ( 4 ) const u8 sText_PlayerRepliedNo2 [ ] = _ ( " {STR_VAR_1} replied, “No…” " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
const u8 * const sLinkDroppedTexts [ ] = {
2020-06-09 00:16:57 +02:00
[ RFU_STATUS_OK ] = NULL ,
[ RFU_STATUS_FATAL_ERROR ] = sText_LinkWithFriendDropped ,
[ RFU_STATUS_CONNECTION_ERROR ] = sText_LinkWithFriendDropped ,
[ RFU_STATUS_CHILD_SEND_COMPLETE ] = NULL ,
[ RFU_STATUS_NEW_CHILD_DETECTED ] = NULL ,
[ RFU_STATUS_JOIN_GROUP_OK ] = NULL ,
[ RFU_STATUS_JOIN_GROUP_NO ] = sText_PlayerRepliedNo2 ,
[ RFU_STATUS_WAIT_ACK_JOIN_GROUP ] = NULL ,
[ RFU_STATUS_LEAVE_GROUP_NOTICE ] = NULL ,
[ RFU_STATUS_LEAVE_GROUP ] = NULL
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_DoYouWantXMode [ ] = _ ( " Do you want the {STR_VAR_2} \n MODE? " ) ;
ALIGNED ( 4 ) const u8 sText_DoYouWantXMode2 [ ] = _ ( " Do you want the {STR_VAR_2} \n MODE? " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
// Unused
static const u8 * const sDoYouWantModeTexts [ ] = {
sText_DoYouWantXMode ,
sText_DoYouWantXMode2
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_CommunicatingPleaseWait [ ] = _ ( " Communicating… \n Please wait. " ) ; // Unused
ALIGNED ( 4 ) const u8 sText_AwaitingPlayersResponseAboutTrade [ ] = _ ( " Awaiting {STR_VAR_1}'s response about \n the trade… " ) ;
ALIGNED ( 4 ) const u8 sText_Communicating [ ] = _ ( " Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}. \n {PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}. " ) ;
ALIGNED ( 4 ) const u8 sText_CommunicatingWithPlayer [ ] = _ ( " Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}. \n {PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}. " ) ;
ALIGNED ( 4 ) const u8 sText_PleaseWaitAWhile [ ] = _ ( " Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}. \n {PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}. " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
static const u8 * const sCommunicatingWaitTexts [ ] = {
sText_Communicating ,
sText_CommunicatingWithPlayer ,
sText_PleaseWaitAWhile
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_HiDoSomethingMale [ ] = _ ( " Hiya! Is there something that you \n wanted to do? " ) ;
ALIGNED ( 4 ) const u8 sText_HiDoSomethingFemale [ ] = _ ( " Hello! \n Would you like to do something? " ) ;
ALIGNED ( 4 ) const u8 sText_HiDoSomethingAgainMale [ ] = _ ( " {STR_VAR_1}: Hiya, we meet again! \n What are you up for this time? " ) ;
ALIGNED ( 4 ) const u8 sText_HiDoSomethingAgainFemale [ ] = _ ( " {STR_VAR_1}: Oh! {PLAYER}, hello! \n Would you like to do something? " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
static const u8 * const sHiDoSomethingTexts [ ] [ GENDER_COUNT ] = {
2019-10-04 23:24:03 +02:00
{
2019-12-10 19:48:20 +01:00
sText_HiDoSomethingMale ,
sText_HiDoSomethingFemale
2019-10-04 23:24:03 +02:00
} , {
2019-12-10 19:48:20 +01:00
sText_HiDoSomethingAgainMale ,
sText_HiDoSomethingAgainFemale
2019-10-04 23:24:03 +02:00
}
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_DoSomethingMale [ ] = _ ( " Want to do something? " ) ;
ALIGNED ( 4 ) const u8 sText_DoSomethingFemale [ ] = _ ( " Would you like to do something? " ) ;
ALIGNED ( 4 ) const u8 sText_DoSomethingAgainMale [ ] = _ ( " {STR_VAR_1}: What would you like to \n do now? " ) ;
ALIGNED ( 4 ) const u8 sText_DoSomethingAgainFemale [ ] = _ ( " {STR_VAR_1}: Want to do anything else? " ) ; // Unused
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
// Unused
static const u8 * const sDoSomethingTexts [ ] [ GENDER_COUNT ] = {
2019-10-04 23:24:03 +02:00
{
2019-12-10 19:48:20 +01:00
sText_DoSomethingMale ,
sText_DoSomethingFemale
2019-10-04 23:24:03 +02:00
} , {
2019-12-10 19:48:20 +01:00
sText_DoSomethingAgainMale ,
sText_DoSomethingAgainMale // was probably supposed to be sText_DoSomethingAgainFemale
2019-10-04 23:24:03 +02:00
}
} ;
2019-10-05 05:31:25 +02:00
ALIGNED ( 4 ) const u8 sText_SomebodyHasContactedYou [ ] = _ ( " Somebody has contacted you.{PAUSE 60} " ) ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_PlayerHasContactedYou [ ] = _ ( " {STR_VAR_1} has contacted you.{PAUSE 60} " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
static const u8 * const sPlayerContactedYouTexts [ ] = {
2019-10-05 05:31:25 +02:00
sText_SomebodyHasContactedYou ,
2019-12-10 19:48:20 +01:00
sText_PlayerHasContactedYou
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_AwaitingResponseFromTrainer [ ] = _ ( " Awaiting a response from \n the other TRAINER… " ) ;
ALIGNED ( 4 ) const u8 sText_AwaitingResponseFromPlayer [ ] = _ ( " Awaiting a response from \n {STR_VAR_1}… " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
static const u8 * const sAwaitingResponseTexts [ ] = {
sText_AwaitingResponseFromTrainer ,
sText_AwaitingResponseFromPlayer
2019-10-04 23:24:03 +02:00
} ;
2019-10-05 05:31:25 +02:00
ALIGNED ( 4 ) const u8 sText_ShowTrainerCard [ ] = _ ( " The other TRAINER showed \n you their TRAINER CARD. \ pWould you like to show your \n TRAINER CARD? " ) ;
ALIGNED ( 4 ) const u8 sText_BattleChallenge [ ] = _ ( " The other TRAINER challenges you \n to battle. \ pWill you accept the battle \n challenge? " ) ;
ALIGNED ( 4 ) const u8 sText_ChatInvitation [ ] = _ ( " The other TRAINER invites you \n to chat. \ pWill you accept the chat \n invitation? " ) ;
2020-08-11 05:50:49 +02:00
ALIGNED ( 4 ) const u8 sText_OfferToTradeMon [ ] = _ ( " There is an offer to trade your \n registered Lv. {DYNAMIC 0} {DYNAMIC 1} \ pin exchange for a \n Lv. {DYNAMIC 2} {DYNAMIC 3}. \ pWill you accept this trade \n offer? " ) ;
2019-10-05 05:31:25 +02:00
ALIGNED ( 4 ) const u8 sText_OfferToTradeEgg [ ] = _ ( " There is an offer to trade your \n registered EGG. \ lWill you accept this trade offer? " ) ;
ALIGNED ( 4 ) const u8 sText_ChatDropped [ ] = _ ( " The chat has been dropped. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_OfferDeclined1 [ ] = _ ( " You declined the offer. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_OfferDeclined2 [ ] = _ ( " You declined the offer. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_ChatEnded [ ] = _ ( " The chat was ended. \ p " ) ;
// Unused
2019-12-10 19:48:20 +01:00
static const u8 * const sInvitationTexts [ ] = {
2019-10-05 05:31:25 +02:00
sText_ShowTrainerCard ,
sText_BattleChallenge ,
sText_ChatInvitation ,
sText_OfferToTradeMon
2019-10-04 23:24:03 +02:00
} ;
2019-10-05 05:31:25 +02:00
ALIGNED ( 4 ) const u8 sText_JoinChatMale [ ] = _ ( " Oh, hey! We're in a chat right now. \n Want to join us? " ) ;
ALIGNED ( 4 ) const u8 sText_PlayerJoinChatMale [ ] = _ ( " {STR_VAR_1}: Hey, {PLAYER}! \n We're having a chat right now. \ lWant to join us? " ) ;
ALIGNED ( 4 ) const u8 sText_JoinChatFemale [ ] = _ ( " Oh, hi! We're having a chat now. \n Would you like to join us? " ) ;
ALIGNED ( 4 ) const u8 sText_PlayerJoinChatFemale [ ] = _ ( " {STR_VAR_1}: Oh, hi, {PLAYER}! \n We're having a chat now. \ lWould you like to join us? " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
static const u8 * const sJoinChatTexts [ ] [ GENDER_COUNT ] = {
2019-10-04 23:24:03 +02:00
{
2019-10-05 05:31:25 +02:00
sText_JoinChatMale ,
sText_JoinChatFemale
2019-10-04 23:24:03 +02:00
} , {
2019-10-05 05:31:25 +02:00
sText_PlayerJoinChatMale ,
sText_PlayerJoinChatFemale
2019-10-04 23:24:03 +02:00
}
} ;
2019-10-05 05:31:25 +02:00
ALIGNED ( 4 ) const u8 sText_TrainerAppearsBusy [ ] = _ ( " …… \n The TRAINER appears to be busy… \ p " ) ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_WaitForBattleMale [ ] = _ ( " A battle, huh? \n All right, just give me some time. " ) ;
ALIGNED ( 4 ) const u8 sText_WaitForChatMale [ ] = _ ( " You want to chat, huh? \n Sure, just wait a little. " ) ;
ALIGNED ( 4 ) const u8 sText_ShowTrainerCardMale [ ] = _ ( " Sure thing! As my “Greetings,” \n here's my TRAINER CARD. " ) ;
ALIGNED ( 4 ) const u8 sText_WaitForBattleFemale [ ] = _ ( " A battle? Of course, but I need \n time to get ready. " ) ;
ALIGNED ( 4 ) const u8 sText_WaitForChatFemale [ ] = _ ( " Did you want to chat? \n Okay, but please wait a moment. " ) ;
ALIGNED ( 4 ) const u8 sText_ShowTrainerCardFemale [ ] = _ ( " As my introduction, I'll show you \n my TRAINER CARD. " ) ;
2020-06-09 00:16:57 +02:00
static const u8 * const sText_WaitOrShowCardTexts [ GENDER_COUNT ] [ 4 ] = {
2019-10-04 23:24:03 +02:00
{
2019-12-10 19:48:20 +01:00
sText_WaitForBattleMale ,
sText_WaitForChatMale ,
2019-10-04 23:24:03 +02:00
NULL ,
2019-12-10 19:48:20 +01:00
sText_ShowTrainerCardMale
2019-10-04 23:24:03 +02:00
} , {
2019-12-10 19:48:20 +01:00
sText_WaitForBattleFemale ,
sText_WaitForChatFemale ,
2019-10-04 23:24:03 +02:00
NULL ,
2019-12-10 19:48:20 +01:00
sText_ShowTrainerCardFemale
2019-10-04 23:24:03 +02:00
}
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_WaitForChatMale2 [ ] = _ ( " You want to chat, huh? \n Sure, just wait a little. " ) ; // Unused
ALIGNED ( 4 ) const u8 sText_DoneWaitingBattleMale [ ] = _ ( " Thanks for waiting! \n Let's get our battle started!{PAUSE 60} " ) ;
ALIGNED ( 4 ) const u8 sText_DoneWaitingChatMale [ ] = _ ( " All right! \n Let's chat!{PAUSE 60} " ) ;
ALIGNED ( 4 ) const u8 sText_DoneWaitingBattleFemale [ ] = _ ( " Sorry I made you wait! \n Let's get started!{PAUSE 60} " ) ;
ALIGNED ( 4 ) const u8 sText_DoneWaitingChatFemale [ ] = _ ( " Sorry I made you wait! \n Let's chat.{PAUSE 60} " ) ;
ALIGNED ( 4 ) const u8 sText_TradeWillBeStarted [ ] = _ ( " The trade will be started.{PAUSE 60} " ) ;
ALIGNED ( 4 ) const u8 sText_BattleWillBeStarted [ ] = _ ( " The battle will be started.{PAUSE 60} " ) ;
ALIGNED ( 4 ) const u8 sText_EnteringChat [ ] = _ ( " Entering the chat…{PAUSE 60} " ) ;
2019-10-04 23:24:03 +02:00
2020-06-09 00:16:57 +02:00
static const u8 * const sStartActivityTexts [ ] [ GENDER_COUNT ] [ 3 ] = {
2019-10-04 23:24:03 +02:00
{
{
2019-12-10 19:48:20 +01:00
sText_BattleWillBeStarted ,
sText_EnteringChat ,
sText_TradeWillBeStarted
2019-10-04 23:24:03 +02:00
} , {
2019-12-10 19:48:20 +01:00
sText_BattleWillBeStarted ,
sText_EnteringChat ,
sText_TradeWillBeStarted
2019-10-04 23:24:03 +02:00
}
} , {
{
2019-12-10 19:48:20 +01:00
sText_DoneWaitingBattleMale ,
sText_DoneWaitingChatMale ,
sText_TradeWillBeStarted
2019-10-04 23:24:03 +02:00
} , {
2019-12-10 19:48:20 +01:00
sText_DoneWaitingBattleFemale ,
sText_DoneWaitingChatFemale ,
sText_TradeWillBeStarted
2019-10-04 23:24:03 +02:00
}
}
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_BattleDeclinedMale [ ] = _ ( " Sorry! My POKéMON don't seem to \n be feeling too well right now. \ lLet me battle you another time. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_BattleDeclinedFemale [ ] = _ ( " I'm terribly sorry, but my POKéMON \n aren't feeling well… \ pLet's battle another time. \ p " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
const u8 * const sBattleDeclinedTexts [ GENDER_COUNT ] = {
sText_BattleDeclinedMale ,
sText_BattleDeclinedFemale
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_ShowTrainerCardDeclinedMale [ ] = _ ( " Huh? My TRAINER CARD… \n Where'd it go now? \ lSorry! I'll show you another time! \ p " ) ;
ALIGNED ( 4 ) const u8 sText_ShowTrainerCardDeclinedFemale [ ] = _ ( " Oh? Now where did I put my \n TRAINER CARD?… \ lSorry! I'll show you later! \ p " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
const u8 * const sShowTrainerCardDeclinedTexts [ GENDER_COUNT ] = {
sText_ShowTrainerCardDeclinedMale ,
sText_ShowTrainerCardDeclinedFemale
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_IfYouWantToDoSomethingMale [ ] = _ ( " If you want to do something with \n me, just give me a shout! \ p " ) ;
ALIGNED ( 4 ) const u8 sText_IfYouWantToDoSomethingFemale [ ] = _ ( " If you want to do something with \n me, don't be shy. \ p " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
const u8 * const sIfYouWantToDoSomethingTexts [ GENDER_COUNT ] = {
sText_IfYouWantToDoSomethingMale ,
sText_IfYouWantToDoSomethingFemale
2019-10-04 23:24:03 +02:00
} ;
2019-10-05 05:31:25 +02:00
ALIGNED ( 4 ) const u8 sText_TrainerBattleBusy [ ] = _ ( " Whoops! Sorry, but I have to do \n something else. \ lAnother time, okay? \ p " ) ;
ALIGNED ( 4 ) const u8 sText_NeedTwoMonsOfLevel30OrLower1 [ ] = _ ( " If you want to battle, you need \n two POKéMON that are below \ lLv. 30. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_NeedTwoMonsOfLevel30OrLower2 [ ] = _ ( " For a battle, you need two \n POKéMON that are below Lv. 30. \ p " ) ;
2019-10-04 23:24:03 +02:00
2020-06-09 00:16:57 +02:00
ALIGNED ( 4 ) const u8 sText_DeclineChatMale [ ] = _ ( " Oh, all right. \n Come see me anytime, okay? \ p " ) ;
ALIGNED ( 4 ) const u8 stext_DeclineChatFemale [ ] = _ ( " Oh… \n Please come by anytime. \ p " ) ;
// Response from partner when player declines chat
static const u8 * const sDeclineChatTexts [ GENDER_COUNT ] = {
sText_DeclineChatMale ,
stext_DeclineChatFemale
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_ChatDeclinedMale [ ] = _ ( " Oh, sorry! \n I just can't right this instant. \ lLet's chat another time. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_ChatDeclinedFemale [ ] = _ ( " Oh, I'm sorry. \n I have too much to do right now. \ lLet's chat some other time. \ p " ) ;
2019-10-04 23:24:03 +02:00
2020-06-09 00:16:57 +02:00
// Response from partner when they decline chat
static const u8 * const sChatDeclinedTexts [ GENDER_COUNT ] = {
2019-12-10 19:48:20 +01:00
sText_ChatDeclinedMale ,
sText_ChatDeclinedFemale
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_YoureToughMale [ ] = _ ( " Whoa! \n I can tell you're pretty tough! \ p " ) ;
ALIGNED ( 4 ) const u8 sText_UsedGoodMoveMale [ ] = _ ( " You used that move? \n That's good strategy! \ p " ) ;
ALIGNED ( 4 ) const u8 sText_BattleSurpriseMale [ ] = _ ( " Way to go! \n That was an eye-opener! \ p " ) ;
ALIGNED ( 4 ) const u8 sText_SwitchedMonsMale [ ] = _ ( " Oh! How could you use that \n POKéMON in that situation? \ p " ) ;
ALIGNED ( 4 ) const u8 sText_YoureToughFemale [ ] = _ ( " That POKéMON… \n It's been raised really well! \ p " ) ;
ALIGNED ( 4 ) const u8 sText_UsedGoodMoveFemale [ ] = _ ( " That's it! \n This is the right move now! \ p " ) ;
ALIGNED ( 4 ) const u8 sText_BattleSurpriseFemale [ ] = _ ( " That's awesome! \n You can battle that way? \ p " ) ;
ALIGNED ( 4 ) const u8 sText_SwitchedMonsFemale [ ] = _ ( " You have exquisite timing for \n switching POKéMON! \ p " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
const u8 * const sBattleReactionTexts [ GENDER_COUNT ] [ 4 ] = {
2019-10-04 23:24:03 +02:00
{
2019-12-10 19:48:20 +01:00
sText_YoureToughMale ,
sText_UsedGoodMoveMale ,
sText_BattleSurpriseMale ,
sText_SwitchedMonsMale
2019-10-05 05:31:25 +02:00
} ,
{
2019-12-10 19:48:20 +01:00
sText_YoureToughFemale ,
sText_UsedGoodMoveFemale ,
sText_BattleSurpriseFemale ,
sText_SwitchedMonsFemale
2019-10-04 23:24:03 +02:00
}
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_LearnedSomethingMale [ ] = _ ( " Oh, I see! \n This is educational! \ p " ) ;
ALIGNED ( 4 ) const u8 sText_ThatsFunnyMale [ ] = _ ( " Don't say anything funny anymore! \n I'm sore from laughing! \ p " ) ;
ALIGNED ( 4 ) const u8 sText_RandomChatMale1 [ ] = _ ( " Oh? \n Something like that happened. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_RandomChatMale2 [ ] = _ ( " Hmhm… What? \n So is this what you're saying? \ p " ) ;
ALIGNED ( 4 ) const u8 sText_LearnedSomethingFemale [ ] = _ ( " Is that right? \n I didn't know that. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_ThatsFunnyFemale [ ] = _ ( " Ahaha! \n What is that about? \ p " ) ;
ALIGNED ( 4 ) const u8 sText_RandomChatFemale1 [ ] = _ ( " Yes, that's exactly it! \n That's what I meant. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_RandomChatFemale2 [ ] = _ ( " In other words… \n Yes! That's right! \ p " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
const u8 * const sChatReactionTexts [ GENDER_COUNT ] [ 4 ] = {
2019-10-04 23:24:03 +02:00
{
2019-12-10 19:48:20 +01:00
sText_LearnedSomethingMale ,
sText_ThatsFunnyMale ,
sText_RandomChatMale1 ,
sText_RandomChatMale2
2019-10-05 05:31:25 +02:00
} ,
{
2019-12-10 19:48:20 +01:00
sText_LearnedSomethingFemale ,
sText_ThatsFunnyFemale ,
sText_RandomChatFemale1 ,
sText_RandomChatFemale2
2019-10-04 23:24:03 +02:00
}
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_ShowedTrainerCardMale1 [ ] = _ ( " I'm just showing my TRAINER CARD \n as my way of greeting. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_ShowedTrainerCardMale2 [ ] = _ ( " I hope I get to know you better! \ p " ) ;
ALIGNED ( 4 ) const u8 sText_ShowedTrainerCardFemale1 [ ] = _ ( " We're showing each other our \n TRAINER CARDS to get acquainted. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_ShowedTrainerCardFemale2 [ ] = _ ( " Glad to meet you. \n Please don't be a stranger! \ p " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
const u8 * const sTrainerCardReactionTexts [ GENDER_COUNT ] [ 2 ] = {
2019-10-04 23:24:03 +02:00
{
2019-12-10 19:48:20 +01:00
sText_ShowedTrainerCardMale1 ,
sText_ShowedTrainerCardMale2
2019-10-05 05:31:25 +02:00
} ,
{
2019-12-10 19:48:20 +01:00
sText_ShowedTrainerCardFemale1 ,
sText_ShowedTrainerCardFemale2
2019-10-04 23:24:03 +02:00
}
} ;
2019-10-05 05:31:25 +02:00
ALIGNED ( 4 ) const u8 sText_MaleTraded1 [ ] = _ ( " Yeahah! \n I really wanted this POKéMON! \ p " ) ;
ALIGNED ( 4 ) const u8 sText_MaleTraded2 [ ] = _ ( " Finally, a trade got me that \n POKéMON I'd wanted a long time. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_FemaleTraded1 [ ] = _ ( " I'm trading POKéMON right now. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_FemaleTraded2 [ ] = _ ( " I finally got that POKéMON I \n wanted in a trade! \ p " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
const u8 * const sTradeReactionTexts [ GENDER_COUNT ] [ 4 ] = {
2019-10-04 23:24:03 +02:00
{
2019-10-05 05:31:25 +02:00
sText_MaleTraded1 ,
sText_MaleTraded2
} ,
{
sText_FemaleTraded1 ,
sText_FemaleTraded2
2019-10-04 23:24:03 +02:00
}
} ;
2019-10-05 05:31:25 +02:00
ALIGNED ( 4 ) const u8 sText_XCheckedTradingBoard [ ] = _ ( " {STR_VAR_1} checked the \n TRADING BOARD. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_RegisterMonAtTradingBoard [ ] = _ ( " Welcome to the TRADING BOARD. \ pYou may register your POKéMON \n and offer it up for a trade. \ pWould you like to register one of \n your POKéMON? " ) ;
ALIGNED ( 4 ) const u8 sText_TradingBoardInfo [ ] = _ ( " This TRADING BOARD is used for \n offering a POKéMON for a trade. \ pAll you need to do is register a \n POKéMON for a trade. \ pAnother TRAINER may offer a party \n POKéMON in return for the trade. \ pWe hope you will register POKéMON \n and trade them with many, many \ lother TRAINERS. \ pWould you like to register one of \n your POKéMON? " ) ;
ALIGNED ( 4 ) const u8 sText_ThankYouForRegistering [ ] = _ ( " We have registered your POKéMON for \n trade on the TRADING BOARD. \ pThank you for using this service! \ p " ) ; // unused
ALIGNED ( 4 ) const u8 sText_NobodyHasRegistered [ ] = _ ( " Nobody has registered any POKéMON \n for trade on the TRADING BOARD. \ p \n " ) ; // unused
ALIGNED ( 4 ) const u8 sText_ChooseRequestedMonType [ ] = _ ( " Please choose the type of POKéMON \n that you would like in the trade. \n " ) ;
ALIGNED ( 4 ) const u8 sText_WhichMonWillYouOffer [ ] = _ ( " Which of your party POKéMON will \n you offer in trade? \ p " ) ;
ALIGNED ( 4 ) const u8 sText_RegistrationCanceled [ ] = _ ( " Registration has been canceled. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_RegistraionCompleted [ ] = _ ( " Registration has been completed. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_TradeCanceled [ ] = _ ( " The trade has been canceled. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_CancelRegistrationOfMon [ ] = _ ( " Cancel the registration of your \n Lv. {STR_VAR_2} {STR_VAR_1}? " ) ;
ALIGNED ( 4 ) const u8 sText_CancelRegistrationOfEgg [ ] = _ ( " Cancel the registration of your \n EGG? " ) ;
ALIGNED ( 4 ) const u8 sText_RegistrationCanceled2 [ ] = _ ( " The registration has been canceled. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_TradeTrainersWillBeListed [ ] = _ ( " TRAINERS wishing to make a trade \n will be listed. " ) ; // unused
2019-11-11 03:54:00 +01:00
ALIGNED ( 4 ) const u8 sText_ChooseTrainerToTradeWith2 [ ] = _ ( " Please choose the TRAINER with whom \n you would like to trade POKéMON. " ) ; // unused
2019-10-05 05:31:25 +02:00
ALIGNED ( 4 ) const u8 sText_AskTrainerToMakeTrade [ ] = _ ( " Would you like to ask {STR_VAR_1} to \n make a trade? " ) ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_AwaitingResponseFromTrainer2 [ ] = _ ( " Awaiting a response from \n the other TRAINER… " ) ; // unused
2019-10-05 05:31:25 +02:00
ALIGNED ( 4 ) const u8 sText_NotRegisteredAMonForTrade [ ] = _ ( " You have not registered a POKéMON \n for trading. \ p " ) ; // unused
ALIGNED ( 4 ) const u8 sText_DontHaveTypeTrainerWants [ ] = _ ( " You don't have a {STR_VAR_2}-type \n POKéMON that {STR_VAR_1} wants. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_DontHaveEggTrainerWants [ ] = _ ( " You don't have an EGG that \n {STR_VAR_1} wants. \ p " ) ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_PlayerCantTradeForYourMon [ ] = _ ( " {STR_VAR_1} can't make a trade for \n your POKéMON right now. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_CantTradeForPartnersMon [ ] = _ ( " You can't make a trade for \n {STR_VAR_1}'s POKéMON right now. \ p " ) ;
2019-10-05 05:31:25 +02:00
2019-12-10 19:48:20 +01:00
// Unused
const u8 * const sCantTradeMonTexts [ ] = {
sText_PlayerCantTradeForYourMon ,
sText_CantTradeForPartnersMon
2019-10-04 23:24:03 +02:00
} ;
2019-10-05 05:31:25 +02:00
ALIGNED ( 4 ) const u8 sText_TradeOfferRejected [ ] = _ ( " Your trade offer was rejected. \ p " ) ;
ALIGNED ( 4 ) const u8 sText_EggTrade [ ] = _ ( " EGG TRADE " ) ;
2019-11-11 03:54:00 +01:00
ALIGNED ( 4 ) const u8 sText_ChooseJoinCancel [ ] = _ ( " {DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseTrainer [ ] = _ ( " Please choose a TRAINER. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseTrainerSingleBattle [ ] = _ ( " Please choose a TRAINER for \n a SINGLE BATTLE. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseTrainerDoubleBattle [ ] = _ ( " Please choose a TRAINER for \n a DOUBLE BATTLE. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderMultiBattle [ ] = _ ( " Please choose the LEADER \n for a MULTI BATTLE. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseTrainerToTradeWith [ ] = _ ( " Please choose the TRAINER to \n trade with. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseTrainerToShareWonderCards [ ] = _ ( " Please choose the TRAINER who is \n sharing WONDER CARDS. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseTrainerToShareWonderNews [ ] = _ ( " Please choose the TRAINER who is \n sharing WONDER NEWS. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderPokemonJump [ ] = _ ( " Jump with mini POKéMON! \n Please choose the LEADER. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderBerryCrush [ ] = _ ( " BERRY CRUSH! \n Please choose the LEADER. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderBerryPicking [ ] = _ ( " DODRIO BERRY-PICKING! \n Please choose the LEADER. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderBerryBlender [ ] = _ ( " BERRY BLENDER! \n Please choose the LEADER. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderRecordCorner [ ] = _ ( " RECORD CORNER! \n Please choose the LEADER. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderCoolContest [ ] = _ ( " COOLNESS CONTEST! \n Please choose the LEADER. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderBeautyContest [ ] = _ ( " BEAUTY CONTEST! \n Please choose the LEADER. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderCuteContest [ ] = _ ( " CUTENESS CONTEST! \n Please choose the LEADER. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderSmartContest [ ] = _ ( " SMARTNESS CONTEST! \n Please choose the LEADER. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderToughContest [ ] = _ ( " TOUGHNESS CONTEST! \n Please choose the LEADER. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderBattleTowerLv50 [ ] = _ ( " BATTLE TOWER LEVEL 50! \n Please choose the LEADER. " ) ;
ALIGNED ( 4 ) const u8 sText_ChooseLeaderBattleTowerOpenLv [ ] = _ ( " BATTLE TOWER OPEN LEVEL! \n Please choose the LEADER. " ) ;
static const u8 * const sChooseTrainerTexts [ NUM_LINK_GROUP_TYPES ] =
{
[ LINK_GROUP_SINGLE_BATTLE ] = sText_ChooseTrainerSingleBattle ,
[ LINK_GROUP_DOUBLE_BATTLE ] = sText_ChooseTrainerDoubleBattle ,
[ LINK_GROUP_MULTI_BATTLE ] = sText_ChooseLeaderMultiBattle ,
[ LINK_GROUP_TRADE ] = sText_ChooseTrainerToTradeWith ,
[ LINK_GROUP_POKEMON_JUMP ] = sText_ChooseLeaderPokemonJump ,
[ LINK_GROUP_BERRY_CRUSH ] = sText_ChooseLeaderBerryCrush ,
[ LINK_GROUP_BERRY_PICKING ] = sText_ChooseLeaderBerryPicking ,
[ LINK_GROUP_WONDER_CARD ] = sText_ChooseTrainerToShareWonderCards ,
[ LINK_GROUP_WONDER_NEWS ] = sText_ChooseTrainerToShareWonderNews ,
2020-05-30 10:09:21 +02:00
[ LINK_GROUP_UNION_ROOM_RESUME ] = NULL ,
[ LINK_GROUP_UNION_ROOM_INIT ] = NULL ,
2019-11-11 03:54:00 +01:00
[ LINK_GROUP_UNK_11 ] = NULL ,
[ LINK_GROUP_RECORD_CORNER ] = sText_ChooseLeaderRecordCorner ,
[ LINK_GROUP_BERRY_BLENDER ] = sText_ChooseLeaderBerryBlender ,
[ LINK_GROUP_UNK_14 ] = NULL ,
[ LINK_GROUP_COOL_CONTEST ] = sText_ChooseLeaderCoolContest ,
[ LINK_GROUP_BEAUTY_CONTEST ] = sText_ChooseLeaderBeautyContest ,
[ LINK_GROUP_CUTE_CONTEST ] = sText_ChooseLeaderCuteContest ,
[ LINK_GROUP_SMART_CONTEST ] = sText_ChooseLeaderSmartContest ,
[ LINK_GROUP_TOUGH_CONTEST ] = sText_ChooseLeaderToughContest ,
[ LINK_GROUP_BATTLE_TOWER ] = sText_ChooseLeaderBattleTowerLv50 ,
[ LINK_GROUP_BATTLE_TOWER_OPEN ] = sText_ChooseLeaderBattleTowerOpenLv
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_SearchingForWirelessSystemWait [ ] = _ ( " Searching for a WIRELESS \n COMMUNICATION SYSTEM. Wait... " ) ;
ALIGNED ( 4 ) const u8 sText_MustHaveTwoMonsForDoubleBattle [ ] = _ ( " For a DOUBLE BATTLE, you must have \n at least two POKéMON. \ p " ) ; // Unused
ALIGNED ( 4 ) const u8 sText_AwaitingPlayersResponse [ ] = _ ( " Awaiting {STR_VAR_1}'s response… " ) ;
ALIGNED ( 4 ) const u8 sText_PlayerHasBeenAskedToRegisterYouPleaseWait [ ] = _ ( " {STR_VAR_1} has been asked to register \n you as a member. Please wait. " ) ;
ALIGNED ( 4 ) const u8 sText_AwaitingResponseFromWirelessSystem [ ] = _ ( " Awaiting a response from the \n WIRELESS COMMUNICATION SYSTEM. " ) ;
ALIGNED ( 4 ) const u8 sText_PleaseWaitForOtherTrainersToGather [ ] = _ ( " Please wait for other TRAINERS to \n gather and get ready. " ) ; // Unused
ALIGNED ( 4 ) const u8 sText_NoCardsSharedRightNow [ ] = _ ( " No CARDS appear to be shared \n right now. " ) ;
ALIGNED ( 4 ) const u8 sText_NoNewsSharedRightNow [ ] = _ ( " No NEWS appears to be shared \n right now. " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
const u8 * const sNoWonderSharedTexts [ ] = {
sText_NoCardsSharedRightNow ,
sText_NoNewsSharedRightNow
2019-10-04 23:24:03 +02:00
} ;
2019-12-10 19:48:20 +01:00
ALIGNED ( 4 ) const u8 sText_Battle [ ] = _ ( " BATTLE " ) ;
ALIGNED ( 4 ) const u8 sText_Chat2 [ ] = _ ( " CHAT " ) ;
ALIGNED ( 4 ) const u8 sText_Greetings [ ] = _ ( " GREETINGS " ) ;
ALIGNED ( 4 ) const u8 sText_Exit [ ] = _ ( " EXIT " ) ;
ALIGNED ( 4 ) const u8 sText_Exit2 [ ] = _ ( " EXIT " ) ;
ALIGNED ( 4 ) const u8 sText_Info [ ] = _ ( " INFO " ) ;
ALIGNED ( 4 ) const u8 sText_NameWantedOfferLv [ ] = _ ( " NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV. " ) ;
2019-11-11 03:54:00 +01:00
ALIGNED ( 4 ) const u8 sText_SingleBattle [ ] = _ ( " SINGLE BATTLE " ) ;
ALIGNED ( 4 ) const u8 sText_DoubleBattle [ ] = _ ( " DOUBLE BATTLE " ) ;
ALIGNED ( 4 ) const u8 sText_MultiBattle [ ] = _ ( " MULTI BATTLE " ) ;
ALIGNED ( 4 ) const u8 sText_PokemonTrades [ ] = _ ( " POKéMON TRADES " ) ;
ALIGNED ( 4 ) const u8 sText_Chat [ ] = _ ( " CHAT " ) ;
ALIGNED ( 4 ) const u8 sText_Cards [ ] = _ ( " CARDS " ) ;
ALIGNED ( 4 ) const u8 sText_WonderCards [ ] = _ ( " WONDER CARDS " ) ;
ALIGNED ( 4 ) const u8 sText_WonderNews [ ] = _ ( " WONDER NEWS " ) ;
ALIGNED ( 4 ) const u8 sText_PokemonJump [ ] = _ ( " POKéMON JUMP " ) ;
ALIGNED ( 4 ) const u8 sText_BerryCrush [ ] = _ ( " BERRY CRUSH " ) ;
ALIGNED ( 4 ) const u8 sText_BerryPicking [ ] = _ ( " BERRY-PICKING " ) ;
ALIGNED ( 4 ) const u8 sText_Search [ ] = _ ( " SEARCH " ) ;
ALIGNED ( 4 ) const u8 sText_BerryBlender [ ] = _ ( " BERRY BLENDER " ) ;
ALIGNED ( 4 ) const u8 sText_RecordCorner [ ] = _ ( " RECORD CORNER " ) ;
ALIGNED ( 4 ) const u8 sText_CoolContest [ ] = _ ( " COOL CONTEST " ) ;
ALIGNED ( 4 ) const u8 sText_BeautyContest [ ] = _ ( " BEAUTY CONTEST " ) ;
ALIGNED ( 4 ) const u8 sText_CuteContest [ ] = _ ( " CUTE CONTEST " ) ;
ALIGNED ( 4 ) const u8 sText_SmartContest [ ] = _ ( " SMART CONTEST " ) ;
ALIGNED ( 4 ) const u8 sText_ToughContest [ ] = _ ( " TOUGH CONTEST " ) ;
ALIGNED ( 4 ) const u8 sText_BattleTowerLv50 [ ] = _ ( " BATTLE TOWER LV. 50 " ) ;
ALIGNED ( 4 ) const u8 sText_BattleTowerOpenLv [ ] = _ ( " BATTLE TOWER OPEN LEVEL " ) ;
ALIGNED ( 4 ) const u8 sText_ItsNormalCard [ ] = _ ( " It's a NORMAL CARD. " ) ;
ALIGNED ( 4 ) const u8 sText_ItsBronzeCard [ ] = _ ( " It's a BRONZE CARD! " ) ;
ALIGNED ( 4 ) const u8 sText_ItsCopperCard [ ] = _ ( " It's a COPPER CARD! " ) ;
ALIGNED ( 4 ) const u8 sText_ItsSilverCard [ ] = _ ( " It's a SILVER CARD! " ) ;
ALIGNED ( 4 ) const u8 sText_ItsGoldCard [ ] = _ ( " It's a GOLD CARD! " ) ;
static const u8 * const sCardColorTexts [ ] = {
sText_ItsNormalCard ,
sText_ItsBronzeCard ,
sText_ItsCopperCard ,
sText_ItsSilverCard ,
sText_ItsGoldCard
2019-10-04 23:24:03 +02:00
} ;
2020-08-11 05:50:49 +02:00
ALIGNED ( 4 ) const u8 sText_TrainerCardInfoPage1 [ ] = _ ( " This is {DYNAMIC 0} {DYNAMIC 1}'s \n TRAINER CARD… \ l{DYNAMIC 2} \ pPOKéDEX: {DYNAMIC 3} \n TIME: {DYNAMIC 4}:{DYNAMIC 5} \ p " ) ;
ALIGNED ( 4 ) const u8 sText_TrainerCardInfoPage2 [ ] = _ ( " BATTLES: WINS: {DYNAMIC 0} LOSSES: {DYNAMIC 2} \n TRADES: {DYNAMIC 3} \ p“{DYNAMIC 4} {DYNAMIC 5} \n {DYNAMIC 6} {DYNAMIC 7}” \ p " ) ;
ALIGNED ( 4 ) const u8 sText_GladToMeetYouMale [ ] = _ ( " {DYNAMIC 1}: Glad to have met you!{PAUSE 60} " ) ;
ALIGNED ( 4 ) const u8 sText_GladToMeetYouFemale [ ] = _ ( " {DYNAMIC 1}: Glad to meet you!{PAUSE 60} " ) ;
2019-10-04 23:24:03 +02:00
2019-12-10 19:48:20 +01:00
const u8 * const sGladToMeetYouTexts [ GENDER_COUNT ] = {
sText_GladToMeetYouMale ,
sText_GladToMeetYouFemale
2019-10-04 23:24:03 +02:00
} ;
2020-08-11 05:50:49 +02:00
ALIGNED ( 4 ) const u8 sText_FinishedCheckingPlayersTrainerCard [ ] = _ ( " Finished checking {DYNAMIC 1}'s \n TRAINER CARD.{PAUSE 60} " ) ;
2019-10-04 23:24:03 +02:00
2020-06-09 00:16:57 +02:00
static const u8 * const sLinkGroupActivityNameTexts [ ] = {
[ ACTIVITY_NONE ] = sText_EmptyString ,
[ ACTIVITY_BATTLE_SINGLE ] = sText_SingleBattle ,
[ ACTIVITY_BATTLE_DOUBLE ] = sText_DoubleBattle ,
[ ACTIVITY_BATTLE_MULTI ] = sText_MultiBattle ,
[ ACTIVITY_TRADE ] = sText_PokemonTrades ,
[ ACTIVITY_CHAT ] = sText_Chat ,
[ ACTIVITY_WONDER_CARD ] = sText_WonderCards ,
[ ACTIVITY_WONDER_NEWS ] = sText_WonderNews ,
[ ACTIVITY_CARD ] = sText_Cards ,
[ ACTIVITY_POKEMON_JUMP ] = sText_PokemonJump ,
[ ACTIVITY_BERRY_CRUSH ] = sText_BerryCrush ,
[ ACTIVITY_BERRY_PICK ] = sText_BerryPicking ,
[ ACTIVITY_SEARCH ] = sText_Search ,
[ ACTIVITY_SPIN_TRADE ] = sText_EmptyString ,
[ ACTIVITY_BATTLE_TOWER_OPEN ] = sText_BattleTowerOpenLv ,
[ ACTIVITY_RECORD_CORNER ] = sText_RecordCorner ,
[ ACTIVITY_BERRY_BLENDER ] = sText_BerryBlender ,
[ ACTIVITY_ACCEPT ] = sText_EmptyString ,
[ ACTIVITY_DECLINE ] = sText_EmptyString ,
[ ACTIVITY_NPCTALK ] = sText_EmptyString ,
[ ACTIVITY_PLYRTALK ] = sText_EmptyString ,
[ ACTIVITY_WONDER_CARD2 ] = sText_WonderCards ,
[ ACTIVITY_WONDER_NEWS2 ] = sText_WonderNews ,
[ ACTIVITY_CONTEST_COOL ] = sText_CoolContest ,
[ ACTIVITY_CONTEST_BEAUTY ] = sText_BeautyContest ,
[ ACTIVITY_CONTEST_CUTE ] = sText_CuteContest ,
[ ACTIVITY_CONTEST_SMART ] = sText_SmartContest ,
[ ACTIVITY_CONTEST_TOUGH ] = sText_ToughContest ,
[ ACTIVITY_BATTLE_TOWER ] = sText_BattleTowerLv50
2019-10-04 23:24:03 +02:00
} ;
2020-05-30 10:09:21 +02:00
static const struct WindowTemplate sWindowTemplate_BButtonCancel = {
2019-10-04 23:24:03 +02:00
. bg = 0x00 ,
. tilemapLeft = 0x00 ,
. tilemapTop = 0x00 ,
. width = 0x1E ,
. height = 0x02 ,
. paletteNum = 0x0F ,
. baseBlock = 0x0008
} ;
2020-05-30 10:09:21 +02:00
// Minimum and maximum number of players for a link group
// A minimum of 0 means the min and max are equal
# define LINK_GROUP_CAPACITY(min, max)(((min) << 12) | ((max) << 8))
2020-06-09 00:16:57 +02:00
# define GROUP_MAX(capacity)(capacity & 0x0F)
# define GROUP_MIN(capacity)(capacity >> 4)
# define GROUP_MIN2(capacity)(capacity & 0xF0) // Unnecessary to have both, but needed to match
2020-05-30 10:09:21 +02:00
static const u32 sLinkGroupToActivityAndCapacity [ NUM_LINK_GROUP_TYPES ] = {
[ LINK_GROUP_SINGLE_BATTLE ] = ACTIVITY_BATTLE_SINGLE | LINK_GROUP_CAPACITY ( 0 , 2 ) ,
[ LINK_GROUP_DOUBLE_BATTLE ] = ACTIVITY_BATTLE_DOUBLE | LINK_GROUP_CAPACITY ( 0 , 2 ) ,
[ LINK_GROUP_MULTI_BATTLE ] = ACTIVITY_BATTLE_MULTI | LINK_GROUP_CAPACITY ( 0 , 4 ) ,
[ LINK_GROUP_TRADE ] = ACTIVITY_TRADE | LINK_GROUP_CAPACITY ( 0 , 2 ) ,
[ LINK_GROUP_POKEMON_JUMP ] = ACTIVITY_POKEMON_JUMP | LINK_GROUP_CAPACITY ( 2 , 5 ) ,
[ LINK_GROUP_BERRY_CRUSH ] = ACTIVITY_BERRY_CRUSH | LINK_GROUP_CAPACITY ( 2 , 5 ) ,
[ LINK_GROUP_BERRY_PICKING ] = ACTIVITY_BERRY_PICK | LINK_GROUP_CAPACITY ( 3 , 5 ) ,
[ LINK_GROUP_WONDER_CARD ] = ACTIVITY_NONE | LINK_GROUP_CAPACITY ( 0 , 0 ) ,
[ LINK_GROUP_WONDER_NEWS ] = ACTIVITY_NONE | LINK_GROUP_CAPACITY ( 0 , 0 ) ,
[ LINK_GROUP_UNION_ROOM_RESUME ] = ACTIVITY_NONE | LINK_GROUP_CAPACITY ( 0 , 0 ) ,
[ LINK_GROUP_UNION_ROOM_INIT ] = ACTIVITY_NONE | LINK_GROUP_CAPACITY ( 0 , 0 ) ,
[ LINK_GROUP_UNK_11 ] = ACTIVITY_NONE | LINK_GROUP_CAPACITY ( 0 , 0 ) ,
[ LINK_GROUP_RECORD_CORNER ] = ACTIVITY_RECORD_CORNER | LINK_GROUP_CAPACITY ( 2 , 4 ) ,
[ LINK_GROUP_BERRY_BLENDER ] = ACTIVITY_BERRY_BLENDER | LINK_GROUP_CAPACITY ( 2 , 4 ) ,
[ LINK_GROUP_UNK_14 ] = ACTIVITY_NONE | LINK_GROUP_CAPACITY ( 0 , 0 ) ,
[ LINK_GROUP_COOL_CONTEST ] = ACTIVITY_CONTEST_COOL | LINK_GROUP_CAPACITY ( 2 , 4 ) ,
[ LINK_GROUP_BEAUTY_CONTEST ] = ACTIVITY_CONTEST_BEAUTY | LINK_GROUP_CAPACITY ( 2 , 4 ) ,
[ LINK_GROUP_CUTE_CONTEST ] = ACTIVITY_CONTEST_CUTE | LINK_GROUP_CAPACITY ( 2 , 4 ) ,
[ LINK_GROUP_SMART_CONTEST ] = ACTIVITY_CONTEST_SMART | LINK_GROUP_CAPACITY ( 2 , 4 ) ,
[ LINK_GROUP_TOUGH_CONTEST ] = ACTIVITY_CONTEST_TOUGH | LINK_GROUP_CAPACITY ( 2 , 4 ) ,
[ LINK_GROUP_BATTLE_TOWER ] = ACTIVITY_BATTLE_TOWER | LINK_GROUP_CAPACITY ( 0 , 2 ) ,
[ LINK_GROUP_BATTLE_TOWER_OPEN ] = ACTIVITY_BATTLE_TOWER_OPEN | LINK_GROUP_CAPACITY ( 0 , 2 )
2019-10-04 23:24:03 +02:00
} ;
2020-06-09 00:16:57 +02:00
static const struct WindowTemplate sWindowTemplate_PlayerList = {
. bg = 0 ,
. tilemapLeft = 1 ,
. tilemapTop = 3 ,
. width = 13 ,
. height = 8 ,
. paletteNum = 15 ,
2019-10-04 23:24:03 +02:00
. baseBlock = 0x0044
} ;
2020-06-09 00:16:57 +02:00
static const struct WindowTemplate sWindowTemplate_5PlayerList = {
. bg = 0 ,
. tilemapLeft = 1 ,
. tilemapTop = 3 ,
. width = 13 ,
. height = 10 ,
. paletteNum = 15 ,
2019-10-04 23:24:03 +02:00
. baseBlock = 0x0044
} ;
2020-05-30 10:09:21 +02:00
static const struct WindowTemplate sWindowTemplate_NumPlayerMode = {
2020-06-09 00:16:57 +02:00
. bg = 0 ,
. tilemapLeft = 16 ,
. tilemapTop = 3 ,
. width = 7 ,
. height = 4 ,
. paletteNum = 15 ,
2019-10-04 23:24:03 +02:00
. baseBlock = 0x00c6
} ;
2020-06-09 00:16:57 +02:00
static const struct ListMenuItem sPossibleGroupMembersListMenuItems [ ] = {
2019-12-10 19:48:20 +01:00
{ sText_EmptyString , 0 } ,
{ sText_EmptyString , 1 } ,
{ sText_EmptyString , 2 } ,
{ sText_EmptyString , 3 } ,
{ sText_EmptyString , 4 }
2019-10-04 23:24:03 +02:00
} ;
2020-05-30 10:09:21 +02:00
static const struct ListMenuTemplate sListMenuTemplate_PossibleGroupMembers = {
2020-06-09 00:16:57 +02:00
. items = sPossibleGroupMembersListMenuItems ,
2019-10-04 23:24:03 +02:00
. moveCursorFunc = NULL ,
2020-05-30 10:09:21 +02:00
. itemPrintFunc = ItemPrintFunc_PossibleGroupMembers ,
2020-06-09 00:16:57 +02:00
. totalItems = ARRAY_COUNT ( sPossibleGroupMembersListMenuItems ) ,
2019-10-04 23:24:03 +02:00
. maxShowed = 5 ,
. windowId = 0 ,
. header_X = 0 ,
. item_X = 0 ,
. cursor_X = 0 ,
. upText_Y = 1 ,
. cursorPal = 2 ,
. fillValue = 1 ,
. cursorShadowPal = 3 ,
. lettersSpacing = 0 ,
. itemVerticalPadding = 0 ,
. scrollMultiple = 0 ,
. fontId = 1 ,
. cursorKind = 1
} ;
const struct WindowTemplate gUnknown_082F0174 = {
. bg = 0x00 ,
. tilemapLeft = 0x01 ,
. tilemapTop = 0x03 ,
. width = 0x11 ,
. height = 0x0a ,
. paletteNum = 0x0f ,
. baseBlock = 0x0044
} ;
const struct WindowTemplate gUnknown_082F017C = {
. bg = 0x00 ,
. tilemapLeft = 0x14 ,
. tilemapTop = 0x03 ,
. width = 0x07 ,
. height = 0x04 ,
. paletteNum = 0x0f ,
. baseBlock = 0x00ee
} ;
const struct ListMenuItem gUnknown_082F0184 [ ] = {
2019-12-10 19:48:20 +01:00
{ sText_EmptyString , 0 } ,
{ sText_EmptyString , 1 } ,
{ sText_EmptyString , 2 } ,
{ sText_EmptyString , 3 } ,
{ sText_EmptyString , 4 } ,
{ sText_EmptyString , 5 } ,
{ sText_EmptyString , 6 } ,
{ sText_EmptyString , 7 } ,
{ sText_EmptyString , 8 } ,
{ sText_EmptyString , 9 } ,
{ sText_EmptyString , 10 } ,
{ sText_EmptyString , 11 } ,
{ sText_EmptyString , 12 } ,
{ sText_EmptyString , 13 } ,
{ sText_EmptyString , 14 } ,
{ sText_EmptyString , 15 }
2019-10-04 23:24:03 +02:00
} ;
2020-05-30 10:09:21 +02:00
static const struct ListMenuTemplate sListMenuTemplate_UnionRoomGroups = {
2019-10-04 23:24:03 +02:00
. items = gUnknown_082F0184 ,
. moveCursorFunc = ListMenuDefaultCursorMoveFunc ,
2020-05-30 10:09:21 +02:00
. itemPrintFunc = ListMenuItemPrintFunc_UnionRoomGroups ,
. totalItems = ARRAY_COUNT ( gUnknown_082F0184 ) ,
2019-10-04 23:24:03 +02:00
. maxShowed = 5 ,
. windowId = 0 ,
. header_X = 0 ,
. item_X = 8 ,
. cursor_X = 0 ,
. upText_Y = 1 ,
. cursorPal = 2 ,
. fillValue = 1 ,
. cursorShadowPal = 3 ,
. lettersSpacing = 0 ,
. itemVerticalPadding = 0 ,
. scrollMultiple = 1 ,
. fontId = 1 ,
. cursorKind = 0
} ;
2020-05-30 10:09:21 +02:00
static const struct WindowTemplate sWindowTemplate_InviteToActivity = {
2019-10-04 23:24:03 +02:00
. bg = 0x00 ,
. tilemapLeft = 0x14 ,
. tilemapTop = 0x05 ,
. width = 0x10 ,
. height = 0x08 ,
. paletteNum = 0x0f ,
. baseBlock = 0x0001
} ;
const struct ListMenuItem gUnknown_082F0224 [ ] = {
2019-12-10 19:48:20 +01:00
{ sText_Greetings , 0x208 } ,
{ sText_Battle , 0x241 } ,
{ sText_Chat2 , 0x245 } ,
{ sText_Exit , 0x040 }
2019-10-04 23:24:03 +02:00
} ;
2020-05-30 10:09:21 +02:00
static const struct ListMenuTemplate sListMenuTemplate_InviteToActivity = {
2019-10-04 23:24:03 +02:00
. items = gUnknown_082F0224 ,
. moveCursorFunc = ListMenuDefaultCursorMoveFunc ,
. itemPrintFunc = NULL ,
2020-05-30 10:09:21 +02:00
. totalItems = ARRAY_COUNT ( gUnknown_082F0224 ) ,
2019-10-04 23:24:03 +02:00
. maxShowed = 4 ,
. windowId = 0 ,
. header_X = 0 ,
. item_X = 8 ,
. cursor_X = 0 ,
. upText_Y = 1 ,
. cursorPal = 2 ,
. fillValue = 1 ,
. cursorShadowPal = 3 ,
. lettersSpacing = 0 ,
. itemVerticalPadding = 0 ,
. scrollMultiple = 0 ,
. fontId = 1 ,
. cursorKind = 0
} ;
2020-06-09 00:16:57 +02:00
static const struct WindowTemplate sWindowTemplate_RegisterForTrade = {
2019-10-04 23:24:03 +02:00
. bg = 0x00 ,
. tilemapLeft = 0x12 ,
. tilemapTop = 0x07 ,
. width = 0x10 ,
. height = 0x06 ,
. paletteNum = 0x0f ,
. baseBlock = 0x0001
} ;
2020-06-09 00:16:57 +02:00
static const struct ListMenuItem sRegisterForTradeListMenuItems [ ] = {
2019-10-04 23:24:03 +02:00
{ gText_Register , 1 } ,
2019-12-10 19:48:20 +01:00
{ sText_Info , 2 } ,
{ sText_Exit , 3 }
2019-10-04 23:24:03 +02:00
} ;
2020-06-09 00:16:57 +02:00
static const struct ListMenuTemplate sListMenuTemplate_RegisterForTrade = {
. items = sRegisterForTradeListMenuItems ,
2019-10-04 23:24:03 +02:00
. moveCursorFunc = ListMenuDefaultCursorMoveFunc ,
. itemPrintFunc = NULL ,
2020-06-09 00:16:57 +02:00
. totalItems = ARRAY_COUNT ( sRegisterForTradeListMenuItems ) ,
2019-10-04 23:24:03 +02:00
. maxShowed = 3 ,
. windowId = 0 ,
. header_X = 0 ,
. item_X = 8 ,
. cursor_X = 0 ,
. upText_Y = 1 ,
. cursorPal = 2 ,
. fillValue = 1 ,
. cursorShadowPal = 3 ,
. lettersSpacing = 0 ,
. itemVerticalPadding = 0 ,
. scrollMultiple = 0 ,
. fontId = 1 ,
. cursorKind = 0
} ;
const struct WindowTemplate gUnknown_082F0294 = {
. bg = 0x00 ,
. tilemapLeft = 0x14 ,
. tilemapTop = 0x01 ,
. width = 0x10 ,
. height = 0x0c ,
. paletteNum = 0x0f ,
. baseBlock = 0x0001
} ;
2020-05-30 10:09:21 +02:00
static const struct ListMenuItem sTradingBoardTypes [ NUMBER_OF_MON_TYPES ] = {
2019-10-04 23:24:03 +02:00
{ gTypeNames [ TYPE_NORMAL ] , TYPE_NORMAL } ,
{ gTypeNames [ TYPE_FIRE ] , TYPE_FIRE } ,
{ gTypeNames [ TYPE_WATER ] , TYPE_WATER } ,
{ gTypeNames [ TYPE_ELECTRIC ] , TYPE_ELECTRIC } ,
{ gTypeNames [ TYPE_GRASS ] , TYPE_GRASS } ,
{ gTypeNames [ TYPE_ICE ] , TYPE_ICE } ,
{ gTypeNames [ TYPE_GROUND ] , TYPE_GROUND } ,
{ gTypeNames [ TYPE_ROCK ] , TYPE_ROCK } ,
{ gTypeNames [ TYPE_FLYING ] , TYPE_FLYING } ,
{ gTypeNames [ TYPE_PSYCHIC ] , TYPE_PSYCHIC } ,
{ gTypeNames [ TYPE_FIGHTING ] , TYPE_FIGHTING } ,
{ gTypeNames [ TYPE_POISON ] , TYPE_POISON } ,
{ gTypeNames [ TYPE_BUG ] , TYPE_BUG } ,
{ gTypeNames [ TYPE_GHOST ] , TYPE_GHOST } ,
{ gTypeNames [ TYPE_DRAGON ] , TYPE_DRAGON } ,
{ gTypeNames [ TYPE_STEEL ] , TYPE_STEEL } ,
{ gTypeNames [ TYPE_DARK ] , TYPE_DARK } ,
2020-05-30 10:09:21 +02:00
{ sText_Exit , NUMBER_OF_MON_TYPES }
2019-10-04 23:24:03 +02:00
} ;
2020-06-09 00:16:57 +02:00
static const struct ListMenuTemplate sMenuTemplate_TradingBoardRequestType = {
2019-10-04 23:24:03 +02:00
. items = sTradingBoardTypes ,
. moveCursorFunc = ListMenuDefaultCursorMoveFunc ,
. itemPrintFunc = NULL ,
2020-05-30 10:09:21 +02:00
. totalItems = ARRAY_COUNT ( sTradingBoardTypes ) ,
2019-10-04 23:24:03 +02:00
. maxShowed = 6 ,
. windowId = 0 ,
. header_X = 0 ,
. item_X = 8 ,
. cursor_X = 0 ,
. upText_Y = 1 ,
. cursorPal = 2 ,
. fillValue = 1 ,
. cursorShadowPal = 3 ,
. lettersSpacing = 0 ,
. itemVerticalPadding = 0 ,
. scrollMultiple = 0 ,
. fontId = 1 ,
. cursorKind = 0
} ;
2020-06-09 00:16:57 +02:00
static const struct WindowTemplate sWindowTemplate_TradingBoard = {
2019-10-04 23:24:03 +02:00
. bg = 0x00 ,
. tilemapLeft = 0x01 ,
. tilemapTop = 0x01 ,
. width = 0x1c ,
. height = 0x02 ,
. paletteNum = 0x0d ,
. baseBlock = 0x0001
} ;
const struct WindowTemplate gUnknown_082F034C = {
. bg = 0x00 ,
. tilemapLeft = 0x01 ,
. tilemapTop = 0x05 ,
. width = 0x1c ,
. height = 0x0c ,
. paletteNum = 0x0d ,
. baseBlock = 0x0039
} ;
2020-05-30 10:09:21 +02:00
static const struct ListMenuItem sTradeBoardListMenuItems [ ] = {
2019-12-10 19:48:20 +01:00
{ sText_EmptyString , - 3 } ,
{ sText_EmptyString , 0 } ,
{ sText_EmptyString , 1 } ,
{ sText_EmptyString , 2 } ,
{ sText_EmptyString , 3 } ,
{ sText_EmptyString , 4 } ,
{ sText_EmptyString , 5 } ,
{ sText_EmptyString , 6 } ,
{ sText_EmptyString , 7 } ,
{ sText_Exit2 , 8 }
2019-10-04 23:24:03 +02:00
} ;
2020-05-30 10:09:21 +02:00
static const struct ListMenuTemplate sTradeBoardListMenuTemplate = {
. items = sTradeBoardListMenuItems ,
2019-10-04 23:24:03 +02:00
. moveCursorFunc = ListMenuDefaultCursorMoveFunc ,
2020-05-30 10:09:21 +02:00
. itemPrintFunc = TradeBoardListMenuItemPrintFunc ,
. totalItems = ARRAY_COUNT ( sTradeBoardListMenuItems ) ,
2019-10-04 23:24:03 +02:00
. maxShowed = 6 ,
. windowId = 0 ,
. header_X = 0 ,
. item_X = 8 ,
. cursor_X = 0 ,
. upText_Y = 1 ,
. cursorPal = 14 ,
. fillValue = 15 ,
. cursorShadowPal = 13 ,
. lettersSpacing = 0 ,
. itemVerticalPadding = 0 ,
. scrollMultiple = 0 ,
. fontId = 1 ,
. cursorKind = 0
} ;
const struct WindowTemplate UnrefWindowTemplate_082F03B4 = {
. bg = 0x00 ,
. tilemapLeft = 0x01 ,
. tilemapTop = 0x05 ,
. width = 0x1c ,
. height = 0x0c ,
. paletteNum = 0x0d ,
. baseBlock = 0x0039
} ;
2020-05-30 10:09:21 +02:00
static const struct ListMenuItem sEmptyListMenuItems [ ] = {
2019-12-10 19:48:20 +01:00
{ sText_EmptyString , 0 } ,
{ sText_EmptyString , 1 } ,
{ sText_EmptyString , 2 } ,
{ sText_EmptyString , 3 } ,
{ sText_EmptyString , 4 } ,
{ sText_EmptyString , 5 } ,
{ sText_EmptyString , 6 } ,
{ sText_EmptyString , 7 } ,
{ sText_EmptyString , 8 } ,
{ sText_EmptyString , 9 } ,
{ sText_EmptyString , 10 } ,
{ sText_EmptyString , 11 } ,
{ sText_EmptyString , 12 } ,
{ sText_EmptyString , 13 } ,
{ sText_EmptyString , 14 } ,
{ sText_EmptyString , 15 }
2019-10-04 23:24:03 +02:00
} ;
2020-05-30 10:09:21 +02:00
// Unused
static const struct ListMenuTemplate sUnknownListMenuTemplate = {
. items = sEmptyListMenuItems ,
2019-10-04 23:24:03 +02:00
. moveCursorFunc = ListMenuDefaultCursorMoveFunc ,
. itemPrintFunc = nullsub_14 ,
2020-05-30 10:09:21 +02:00
. totalItems = ARRAY_COUNT ( sEmptyListMenuItems ) ,
2019-10-04 23:24:03 +02:00
. maxShowed = 4 ,
. windowId = 0 ,
. header_X = 0 ,
. item_X = 8 ,
. cursor_X = 0 ,
. upText_Y = 1 ,
. cursorPal = 2 ,
. fillValue = 1 ,
. cursorShadowPal = 3 ,
. lettersSpacing = 0 ,
. itemVerticalPadding = 0 ,
. scrollMultiple = 1 ,
. fontId = 1 ,
. cursorKind = 0
} ;
2020-05-30 10:09:21 +02:00
const struct WirelessGnameUnamePair sWirelessGnameUnamePair_Dummy = { 0 } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_SingleBattle [ ] = { ACTIVITY_BATTLE_SINGLE , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_DoubleBattle [ ] = { ACTIVITY_BATTLE_DOUBLE , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_MultiBattle [ ] = { ACTIVITY_BATTLE_MULTI , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_Trade [ ] = { ACTIVITY_TRADE , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_PokemonJump [ ] = { ACTIVITY_POKEMON_JUMP , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_BerryCrush [ ] = { ACTIVITY_BERRY_CRUSH , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_BerryPicking [ ] = { ACTIVITY_BERRY_PICK , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_WonderCard [ ] = { ACTIVITY_WONDER_CARD2 , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_WonderNews [ ] = { ACTIVITY_WONDER_NEWS2 , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_Resume [ ] = {
IN_UNION_ROOM | ACTIVITY_NONE ,
IN_UNION_ROOM | ACTIVITY_BATTLE_SINGLE ,
IN_UNION_ROOM | ACTIVITY_TRADE ,
IN_UNION_ROOM | ACTIVITY_CHAT ,
IN_UNION_ROOM | ACTIVITY_CARD ,
IN_UNION_ROOM | ACTIVITY_ACCEPT ,
IN_UNION_ROOM | ACTIVITY_DECLINE ,
IN_UNION_ROOM | ACTIVITY_NPCTALK ,
IN_UNION_ROOM | ACTIVITY_PLYRTALK ,
0xff
} ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_Init [ ] = { ACTIVITY_SEARCH , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_Unk11 [ ] = {
ACTIVITY_BATTLE_SINGLE ,
ACTIVITY_BATTLE_DOUBLE ,
ACTIVITY_BATTLE_MULTI ,
ACTIVITY_TRADE ,
ACTIVITY_POKEMON_JUMP ,
ACTIVITY_BERRY_CRUSH ,
ACTIVITY_BERRY_PICK ,
ACTIVITY_WONDER_CARD2 ,
ACTIVITY_WONDER_NEWS2 ,
ACTIVITY_SPIN_TRADE ,
0xff
} ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_RecordCorner [ ] = { ACTIVITY_RECORD_CORNER , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_BerryBlender [ ] = { ACTIVITY_BERRY_BLENDER , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_CoolContest [ ] = { ACTIVITY_CONTEST_COOL , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_BeautyContest [ ] = { ACTIVITY_CONTEST_BEAUTY , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_CuteContest [ ] = { ACTIVITY_CONTEST_CUTE , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_SmartContest [ ] = { ACTIVITY_CONTEST_SMART , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_ToughContest [ ] = { ACTIVITY_CONTEST_TOUGH , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_BattleTower [ ] = { ACTIVITY_BATTLE_TOWER , 0xff } ;
ALIGNED ( 4 ) const u8 sAcceptedActivityIds_BattleTowerOpen [ ] = { ACTIVITY_BATTLE_TOWER_OPEN , 0xff } ;
const u8 * const sAcceptedActivityIds [ NUM_LINK_GROUP_TYPES ] = {
[ LINK_GROUP_SINGLE_BATTLE ] = sAcceptedActivityIds_SingleBattle ,
[ LINK_GROUP_DOUBLE_BATTLE ] = sAcceptedActivityIds_DoubleBattle ,
[ LINK_GROUP_MULTI_BATTLE ] = sAcceptedActivityIds_MultiBattle ,
[ LINK_GROUP_TRADE ] = sAcceptedActivityIds_Trade ,
[ LINK_GROUP_POKEMON_JUMP ] = sAcceptedActivityIds_PokemonJump ,
[ LINK_GROUP_BERRY_CRUSH ] = sAcceptedActivityIds_BerryCrush ,
[ LINK_GROUP_BERRY_PICKING ] = sAcceptedActivityIds_BerryPicking ,
[ LINK_GROUP_WONDER_CARD ] = sAcceptedActivityIds_WonderCard ,
[ LINK_GROUP_WONDER_NEWS ] = sAcceptedActivityIds_WonderNews ,
[ LINK_GROUP_UNION_ROOM_RESUME ] = sAcceptedActivityIds_Resume ,
[ LINK_GROUP_UNION_ROOM_INIT ] = sAcceptedActivityIds_Init ,
[ LINK_GROUP_UNK_11 ] = sAcceptedActivityIds_Unk11 ,
[ LINK_GROUP_RECORD_CORNER ] = sAcceptedActivityIds_RecordCorner ,
[ LINK_GROUP_BERRY_BLENDER ] = sAcceptedActivityIds_BerryBlender ,
[ LINK_GROUP_UNK_14 ] = NULL ,
[ LINK_GROUP_COOL_CONTEST ] = sAcceptedActivityIds_CoolContest ,
[ LINK_GROUP_BEAUTY_CONTEST ] = sAcceptedActivityIds_BeautyContest ,
[ LINK_GROUP_CUTE_CONTEST ] = sAcceptedActivityIds_CuteContest ,
[ LINK_GROUP_SMART_CONTEST ] = sAcceptedActivityIds_SmartContest ,
[ LINK_GROUP_TOUGH_CONTEST ] = sAcceptedActivityIds_ToughContest ,
[ LINK_GROUP_BATTLE_TOWER ] = sAcceptedActivityIds_BattleTower ,
[ LINK_GROUP_BATTLE_TOWER_OPEN ] = sAcceptedActivityIds_BattleTowerOpen
2019-10-04 23:24:03 +02:00
} ;
2020-05-30 10:09:21 +02:00
static const u8 sLinkGroupToURoomActivity [ NUM_LINK_GROUP_TYPES + 2 ] =
2019-11-11 03:54:00 +01:00
{
2020-05-30 10:09:21 +02:00
[ LINK_GROUP_SINGLE_BATTLE ] = ACTIVITY_BATTLE_SINGLE ,
[ LINK_GROUP_DOUBLE_BATTLE ] = ACTIVITY_BATTLE_DOUBLE ,
[ LINK_GROUP_MULTI_BATTLE ] = ACTIVITY_BATTLE_MULTI ,
[ LINK_GROUP_TRADE ] = ACTIVITY_TRADE ,
[ LINK_GROUP_POKEMON_JUMP ] = ACTIVITY_POKEMON_JUMP ,
[ LINK_GROUP_BERRY_CRUSH ] = ACTIVITY_BERRY_CRUSH ,
[ LINK_GROUP_BERRY_PICKING ] = ACTIVITY_BERRY_PICK ,
[ LINK_GROUP_WONDER_CARD ] = ACTIVITY_WONDER_CARD2 ,
[ LINK_GROUP_WONDER_NEWS ] = ACTIVITY_WONDER_NEWS2 ,
[ LINK_GROUP_UNION_ROOM_RESUME ] = ACTIVITY_NONE ,
[ LINK_GROUP_UNION_ROOM_INIT ] = ACTIVITY_NONE ,
[ LINK_GROUP_UNK_11 ] = ACTIVITY_NONE ,
[ LINK_GROUP_RECORD_CORNER ] = ACTIVITY_RECORD_CORNER ,
[ LINK_GROUP_BERRY_BLENDER ] = ACTIVITY_BERRY_BLENDER ,
[ LINK_GROUP_UNK_14 ] = ACTIVITY_NONE ,
[ LINK_GROUP_COOL_CONTEST ] = ACTIVITY_CONTEST_COOL ,
[ LINK_GROUP_BEAUTY_CONTEST ] = ACTIVITY_CONTEST_BEAUTY ,
[ LINK_GROUP_CUTE_CONTEST ] = ACTIVITY_CONTEST_CUTE ,
[ LINK_GROUP_SMART_CONTEST ] = ACTIVITY_CONTEST_SMART ,
[ LINK_GROUP_TOUGH_CONTEST ] = ACTIVITY_CONTEST_TOUGH ,
[ LINK_GROUP_BATTLE_TOWER ] = ACTIVITY_BATTLE_TOWER ,
[ LINK_GROUP_BATTLE_TOWER_OPEN ] = ACTIVITY_BATTLE_TOWER_OPEN
2019-10-04 23:24:03 +02:00
} ;