diff options
author | GriffinR <griffin.richards@comcast.net> | 2019-12-05 15:33:36 -0500 |
---|---|---|
committer | GriffinR <griffin.richards@comcast.net> | 2019-12-05 15:33:36 -0500 |
commit | 548af3c0f1a2807e791fe7bbfe1fc57ddb726c5e (patch) | |
tree | e4ef44282b7599b1bdefb729ba33e74d15ba0d86 | |
parent | 70d1f54ab96235b0e0d07d40526f16449e7cb1e7 (diff) |
Document a bit of Match Call
-rw-r--r-- | data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc | 4 | ||||
-rw-r--r-- | data/text/match_call.inc | 218 | ||||
-rw-r--r-- | gflib/string_util.c | 40 | ||||
-rw-r--r-- | include/constants/global.h | 1 | ||||
-rw-r--r-- | include/global.h | 2 | ||||
-rw-r--r-- | include/gym_leader_rematch.h | 9 | ||||
-rw-r--r-- | include/pokenav.h | 39 | ||||
-rw-r--r-- | include/strings.h | 59 | ||||
-rw-r--r-- | src/data/text/match_call_messages.h | 787 | ||||
-rw-r--r-- | src/daycare.c | 4 | ||||
-rw-r--r-- | src/naming_screen.c | 3 | ||||
-rw-r--r-- | src/pokenav.c | 2 | ||||
-rw-r--r-- | src/pokenav_match_call_data.c | 653 | ||||
-rw-r--r-- | src/pokenav_match_call_ui.c | 30 | ||||
-rw-r--r-- | src/pokenav_unk_1.c | 4 | ||||
-rw-r--r-- | src/pokenav_unk_10.c | 3 | ||||
-rw-r--r-- | src/pokenav_unk_2.c | 2 | ||||
-rwxr-xr-x | src/pokenav_unk_3.c | 168 | ||||
-rwxr-xr-x | src/pokenav_unk_4.c | 24 | ||||
-rw-r--r-- | src/pokenav_unk_6.c | 9 | ||||
-rw-r--r-- | src/pokenav_unk_8.c | 24 | ||||
-rw-r--r-- | src/pokenav_unk_9.c | 19 | ||||
-rw-r--r-- | src/strings.c | 108 |
23 files changed, 1149 insertions, 1063 deletions
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc index 403377161..46dfe025f 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc @@ -357,12 +357,12 @@ MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall:: @ 8224175 end MossdeepCity_SpaceCenter_2F_EventScript_MayRayquazaCall:: @ 8224193 - pokenavcall MossdeepCity_SpaceCenter_2F_Text_MayRayquazaCall + pokenavcall MatchCall_Text_MayRayquazaCall waitmessage return MossdeepCity_SpaceCenter_2F_EventScript_BrendanRayquazaCall:: @ 822419A - pokenavcall MossdeepCity_SpaceCenter_2F_Text_BrendanRayquazaCall + pokenavcall MatchCall_Text_BrendanRayquazaCall waitmessage return diff --git a/data/text/match_call.inc b/data/text/match_call.inc index 9ecdd03c7..568ed2a86 100644 --- a/data/text/match_call.inc +++ b/data/text/match_call.inc @@ -2014,7 +2014,7 @@ MatchCall_BattlePyramidText14:: @ 82B21FC .string "You're an inspiration!\n" .string "See you again!$" -gText_Mom_Pokenav_2B227B:: @ 82B227B +MatchCall_Text_Mom1:: @ 82B227B .string "MOM: Your father and you…\n" .string "Everyone is captivated by POKéMON.\p" .string "What is the charm of POKéMON?\p" @@ -2022,7 +2022,7 @@ gText_Mom_Pokenav_2B227B:: @ 82B227B .string "I adore POKéMON that help me with\l" .string "my everyday chores.$" -gText_Mom_Pokenav_2B2310:: @ 82B2310 +MatchCall_Text_Mom2:: @ 82B2310 .string "MOM: Hi, {PLAYER}!\n" .string "Your father keeps himself locked\l" .string "away in the PETALBURG GYM.\p" @@ -2032,13 +2032,13 @@ gText_Mom_Pokenav_2B2310:: @ 82B2310 .string "I'm guessing that losing to you\n" .string "was a big blow to his pride!$" -gText_Mom_Pokenav_2B23F3:: @ 82B23F3 +MatchCall_Text_Mom3:: @ 82B23F3 .string "MOM: {PLAYER}…\n" .string "Don't worry about me or the house.\p" .string "Wear those RUNNING SHOES until\n" .string "they fall apart, honey!$" -gText_Roxanne_Pokenav_2B2456:: @ 82B2456 +MatchCall_Text_Roxanne1:: @ 82B2456 .string "ROXANNE: Oh, hello, {PLAYER}!\p" .string "I've been hard at work retraining\n" .string "since we met.\p" @@ -2047,7 +2047,7 @@ gText_Roxanne_Pokenav_2B2456:: @ 82B2456 .string "But when I do, please visit my GYM\n" .string "for a rematch!$" -gText_Roxanne_Pokenav_2B250E:: @ 82B250E +MatchCall_Text_Roxanne2:: @ 82B250E .string "ROXANNE: Is this {PLAYER}?\n" .string "Congratulations!\l" .string "I've been hearing about you!\p" @@ -2056,18 +2056,18 @@ gText_Roxanne_Pokenav_2B250E:: @ 82B250E .string "But when I do, please visit my GYM\n" .string "for a rematch!$" -gText_Roxanne_Pokenav_2B25C1:: @ 82B25C1 +MatchCall_Text_Roxanne3:: @ 82B25C1 .string "ROXANNE: {PLAYER}!\n" .string "My GYM is ready!\p" .string "Please visit RUSTBORO whenever\n" .string "you can!$" -gText_Roxanne_Pokenav_2B2607:: @ 82B2607 +MatchCall_Text_Roxanne4:: @ 82B2607 .string "ROXANNE: At the RUSTBORO GYM,\n" .string "the fact that we battled, {PLAYER},\l" .string "is a matter of pride.$" -gText_Brawly_Pokenav_2B2659:: @ 82B2659 +MatchCall_Text_Brawly1:: @ 82B2659 .string "BRAWLY: Hey, there, {PLAYER}{KUN}!\p" .string "I learned a lot from the battle we\n" .string "had together.\p" @@ -2078,7 +2078,7 @@ gText_Brawly_Pokenav_2B2659:: @ 82B2659 .string "But if I can reopen the GYM,\n" .string "I want you to challenge us again.$" -gText_Brawly_Pokenav_2B275D:: @ 82B275D +MatchCall_Text_Brawly2:: @ 82B275D .string "BRAWLY: Hey, {PLAYER}{KUN}!\n" .string "Congratulations!\p" .string "Word about your exploits arrived\n" @@ -2090,17 +2090,17 @@ gText_Brawly_Pokenav_2B275D:: @ 82B275D .string "But if I can reopen the GYM,\n" .string "I want you to challenge us again.$" -gText_Brawly_Pokenav_2B286F:: @ 82B286F +MatchCall_Text_Brawly3:: @ 82B286F .string "BRAWLY: Hey, {PLAYER}{KUN}!\n" .string "My GYM's ready for action!\p" .string "Come back to DEWFORD anytime\n" .string "for another challenge!$" -gText_Brawly_Pokenav_2B28D1:: @ 82B28D1 +MatchCall_Text_Brawly4:: @ 82B28D1 .string "BRAWLY: {PLAYER}{KUN}, I don't think\n" .string "I'll ever get bored of battling you!$" -gText_Wattson_Pokenav_2B2912:: @ 82B2912 +MatchCall_Text_Wattson1:: @ 82B2912 .string "WATTSON: Oh, it's you!\p" .string "After you left, I've been redoing\n" .string "my training from scratch.\p" @@ -2109,7 +2109,7 @@ gText_Wattson_Pokenav_2B2912:: @ 82B2912 .string "You'll have to wait till then!\n" .string "Wahahahaha!$" -gText_Wattson_Pokenav_2B29CA:: @ 82B29CA +MatchCall_Text_Wattson2:: @ 82B29CA .string "WATTSON: Wahahahaha!\p" .string "You've really done it, haven't you?\n" .string "I've been getting word about you!\p" @@ -2120,18 +2120,18 @@ gText_Wattson_Pokenav_2B29CA:: @ 82B29CA .string "You'll have to wait till then!\n" .string "Wahahahaha!$" -gText_Wattson_Pokenav_2B2AB6:: @ 82B2AB6 +MatchCall_Text_Wattson3:: @ 82B2AB6 .string "WATTSON: Oh, it's you!\n" .string "My GYM's ready!\p" .string "Visit MAUVILLE anytime!\n" .string "Wahahahaha!$" -gText_Wattson_Pokenav_2B2B01:: @ 82B2B01 +MatchCall_Text_Wattson4:: @ 82B2B01 .string "WATTSON: Wahahaha!\p" .string "A battle with you is always charged\n" .string "with shocking power!$" -gText_Flannery_Pokenav_2B2B4D:: @ 82B2B4D +MatchCall_Text_Flannery1:: @ 82B2B4D .string "FLANNERY: {PLAYER}…\p" .string "When we battled, I learned exactly\n" .string "how immature I was.\p" @@ -2141,7 +2141,7 @@ gText_Flannery_Pokenav_2B2B4D:: @ 82B2B4D .string "When the time comes, {PLAYER},\n" .string "please challenge us again.$" -gText_Flannery_Pokenav_2B2C0E:: @ 82B2C0E +MatchCall_Text_Flannery2:: @ 82B2C0E .string "FLANNERY: Hello, {PLAYER}?\n" .string "Congratulations!\p" .string "Word of your success has reached\n" @@ -2152,44 +2152,44 @@ gText_Flannery_Pokenav_2B2C0E:: @ 82B2C0E .string "appear beside my name in the\l" .string "MATCH CALL list.$" -gText_Flannery_Pokenav_2B2CF1:: @ 82B2CF1 +MatchCall_Text_Flannery3:: @ 82B2CF1 .string "FLANNERY: Oh, {PLAYER}?\n" .string "Our GYM's ready!\p" .string "Come to LAVARIDGE for a soak\n" .string "in the hot spring and a challenge!$" -gText_Flannery_Pokenav_2B2D54:: @ 82B2D54 +MatchCall_Text_Flannery4:: @ 82B2D54 .string "FLANNERY: {PLAYER}…\n" .string "I'm positive that you keep getting\l" .string "better at training every time.$" -gText_Winona_Pokenav_2B2DA4:: @ 82B2DA4 +MatchCall_Text_Winona1:: @ 82B2DA4 .string "WINONA: Hello, {PLAYER}!\p" .string "Thanks to our battle, I've come\n" .string "to understand my weak points!\p" .string "When I reopen the GYM, I won't go\n" .string "down in defeat again!$" -gText_Winona_Pokenav_2B2E2B:: @ 82B2E2B +MatchCall_Text_Winona2:: @ 82B2E2B .string "WINONA: You've done it, {PLAYER}!\p" .string "News about the new CHAMPION\n" .string "has reached us in FORTREE!\p" .string "But… The next time we battle,\n" .string "it's not going to end the same way.$" -gText_Winona_Pokenav_2B2EC2:: @ 82B2EC2 +MatchCall_Text_Winona3:: @ 82B2EC2 .string "WINONA: Is this {PLAYER}?\n" .string "Our GYM is back in operation!\p" .string "We're waiting for you in FORTREE!$" -gText_Winona_Pokenav_2B2F16:: @ 82B2F16 +MatchCall_Text_Winona4:: @ 82B2F16 .string "WINONA: {PLAYER}…\n" .string "Though I have lost, my wings will\l" .string "never break.\p" .string "Yes, in exactly the same way that\n" .string "you never lost sight of your dream.$" -gText_TateLiza_Pokenav_2B2F97:: @ 82B2F97 +MatchCall_Text_TateLiza1:: @ 82B2F97 .string "TATE: Oh! You're…\n" .string "LIZA: {PLAYER}!\p" .string "TATE: We're in training again…\n" @@ -2199,7 +2199,7 @@ gText_TateLiza_Pokenav_2B2F97:: @ 82B2F97 .string "TATE: A mark'll appear by our name…\n" .string "LIZA: On the MATCH CALL list.$" -gText_TateLiza_Pokenav_2B306E:: @ 82B306E +MatchCall_Text_TateLiza2:: @ 82B306E .string "TATE: {PLAYER}, congratulations!\n" .string "LIZA: {PLAYER}, congratulations!\p" .string "TATE: The two of us are…\n" @@ -2209,7 +2209,7 @@ gText_TateLiza_Pokenav_2B306E:: @ 82B306E .string "TATE: A mark'll appear by our name…\n" .string "LIZA: On the MATCH CALL list.$" -gText_TateLiza_Pokenav_2B3158:: @ 82B3158 +MatchCall_Text_TateLiza3:: @ 82B3158 .string "TATE: {PLAYER}!\n" .string "LIZA: {PLAYER}!\p" .string "TATE: Our GYM is ready!\n" @@ -2217,13 +2217,13 @@ gText_TateLiza_Pokenav_2B3158:: @ 82B3158 .string "TATE: Please come visit…\n" .string "LIZA: MOSSDEEP anytime!$" -gText_TateLiza_Pokenav_2B31CD:: @ 82B31CD +MatchCall_Text_TateLiza4:: @ 82B31CD .string "TATE: {PLAYER}, the battle we had…\n" .string "LIZA: Is an invaluable experience.\p" .string "TATE: It would be nice if…\n" .string "LIZA: We could all battle again!$" -gText_Juan_Pokenav_2B3249:: @ 82B3249 +MatchCall_Text_Juan1:: @ 82B3249 .string "JUAN: Hmm…\n" .string "{PLAYER}{KUN}… Was it?\p" .string "Our battle together--it brought\n" @@ -2232,7 +2232,7 @@ gText_Juan_Pokenav_2B3249:: @ 82B3249 .string "Perhaps you are a genius who may\n" .string "yet surpass WALLACE!$" -gText_Juan_Pokenav_2B32EC:: @ 82B32EC +MatchCall_Text_Juan2:: @ 82B32EC .string "JUAN: Fufu… {PLAYER}{KUN}…\n" .string "You've finally achieved your goal.\p" .string "My eye for appraising talent wasn't\n" @@ -2241,14 +2241,14 @@ gText_Juan_Pokenav_2B32EC:: @ 82B32EC .string "you, for you have scaled the peak\l" .string "of power and prestige.$" -gText_Juan_Pokenav_2B33AA:: @ 82B33AA +MatchCall_Text_Juan3:: @ 82B33AA .string "JUAN: Hoho… {PLAYER}{KUN}…\p" .string "Our SOOTOPOLIS GYM has finally\n" .string "reopened.\p" .string "If you wish to see me, you are\n" .string "welcome to visit anytime.$" -gText_Juan_Pokenav_2B341E:: @ 82B341E +MatchCall_Text_Juan4:: @ 82B341E .string "JUAN: {PLAYER}{KUN}…\p" .string "Like the finest music, the battles\n" .string "we wage together strike chords\l" @@ -2256,7 +2256,7 @@ gText_Juan_Pokenav_2B341E:: @ 82B341E .string "When I close my eyes, I see visions\n" .string "of you soaring with the melody…$" -gText_Sidney_Pokenav_2B34CC:: @ 82B34CC +MatchCall_Text_Sidney:: @ 82B34CC .string "SIDNEY: Yo, {PLAYER}!\p" .string "If you want to battle with me\n" .string "again, you come on back whenever\l" @@ -2264,7 +2264,7 @@ gText_Sidney_Pokenav_2B34CC:: @ 82B34CC .string "I'll always be here!\n" .string "I'll be waiting!$" -gText_Phoebe_Pokenav_2B3561:: @ 82B3561 +MatchCall_Text_Phoebe:: @ 82B3561 .string "PHOEBE: Hi, {PLAYER}!\p" .string "How about coming back here again\n" .string "sometime?\p" @@ -2272,7 +2272,7 @@ gText_Phoebe_Pokenav_2B3561:: @ 82B3561 .string "your bond has grown with your\l" .string "POKéMON.$" -gText_Glacia_Pokenav_2B35E4:: @ 82B35E4 +MatchCall_Text_Glacia:: @ 82B35E4 .string "GLACIA: Hello, {PLAYER}.\p" .string "I trust you haven't become\n" .string "complacent with your power?\p" @@ -2280,7 +2280,7 @@ gText_Glacia_Pokenav_2B35E4:: @ 82B35E4 .string "hot emotions just a little, do come\l" .string "to the POKéMON LEAGUE…$" -gText_Drake_Pokenav_2B368B:: @ 82B368B +MatchCall_Text_Drake:: @ 82B368B .string "DRAKE: That voice… {PLAYER}, is it?\n" .string "You sound well…\p" .string "I understand that there is now\n" @@ -2292,7 +2292,7 @@ gText_Drake_Pokenav_2B368B:: @ 82B368B .string "the POKéMON LEAGUE!\p" .string "Don't you agree, {PLAYER}?$" -gText_Wallace_Pokenav_2B3790:: @ 82B3790 +MatchCall_Text_Wallace:: @ 82B3790 .string "WALLACE: Hello, {PLAYER}{KUN}.\n" .string "Have you met STEVEN?\p" .string "He is…\n" @@ -2306,7 +2306,7 @@ gText_Wallace_Pokenav_2B3790:: @ 82B3790 .string "But what is a rare stone exactly?\n" .string "All I can think of is a METEORITE…$" -MossdeepCity_SpaceCenter_2F_Text_MayRayquazaCall: @ 82B38C1 +MatchCall_Text_MayRayquazaCall: @ 82B38C1 .string "… … … … … …\n" .string "… … … … … Beep!\p" .string "MAY: Hi, {PLAYER}{KUN}!\p" @@ -2321,7 +2321,7 @@ MossdeepCity_SpaceCenter_2F_Text_MayRayquazaCall: @ 82B38C1 .string "… … … … … …\n" .string "… … … … … Click!$" -MossdeepCity_SpaceCenter_2F_Text_BrendanRayquazaCall: @ 82B39C6 +MatchCall_Text_BrendanRayquazaCall: @ 82B39C6 .string "… … … … … …\n" .string "… … … … … Beep!\p" .string "BRENDAN: Hey, {PLAYER}!\n" @@ -2335,14 +2335,14 @@ MossdeepCity_SpaceCenter_2F_Text_BrendanRayquazaCall: @ 82B39C6 .string "… … … … … …\n" .string "… … … … … Click!$" -gText_May_Pokenav_2B3AB3:: @ 2B3AB3 +MatchCall_Text_May1:: @ 2B3AB3 .string "MAY: Hi, {PLAYER}{KUN}!\p" .string "MR. BRINEY retired as a SAILOR,\n" .string "but I still see him out on the sea\l" .string "with his pet PEEKO sometimes.\p" .string "He must love the sea still.$" -gText_May_Pokenav_2B3B3F:: @ 2B3B3F +MatchCall_Text_May2:: @ 2B3B3F .string "MAY: Hi, {PLAYER}{KUN}!\p" .string "You know how little towns like\n" .string "PETALBURG and DEWFORD have GYMS?\p" @@ -2351,7 +2351,7 @@ gText_May_Pokenav_2B3B3F:: @ 2B3B3F .string "When they finally build a GYM there,\n" .string "I should apply to be the LEADER.$" -gText_May_Pokenav_2B3C13:: @ 2B3C13 +MatchCall_Text_May3:: @ 2B3C13 .string "MAY: Hi, {PLAYER}{KUN}!\p" .string "Do you remember a man named\n" .string "the CUTTER in RUSTBORO?\l" @@ -2363,13 +2363,13 @@ gText_May_Pokenav_2B3C13:: @ 2B3C13 .string "… … … … … …\p" .string "The ROCK SMASH GUY!$" -gText_May_Pokenav_2B3CF3:: @ 2B3CF3 +MatchCall_Text_May4:: @ 2B3CF3 .string "MAY: {PLAYER}{KUN}?\p" .string "RUSTURF TUNNEL…\n" .string "They named it that because it\l" .string "joins RUSTBORO and VERDANTURF.$" -gText_May_Pokenav_2B3D4B:: @ 2B3D4B +MatchCall_Text_May5:: @ 2B3D4B .string "MAY: {PLAYER}{KUN}, how are you?\p" .string "I'm out on ROUTE 111 now.\p" .string "I'm going to get a rest at an old\n" @@ -2377,7 +2377,7 @@ gText_May_Pokenav_2B3D4B:: @ 2B3D4B .string "She lives just north of\n" .string "the desert.$" -gText_May_Pokenav_2B3DD1:: @ 2B3DD1 +MatchCall_Text_May6:: @ 2B3DD1 .string "MAY: Hi, {PLAYER}{KUN}!\p" .string "Did you know about the MIRAGE\n" .string "TOWER in the desert?\p" @@ -2385,21 +2385,21 @@ gText_May_Pokenav_2B3DD1:: @ 2B3DD1 .string "to mysteriously come and go.\p" .string "I wish I could see it.$" -gText_May_Pokenav_2B3E69:: @ 2B3E69 +MatchCall_Text_May7:: @ 2B3E69 .string "MAY: {PLAYER}{KUN}, yahoo!\n" .string "I'm on ROUTE 119 now.\p" .string "There's a big river here, and\n" .string "it often rains.\p" .string "I got soaked!$" -gText_May_Pokenav_2B3ECD:: @ 2B3ECD +MatchCall_Text_May8:: @ 2B3ECD .string "MAY: {PLAYER}{KUN}, hi.\p" .string "MT. PYRE is a memorial to POKéMON\n" .string "whose lives have ended.\p" .string "Maybe as a result, it's infested\n" .string "with many GHOST-type POKéMON!$" -gText_May_Pokenav_2B3F2B:: @ 2B3F2B +MatchCall_Text_May9:: @ 2B3F2B .string "MAY: Hi, {PLAYER}{KUN}!\p" .string "I was thinking of going to the hot\n" .string "spring in LAVARIDGE.\p" @@ -2407,14 +2407,14 @@ gText_May_Pokenav_2B3F2B:: @ 2B3F2B .string "PASS, I ran into some bad-looking\l" .string "characters. The mood was ugly!$" -gText_May_Pokenav_2B3FFB:: @ 2B3FFB +MatchCall_Text_May10:: @ 2B3FFB .string "MAY: Hi, {PLAYER}{KUN}!\n" .string "Did you see the news?\p" .string "They say CAPT. STERN discovered\n" .string "the SEAFLOOR CAVERN while on his\l" .string "submarine expedition.$" -gText_May_Pokenav_2B402B:: @ 2B402B +MatchCall_Text_May11:: @ 2B402B .string "MAY: Hi, {PLAYER}{KUN}!\n" .string "Don't you think it's neat?\p" .string "Even if you don't have a boat,\n" @@ -2424,7 +2424,7 @@ gText_May_Pokenav_2B402B:: @ 2B402B .string "There's a POKéMON move that lets\n" .string "you go to the bottom of the sea.$" -gText_May_Pokenav_2B414B:: @ 2B414B +MatchCall_Text_May12:: @ 2B414B .string "MAY: Hi, {PLAYER}{KUN}!\n" .string "Hope things are okay!\p" .string "Have you been on the sea and\n" @@ -2435,7 +2435,7 @@ gText_May_Pokenav_2B414B:: @ 2B414B .string "When you get to the other side,\n" .string "come up to the surface. Easy!$" -gText_May_Pokenav_2B4228:: @ 2B4228 +MatchCall_Text_May13:: @ 2B4228 .string "MAY: Hi, {PLAYER}{KUN}!\p" .string "How's it going?\n" .string "Are you filling your POKéDEX?\p" @@ -2444,7 +2444,7 @@ gText_May_Pokenav_2B4228:: @ 2B4228 .string "And there are three of them!\p" .string "I would love to see even one…$" -gText_May_Pokenav_2B42E0:: @ 2B42E0 +MatchCall_Text_May14:: @ 2B42E0 .string "MAY: {PLAYER}{KUN}!\n" .string "I heard the rumors!\p" .string "You beat the SOOTOPOLIS GYM\n" @@ -2452,7 +2452,7 @@ gText_May_Pokenav_2B42E0:: @ 2B42E0 .string "That means you don't have far\n" .string "to go, do you?$" -gText_May_Pokenav_2B4350:: @ 2B4350 +MatchCall_Text_May15:: @ 2B4350 .string "MAY: There isn't a single TRAINER\n" .string "left in HOENN who doesn't know who\l" .string "you are, {PLAYER}{KUN}!\p" @@ -2460,7 +2460,7 @@ gText_May_Pokenav_2B4350:: @ 2B4350 .string "with you, {PLAYER}{KUN}, they're all\l" .string "surprised!$" -gText_Brendan_Pokenav_2B43EF:: @ 2B43EF +MatchCall_Text_Brendan1:: @ 2B43EF .string "BRENDAN: Hey, {PLAYER}!\p" .string "MR. BRINEY retired as a SAILOR,\n" .string "but I still see him out on the sea\l" @@ -2468,7 +2468,7 @@ gText_Brendan_Pokenav_2B43EF:: @ 2B43EF .string "I guess he must love\n" .string "the sea still.$" -gText_Brendan_Pokenav_2B4486:: @ 2B4486 +MatchCall_Text_Brendan2:: @ 2B4486 .string "BRENDAN: Hey, {PLAYER}!\p" .string "I don't get how little towns like\n" .string "PETALBURG and DEWFORD have GYMS.\p" @@ -2477,7 +2477,7 @@ gText_Brendan_Pokenav_2B4486:: @ 2B4486 .string "When they finally build a GYM there,\n" .string "I should apply to be the LEADER.$" -gText_Brendan_Pokenav_2B4560:: @ 2B4560 +MatchCall_Text_Brendan3:: @ 2B4560 .string "BRENDAN: Yo, {PLAYER}!\p" .string "Do you remember a guy named\n" .string "the CUTTER in RUSTBORO?\l" @@ -2489,14 +2489,14 @@ gText_Brendan_Pokenav_2B4560:: @ 2B4560 .string "… … … … … …\p" .string "The ROCK SMASH GUY!$" -gText_Brendan_Pokenav_2B463F:: @ 2B463F +MatchCall_Text_Brendan4:: @ 2B463F .string "BRENDAN: This voice… {PLAYER}?\p" .string "They gave RUSTURF TUNNEL its name\n" .string "because it joins RUSTBORO and\l" .string "VERDANTURF.\p" .string "Did you know that?$" -gText_Brendan_Pokenav_2B46B7:: @ 2B46B7 +MatchCall_Text_Brendan5:: @ 2B46B7 .string "BRENDAN: {PLAYER}, what's up?\p" .string "Hey, I'm out on ROUTE 111 now.\p" .string "I'm going to rest up at an old\n" @@ -2504,7 +2504,7 @@ gText_Brendan_Pokenav_2B46B7:: @ 2B46B7 .string "If you're in the area, you should\n" .string "visit her, too.$" -gText_Brendan_Pokenav_2B4761:: @ 2B4761 +MatchCall_Text_Brendan6:: @ 2B4761 .string "BRENDAN: Hey, {PLAYER}!\p" .string "Did you know about the MIRAGE\n" .string "TOWER in the desert?\p" @@ -2512,21 +2512,21 @@ gText_Brendan_Pokenav_2B4761:: @ 2B4761 .string "seen only sometimes.\p" .string "I'd like to see that!$" -gText_Brendan_Pokenav_2B47F4:: @ 2B47F4 +MatchCall_Text_Brendan7:: @ 2B47F4 .string "BRENDAN: Who's this? Oh, {PLAYER}?\n" .string "Guess what? I'm on ROUTE 119 now.\p" .string "There's a big river here, and\n" .string "it rains all the time.\p" .string "I got soaked to the bone!$" -gText_Brendan_Pokenav_2B4882:: @ 2B4882 +MatchCall_Text_Brendan8:: @ 2B4882 .string "BRENDAN: {PLAYER}!\p" .string "MT. PYRE is a memorial to POKéMON\n" .string "whose lives have ended.\p" .string "That's probably why it's infested\n" .string "with many GHOST-type POKéMON!$" -gText_Brendan_Pokenav_2B4909:: @ 2B4909 +MatchCall_Text_Brendan9:: @ 2B4909 .string "BRENDAN: Hey there, {PLAYER}.\p" .string "I was on my way back to the hot\n" .string "spring in LAVARIDGE.\p" @@ -2535,14 +2535,14 @@ gText_Brendan_Pokenav_2B4909:: @ 2B4909 .string "Those creeps…\n" .string "I think they were TEAM MAGMA.$" -gText_Brendan_Pokenav_2B49C4:: @ 2B49C4 +MatchCall_Text_Brendan10:: @ 2B49C4 .string "BRENDAN: Hi, {PLAYER}!\n" .string "Did you catch the news?\p" .string "They say CAPT. STERN discovered\n" .string "the SEAFLOOR CAVERN while on his\l" .string "submarine expedition.$" -gText_Brendan_Pokenav_2B4A44:: @ 2B4A44 +MatchCall_Text_Brendan11:: @ 2B4A44 .string "BRENDAN: Hey there, {PLAYER}!\n" .string "Don't you think it's awesome?\p" .string "Even if you don't have a boat,\n" @@ -2552,7 +2552,7 @@ gText_Brendan_Pokenav_2B4A44:: @ 2B4A44 .string "travel to the bottom of the sea.\p" .string "Man, POKéMON can do anything!$" -gText_Brendan_Pokenav_2B4B28:: @ 2B4B28 +MatchCall_Text_Brendan12:: @ 2B4B28 .string "BRENDAN: Howdy, {PLAYER}!\n" .string "How are you holding up?\p" .string "Ever found your way to the other\n" @@ -2562,7 +2562,7 @@ gText_Brendan_Pokenav_2B4B28:: @ 2B4B28 .string "When you get to the other side,\n" .string "come up to the surface. Simple!$" -gText_Brendan_Pokenav_2B4C15:: @ 2B4C15 +MatchCall_Text_Brendan13:: @ 2B4C15 .string "BRENDAN: Hey there, {PLAYER}!\p" .string "How's it going? Filling up your\n" .string "POKéDEX successfully?\p" @@ -2571,14 +2571,14 @@ gText_Brendan_Pokenav_2B4C15:: @ 2B4C15 .string "And not just one--three!\p" .string "I'd love to catch even one…$" -gText_Brendan_Pokenav_2B4CD8:: @ 2B4CD8 +MatchCall_Text_Brendan14:: @ 2B4CD8 .string "BRENDAN: {PLAYER}!\n" .string "I heard the rumors!\p" .string "You beat the SOOTOPOLIS GYM\n" .string "LEADER? Awesome!\p" .string "You're getting awful close now!$" -gText_Brendan_Pokenav_2B4D46:: @ 2B4D46 +MatchCall_Text_Brendan15:: @ 2B4D46 .string "BRENDAN: There isn't a TRAINER in\n" .string "all of HOENN who doesn't know who\l" .string "you are, {PLAYER}!\p" @@ -2586,19 +2586,19 @@ gText_Brendan_Pokenav_2B4D46:: @ 2B4D46 .string "with you, {PLAYER}, they get pretty\l" .string "envious!$" -gText_Wally_Pokenav_2B4DE2:: @ 2B4DE2 +MatchCall_Text_Wally1:: @ 2B4DE2 .string "WALLY: Oh, {PLAYER}!\p" .string "I've been getting healthier and\n" .string "more physically fit.\p" .string "I hope I can become a TRAINER like\n" .string "you soon, {PLAYER}!$" -gText_Wally_Pokenav_2B4E57:: @ 2B4E57 +MatchCall_Text_Wally2:: @ 2B4E57 .string "WALLY: {PLAYER}, hello!\p" .string "After RUSTURF TUNNEL went\n" .string "through, WANDA's been very happy!$" -gText_Wally_Pokenav_2B4EA5:: @ 2B4EA5 +MatchCall_Text_Wally3:: @ 2B4EA5 .string "WALLY: Oh, {PLAYER}!\p" .string "I… I left my uncle's place in\n" .string "VERDANTURF without telling anyone.\p" @@ -2606,7 +2606,7 @@ gText_Wally_Pokenav_2B4EA5:: @ 2B4EA5 .string "{PLAYER}, you understand how\n" .string "I feel, don't you?$" -gText_Wally_Pokenav_2B4F41:: @ 2B4F41 +MatchCall_Text_Wally4:: @ 2B4F41 .string "WALLY: {PLAYER}?\n" .string "It's me, WALLY!\p" .string "The world of TRAINERS is amazing!\p" @@ -2615,7 +2615,7 @@ gText_Wally_Pokenav_2B4F41:: @ 2B4F41 .string "It's as if everyone's getting\n" .string "connected through POKéMON!$" -gText_Wally_Pokenav_2B4FF3:: @ 2B4FF3 +MatchCall_Text_Wally5:: @ 2B4FF3 .string "WALLY: {PLAYER}? It's awesome!\n" .string "That RALTS we caught together?\l" .string "It evolved, {PLAYER}!\p" @@ -2625,13 +2625,13 @@ gText_Wally_Pokenav_2B4FF3:: @ 2B4FF3 .string "After all, it's the POKéMON that\n" .string "should be praised!$" -gText_Wally_Pokenav_2B50B1:: @ 2B50B1 +MatchCall_Text_Wally6:: @ 2B50B1 .string "… … … … … …\n" .string "… … … … … …\p" .string "WALLY appears to be out of\n" .string "the POKéNAV's service area…$" -gText_Wally_Pokenav_2B5100:: @ 2B5100 +MatchCall_Text_Wally7:: @ 2B5100 .string "WALLY: Oh, {PLAYER}!\p" .string "Before I met you, I hardly ever\n" .string "left my house…\p" @@ -2640,7 +2640,7 @@ gText_Wally_Pokenav_2B5100:: @ 2B5100 .string "{PLAYER}…\n" .string "Thank you…$" -gText_Scott_Pokenav_2B5184:: @ 2B5184 +MatchCall_Text_Scott1:: @ 2B5184 .string "SCOTT: Howdy, {PLAYER}{KUN}!\p" .string "You know how POKéMON can be found\n" .string "everywhere?\p" @@ -2651,7 +2651,7 @@ gText_Scott_Pokenav_2B5184:: @ 2B5184 .string "As a result, I have to hurry\n" .string "everywhere, too. Busy, busy!$" -gText_Scott_Pokenav_2B5275:: @ 2B5275 +MatchCall_Text_Scott2:: @ 2B5275 .string "SCOTT: I'm on ROUTE 119 right now.\n" .string "It's teeming with TRAINERS!\p" .string "It's also overgrown with tall grass\n" @@ -2659,7 +2659,7 @@ gText_Scott_Pokenav_2B5275:: @ 2B5275 .string "Walking around in shorts here\n" .string "makes me all ticklish!$" -gText_Scott_Pokenav_2B5323:: @ 2B5323 +MatchCall_Text_Scott3:: @ 2B5323 .string "SCOTT: Hi, hi, {PLAYER}{KUN}!\p" .string "Have you had the chance to climb\n" .string "MT. PYRE?\p" @@ -2668,7 +2668,7 @@ gText_Scott_Pokenav_2B5323:: @ 2B5323 .string "It's somewhere every TRAINER\n" .string "should climb to the top of once.$" -gText_Scott_Pokenav_2B53DB:: @ 2B53DB +MatchCall_Text_Scott4:: @ 2B53DB .string "SCOTT: Hi, {PLAYER}{KUN}!\p" .string "I've been hearing about these odd\n" .string "gangs being a nuisance.\p" @@ -2678,7 +2678,7 @@ gText_Scott_Pokenav_2B53DB:: @ 2B53DB .string "skilled TRAINERS among them.\p" .string "…But if they're thugs…$" -gText_Scott_Pokenav_2B54A5:: @ 2B54A5 +MatchCall_Text_Scott5:: @ 2B54A5 .string "SCOTT: Oh, hi, {PLAYER}{KUN}.\p" .string "Might there be tough TRAINERS\n" .string "at the bottom of the sea?\p" @@ -2686,7 +2686,7 @@ gText_Scott_Pokenav_2B54A5:: @ 2B54A5 .string "I can't swim, for one.\l" .string "And I don't raise POKéMON…$" -gText_Scott_Pokenav_2B5541:: @ 2B5541 +MatchCall_Text_Scott6:: @ 2B5541 .string "SCOTT: Hi, hi, {PLAYER}{KUN}!\p" .string "You know that you can challenge\n" .string "the POKéMON LEAGUE when you've\l" @@ -2703,20 +2703,20 @@ gText_Scott_Pokenav_2B5541:: @ 2B5541 .string "the POKéMON LEAGUE into the HALL\l" .string "OF FAME!$" -gText_Scott_Pokenav_2B56CA:: @ 2B56CA +MatchCall_Text_Scott7:: @ 2B56CA .string "… … … … … …\n" .string "… … … … … …\p" .string "SCOTT appears to be out of\n" .string "the POKéNAV's service area…$" -gText_Norman_Pokenav_2B5719:: @ 82B5719 +MatchCall_Text_Norman1:: @ 82B5719 .string "DAD: In RUSTBORO, there's a man\n" .string "that goes by the odd name of\l" .string "the CUTTER.\p" .string "If you're in the area, you should\n" .string "pay him a visit.$" -gText_Norman_Pokenav_2B5795:: @ 82B5795 +MatchCall_Text_Norman2:: @ 82B5795 .string "DAD: Hm… Little by little, but also\n" .string "very surely, you're getting\l" .string "tougher, {PLAYER}.\p" @@ -2725,7 +2725,7 @@ gText_Norman_Pokenav_2B5795:: @ 82B5795 .string "and me…\p" .string "This feeling is hard to explain.$" -gText_Norman_Pokenav_2B584D:: @ 82B584D +MatchCall_Text_Norman3:: @ 82B584D .string "DAD: I see…\n" .string "You've collected four GYM BADGES…\p" .string "There's no avoiding it now.\n" @@ -2733,7 +2733,7 @@ gText_Norman_Pokenav_2B584D:: @ 82B584D .string "Come anytime.\n" .string "We'll all be waiting for you!$" -gText_Norman_Pokenav_2B58E3:: @ 82B58E3 +MatchCall_Text_Norman4:: @ 82B58E3 .string "DAD: {PLAYER}! You'd better go visit\n" .string "Mother every so often.\p" .string "I'm going to remain here and\n" @@ -2741,27 +2741,27 @@ gText_Norman_Pokenav_2B58E3:: @ 82B58E3 .string "The way of battling is deep\n" .string "and unforgiving!$" -gText_Norman_Pokenav_2B5979:: @ 82B5979 +MatchCall_Text_Norman5:: @ 82B5979 .string "DAD: Oh, hi, {PLAYER}!\p" .string "What's that? MAGMA EMBLEM?\n" .string "I don't know what that's about.\p" .string "But with a name like that, it may\n" .string "be somehow linked to a volcano!$" -gText_Norman_Pokenav_2B5A07:: @ 82B5A07 +MatchCall_Text_Norman6:: @ 82B5A07 .string "DAD: Hiyah! Haah! Dwah!\p" .string "…Oh? {PLAYER}!\p" .string "You caught me right in the middle\n" .string "of a POKéMON training session!$" -gText_Norman_Pokenav_2B5A69:: @ 82B5A69 +MatchCall_Text_Norman7:: @ 82B5A69 .string "DAD: {PLAYER}!\p" .string "Who would've thought you'd become\n" .string "the POKéMON LEAGUE CHAMPION…\p" .string "Okay!\n" .string "I won't be left behind!$" -gText_Norman_Pokenav_2B5ACF:: @ 82B5ACF +MatchCall_Text_Norman8:: @ 82B5ACF .string "DAD: Hm? {PLAYER}?\n" .string "What good timing!\p" .string "This time, I'm going to challenge\n" @@ -2769,11 +2769,11 @@ gText_Norman_Pokenav_2B5ACF:: @ 82B5ACF .string "I'm waiting in the PETALBURG GYM.\n" .string "Accept my challenge anytime!$" -gText_Norman_Pokenav_2B5B5E:: @ 82B5B5E +MatchCall_Text_Norman9:: @ 82B5B5E .string "DAD: …You amaze me, {PLAYER}.\n" .string "How much higher will you soar?$" -gText_Steven_Pokenav_2B5B95:: @ 82B5B95 +MatchCall_Text_Steven1:: @ 82B5B95 .string "STEVEN: Hi, {PLAYER}{KUN}!\p" .string "Have you been to MAUVILLE\n" .string "already?\p" @@ -2784,14 +2784,14 @@ gText_Steven_Pokenav_2B5B95:: @ 82B5B95 .string "You may make a new discovery\n" .string "there.$" -gText_Steven_Pokenav_2B5C53:: @ 82B5C53 +MatchCall_Text_Steven2:: @ 82B5C53 .string "STEVEN: Hi, {PLAYER}{KUN}!\p" .string "I've met a lot of different\n" .string "TRAINERS so far.\p" .string "But you're one of a kind.\n" .string "You're not like anyone else.$" -gText_Steven_Pokenav_2B5CC9:: @ 82B5CC9 +MatchCall_Text_Steven3:: @ 82B5CC9 .string "STEVEN: Hi, {PLAYER}{KUN}!\p" .string "When you're on an adventure with\n" .string "your POKéMON, what do you think?\p" @@ -2802,7 +2802,7 @@ gText_Steven_Pokenav_2B5CC9:: @ 82B5CC9 .string "Depending on how you think, your\n" .string "adventure's significance changes.$" -gText_Steven_Pokenav_2B5DB4:: @ 82B5DB4 +MatchCall_Text_Steven4:: @ 82B5DB4 .string "STEVEN: Hello?\n" .string "{PLAYER}{KUN}?\p" .string "I'm involved in a spot of trouble\n" @@ -2810,7 +2810,7 @@ gText_Steven_Pokenav_2B5DB4:: @ 82B5DB4 .string "I'm sorry, but I can't talk now.\n" .string "Bye!$" -gText_Steven_Pokenav_2B5E26:: @ 82B5E26 +MatchCall_Text_Steven5:: @ 82B5E26 .string "STEVEN: Oh!\n" .string "{PLAYER}{KUN}!\p" .string "There's no need to talk.\n" @@ -2818,12 +2818,12 @@ gText_Steven_Pokenav_2B5E26:: @ 82B5E26 .string "You have to believe in yourself\n" .string "and do what's right.$" -gText_Steven_Pokenav_2B5EA2:: @ 82B5EA2 +MatchCall_Text_Steven6:: @ 82B5EA2 .string "… … … … … …\p" .string "STEVEN appears not to be getting\n" .string "the call…$" -gText_Steven_Pokenav_2B5ED9:: @ 82B5ED9 +MatchCall_Text_Steven7:: @ 82B5ED9 .string "STEVEN: {PLAYER}{KUN}… Congratulations\n" .string "for entering the HALL OF FAME.\p" .string "… … … … … …\n" @@ -2851,7 +2851,7 @@ MatchCall_Text_UnusedProfBirch: .string "the POKéDEX and POKéNAV, studying\l" .string "POKéMON becomes more fun, eh?$" -gText_MrStone_Pokenav_2B60C0:: @ 82B60C0 +MatchCall_Text_MrStone1:: @ 82B60C0 .string "MR. STONE: Oh? {PLAYER}{KUN}!\p" .string "Since you called me, the POKéNAV\n" .string "must be working properly!\p" @@ -2866,7 +2866,7 @@ gText_MrStone_Pokenav_2B60C0:: @ 82B60C0 .string "Wahahaha!\n" .string "See you again!$" -gText_MrStone_Pokenav_2B61E6:: @ 82B61E6 +MatchCall_Text_MrStone2:: @ 82B61E6 .string "MR. STONE: Oh? {PLAYER}{KUN}!\p" .string "What's wrong? Have you forgotten\n" .string "about that little errand of mine?\p" @@ -2878,7 +2878,7 @@ gText_MrStone_Pokenav_2B61E6:: @ 82B61E6 .string "Now, since I am a busy PRESIDENT,\n" .string "I have to go! Bye-bye!$" -gText_MrStone_Pokenav_2B6302:: @ 82B6302 +MatchCall_Text_MrStone3:: @ 82B6302 .string "MR. STONE: Oh! {PLAYER}{KUN}!\p" .string "Ah, so you've met STEVEN!\n" .string "I'd better reward you, then!\p" @@ -2886,7 +2886,7 @@ gText_MrStone_Pokenav_2B6302:: @ 82B6302 .string "come see me at my office.\p" .string "I'll be waiting for you!$" -gText_MrStone_Pokenav_2B63A0:: @ 82B63A0 +MatchCall_Text_MrStone4:: @ 82B63A0 .string "MR. STONE: Oh! {PLAYER}{KUN}!\p" .string "Did you know that DEVON was\n" .string "digging the RUSTURF TUNNEL?\p" @@ -2897,14 +2897,14 @@ gText_MrStone_Pokenav_2B63A0:: @ 82B63A0 .string "live in peace than worry about our\l" .string "own convenience.$" -gText_MrStone_Pokenav_2B64A2:: @ 82B64A2 +MatchCall_Text_MrStone5:: @ 82B64A2 .string "MR. STONE: Hello, hello, {PLAYER}{KUN}!\p" .string "I heard from someone in PETALBURG\n" .string "that you're NORMAN's child!\p" .string "No wonder you're such a capable\n" .string "being!$" -gText_MrStone_Pokenav_2B6526:: @ 82B6526 +MatchCall_Text_MrStone6:: @ 82B6526 .string "MR. STONE: What's that?\p" .string "You battled your own father and\n" .string "defeated him?\p" @@ -2912,7 +2912,7 @@ gText_MrStone_Pokenav_2B6526:: @ 82B6526 .string "I had no idea that I befriended\n" .string "someone so special! Wahaha!$" -gText_MrStone_Pokenav_2B65BB:: @ 82B65BB +MatchCall_Text_MrStone7:: @ 82B65BB .string "Hello!\n" .string "This is DEVON CORPORATI…\l" .string "Oh, hello, {PLAYER}!\p" @@ -2921,21 +2921,21 @@ gText_MrStone_Pokenav_2B65BB:: @ 82B65BB .string "Our PRESIDENT is busy, but you\n" .string "seem to be just as busy, {PLAYER}.$" -gText_MrStone_Pokenav_2B6664:: @ 82B6664 +MatchCall_Text_MrStone8:: @ 82B6664 .string "…Huh? …What's that?\p" .string "GROU… Yes? …DON?\p" .string "You're breaking up…\n" .string "…can't hear…\p" .string "BZZZZ…$" -gText_MrStone_Pokenav_2B66B1:: @ 82B66B1 +MatchCall_Text_MrStone9:: @ 82B66B1 .string "…Huh? …What's that?\p" .string "Seaflo… Yes? …Caver…?\p" .string "You're breaking up…\n" .string "…can't hear…\p" .string "BZZZZ…$" -gText_MrStone_Pokenav_2B6703:: @ 82B6703 +MatchCall_Text_MrStone10:: @ 82B6703 .string "MR. STONE: {PLAYER}{KUN}! It's me!\p" .string "You were apparently involved in all\n" .string "sorts of things, but I, being busy,\l" @@ -2945,7 +2945,7 @@ gText_MrStone_Pokenav_2B6703:: @ 82B6703 .string "I'll always be in your corner!\n" .string "Take care!$" -gText_MrStone_Pokenav_2B67ED:: @ 82B67ED +MatchCall_Text_MrStone11:: @ 82B67ED .string "MR. STONE: … … … … … …\n" .string "Is this maybe {PLAYER}{KUN}?\p" .string "Your voice is so full of confidence,\n" diff --git a/gflib/string_util.c b/gflib/string_util.c index bce299057..db972a8ed 100644 --- a/gflib/string_util.c +++ b/gflib/string_util.c @@ -1,6 +1,7 @@ #include "global.h" #include "string_util.h" #include "text.h" +#include "strings.h" EWRAM_DATA u8 gStringVar1[0x100] = {0}; EWRAM_DATA u8 gStringVar2[0x100] = {0}; @@ -24,21 +25,6 @@ static const s32 sPowersOfTen[] = 1000000000, }; -extern const u8 gExpandedPlaceholder_Empty[]; -extern const u8 gExpandedPlaceholder_Kun[]; -extern const u8 gExpandedPlaceholder_Chan[]; -extern const u8 gExpandedPlaceholder_Sapphire[]; -extern const u8 gExpandedPlaceholder_Ruby[]; -extern const u8 gExpandedPlaceholder_Emerald[]; -extern const u8 gExpandedPlaceholder_Aqua[]; -extern const u8 gExpandedPlaceholder_Magma[]; -extern const u8 gExpandedPlaceholder_Archie[]; -extern const u8 gExpandedPlaceholder_Maxie[]; -extern const u8 gExpandedPlaceholder_Kyogre[]; -extern const u8 gExpandedPlaceholder_Groudon[]; -extern const u8 gExpandedPlaceholder_Brendan[]; -extern const u8 gExpandedPlaceholder_May[]; - u8 *StringCopy10(u8 *dest, const u8 *src) { u8 i; @@ -451,52 +437,52 @@ static const u8 *ExpandPlaceholder_StringVar3(void) static const u8 *ExpandPlaceholder_KunChan(void) { if (gSaveBlock2Ptr->playerGender == MALE) - return gExpandedPlaceholder_Kun; + return gText_ExpandedPlaceholder_Kun; else - return gExpandedPlaceholder_Chan; + return gText_ExpandedPlaceholder_Chan; } static const u8 *ExpandPlaceholder_RivalName(void) { if (gSaveBlock2Ptr->playerGender == MALE) - return gExpandedPlaceholder_May; + return gText_ExpandedPlaceholder_May; else - return gExpandedPlaceholder_Brendan; + return gText_ExpandedPlaceholder_Brendan; } static const u8 *ExpandPlaceholder_Version(void) { - return gExpandedPlaceholder_Emerald; + return gText_ExpandedPlaceholder_Emerald; } static const u8 *ExpandPlaceholder_Aqua(void) { - return gExpandedPlaceholder_Aqua; + return gText_ExpandedPlaceholder_Aqua; } static const u8 *ExpandPlaceholder_Magma(void) { - return gExpandedPlaceholder_Magma; + return gText_ExpandedPlaceholder_Magma; } static const u8 *ExpandPlaceholder_Archie(void) { - return gExpandedPlaceholder_Archie; + return gText_ExpandedPlaceholder_Archie; } static const u8 *ExpandPlaceholder_Maxie(void) { - return gExpandedPlaceholder_Maxie; + return gText_ExpandedPlaceholder_Maxie; } static const u8 *ExpandPlaceholder_Kyogre(void) { - return gExpandedPlaceholder_Kyogre; + return gText_ExpandedPlaceholder_Kyogre; } static const u8 *ExpandPlaceholder_Groudon(void) { - return gExpandedPlaceholder_Groudon; + return gText_ExpandedPlaceholder_Groudon; } const u8 *GetExpandedPlaceholder(u32 id) @@ -522,7 +508,7 @@ const u8 *GetExpandedPlaceholder(u32 id) }; if (id >= ARRAY_COUNT(funcs)) - return gExpandedPlaceholder_Empty; + return gText_ExpandedPlaceholder_Empty; else return funcs[id](); } diff --git a/include/constants/global.h b/include/constants/global.h index 4c638d63f..f4d81e563 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -51,6 +51,7 @@ #define DECOR_MAX_PLAYERS_HOUSE 12 #define APPRENTICE_COUNT 4 #define APPRENTICE_MAX_QUESTIONS 9 +#define MAX_REMATCH_ENTRIES 100 // only REMATCH_TABLE_ENTRIES (78) are used #define PYRAMID_BAG_ITEMS_COUNT 10 #define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode. diff --git a/include/global.h b/include/global.h index 61186d084..9bf1a5b34 100644 --- a/include/global.h +++ b/include/global.h @@ -923,7 +923,7 @@ struct SaveBlock1 /*0x9BC*/ u16 berryBlenderRecords[3]; /*0x9C2*/ u8 field_9C2[6]; /*0x9C8*/ u16 trainerRematchStepCounter; - /*0x9CA*/ u8 trainerRematches[100]; + /*0x9CA*/ u8 trainerRematches[MAX_REMATCH_ENTRIES]; /*0xA30*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT]; /*0xC70*/ struct EventObjectTemplate eventObjectTemplates[EVENT_OBJECT_TEMPLATES_COUNT]; /*0x1270*/ u8 flags[FLAGS_COUNT]; diff --git a/include/gym_leader_rematch.h b/include/gym_leader_rematch.h index 778d7a1e8..473d7b1c1 100644 --- a/include/gym_leader_rematch.h +++ b/include/gym_leader_rematch.h @@ -75,17 +75,12 @@ enum { REMATCH_WINONA, REMATCH_TATE_AND_LIZA, REMATCH_JUAN, - - // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES. - REMATCH_SIDNEY, + REMATCH_SIDNEY, // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES. REMATCH_PHOEBE, REMATCH_GLACIA, REMATCH_DRAKE, REMATCH_WALLACE, - - // The total number of rematch entries. This must be the last element - // in the enum. - REMATCH_TABLE_ENTRIES + REMATCH_TABLE_ENTRIES // The total number of rematch entries. Must be last in enum }; void UpdateGymLeaderRematch(void); diff --git a/include/pokenav.h b/include/pokenav.h index b1c3287f1..5edde5900 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -7,11 +7,12 @@ typedef u32 (*LoopedTask)(s32 state); +// TODO: This struct is also used generally by Match Call, should probably be renamed struct PokenavMonList { - u8 boxId; - u8 monId; - u16 unk6; + u8 id1; + u8 id2; + u16 data; }; struct PokenavSub18 @@ -32,8 +33,8 @@ struct PokenavSub18 enum { POKENAV_MODE_NORMAL, // Chosen from Start menu. - POKENAV_MODE_FORCE_CALL_1, // Used for the script's special. Has to choose Match Call and make a call. - POKENAV_MODE_FORCE_CALL_2, // Set after making a call, has to exit Pokenav. + POKENAV_MODE_FORCE_CALL_READY, // When player is forced to call Mr. Stone for pokenav tutorial + POKENAV_MODE_FORCE_CALL_EXIT, // Forced to exit fter being calling Mr. Stone for pokenav tutorial }; #define POKENAV_MENU_IDS_START 100000 @@ -82,6 +83,28 @@ enum MC_HEADER_COUNT }; +enum +{ + MATCH_CALL_OPTION_CALL, + MATCH_CALL_OPTION_CHECK, + MATCH_CALL_OPTION_CANCEL, + MATCH_CALL_OPTION_COUNT +}; + +enum +{ + CHECK_PAGE_STRATEGY, + CHECK_PAGE_POKEMON, + CHECK_PAGE_INTRO_1, + CHECK_PAGE_INTRO_2, + CHECK_PAGE_ENTRY_COUNT +}; + +#define MCFLAVOR(name) {[CHECK_PAGE_STRATEGY] = gText_MatchCall##name##_Strategy, \ + [CHECK_PAGE_POKEMON] = gText_MatchCall##name##_Pokemon, \ + [CHECK_PAGE_INTRO_1] = gText_MatchCall##name##_Intro1, \ + [CHECK_PAGE_INTRO_2] = gText_MatchCall##name##_Intro2} + // pokenav.c void sub_81C7694(u32); u32 sub_81C76AC(void); @@ -207,14 +230,14 @@ int sub_81CAE48(void); struct PokenavMonList *sub_81CAE94(void); u16 sub_81CAEA4(int); bool32 sub_81CAEBC(int index); -int sub_81CAF04(int index); -const u8 *sub_81CAFD8(int index, int textType); +int GetMatchCallTrainerPic(int index); +const u8 *GetMatchCallFlavorText(int index, int textType); u16 sub_81CB01C(void); u16 sub_81CB02C(int arg0); void sub_81CB050(struct PokenavMonList * arg0, u8 *str); u8 sub_81CB0C8(int rematchIndex); int sub_81CB0E4(int index); -bool32 sub_81CAE08(int); +bool32 IsRematchEntryRegistered(int index); int sub_81CB128(int index); // pokenav_unk_4.c diff --git a/include/strings.h b/include/strings.h index f814ad29f..8cebdcfa0 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1,6 +1,22 @@ #ifndef GUARD_STRINGS_H #define GUARD_STRINGS_H +// Placeholders +extern const u8 gText_ExpandedPlaceholder_Empty[]; +extern const u8 gText_ExpandedPlaceholder_Kun[]; +extern const u8 gText_ExpandedPlaceholder_Chan[]; +extern const u8 gText_ExpandedPlaceholder_Sapphire[]; +extern const u8 gText_ExpandedPlaceholder_Ruby[]; +extern const u8 gText_ExpandedPlaceholder_Emerald[]; +extern const u8 gText_ExpandedPlaceholder_Aqua[]; +extern const u8 gText_ExpandedPlaceholder_Magma[]; +extern const u8 gText_ExpandedPlaceholder_Archie[]; +extern const u8 gText_ExpandedPlaceholder_Maxie[]; +extern const u8 gText_ExpandedPlaceholder_Kyogre[]; +extern const u8 gText_ExpandedPlaceholder_Groudon[]; +extern const u8 gText_ExpandedPlaceholder_Brendan[]; +extern const u8 gText_ExpandedPlaceholder_May[]; + extern const u8 gText_FromSpace[]; extern const u8 gText_Lv50[]; @@ -2332,6 +2348,43 @@ extern const u8 MatchCall_BattlePyramidText11[]; extern const u8 MatchCall_BattlePyramidText12[]; extern const u8 MatchCall_BattlePyramidText13[]; extern const u8 MatchCall_BattlePyramidText14[]; +extern const u8 gText_MrStoneMatchCallDesc[]; +extern const u8 gText_MrStoneMatchCallName[]; +extern const u8 gText_StevenMatchCallDesc[]; +extern const u8 gText_StevenMatchCallName[]; +extern const u8 gText_MayBrendanMatchCallDesc[]; +extern const u8 gText_WallyMatchCallDesc[]; +extern const u8 gText_NormanMatchCallDesc[]; +extern const u8 gText_NormanMatchCallName[]; +extern const u8 gText_MomMatchCallDesc[]; +extern const u8 gText_MomMatchCallName[]; +extern const u8 gText_ScottMatchCallDesc[]; +extern const u8 gText_ScottMatchCallName[]; +extern const u8 gText_RoxanneMatchCallDesc[]; +extern const u8 gText_BrawlyMatchCallDesc[]; +extern const u8 gText_WattsonMatchCallDesc[]; +extern const u8 gText_FlanneryMatchCallDesc[]; +extern const u8 gText_WinonaMatchCallDesc[]; +extern const u8 gText_TateLizaMatchCallDesc[]; +extern const u8 gText_JuanMatchCallDesc[]; +extern const u8 gText_EliteFourMatchCallDesc[]; +extern const u8 gText_ChampionMatchCallDesc[]; +extern const u8 gText_ProfBirchMatchCallDesc[]; +extern const u8 gText_ProfBirchMatchCallName[]; +extern const u8 gText_MatchCallSteven_Strategy[]; +extern const u8 gText_MatchCallSteven_Pokemon[]; +extern const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[]; +extern const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[]; +extern const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[]; +extern const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[]; +extern const u8 gText_MatchCallBrendan_Strategy[]; +extern const u8 gText_MatchCallBrendan_Pokemon[]; +extern const u8 gText_MatchCallBrendan_Intro1[]; +extern const u8 gText_MatchCallBrendan_Intro2[]; +extern const u8 gText_MatchCallMay_Strategy[]; +extern const u8 gText_MatchCallMay_Pokemon[]; +extern const u8 gText_MatchCallMay_Intro1[]; +extern const u8 gText_MatchCallMay_Intro2[]; // Contest Link extern const u8 gText_ColorDarkGrey[]; @@ -2762,9 +2815,9 @@ extern const u8 gUnknown_085EBE41[]; extern const u8 gText_NoRibbonWinners[]; // pokenav_unk_4 -extern const u8 gUnknown_085EC017[]; -extern const u8 gUnknown_085EC01C[]; -extern const u8 gUnknown_085EC022[]; +extern const u8 gText_Call[]; +extern const u8 gText_Check[]; +extern const u8 gText_Cancel6[]; // pokenav_unk_8 extern const u8 gText_NumberF700[]; diff --git a/src/data/text/match_call_messages.h b/src/data/text/match_call_messages.h index c3015b5a7..6ea3b549f 100644 --- a/src/data/text/match_call_messages.h +++ b/src/data/text/match_call_messages.h @@ -1,399 +1,394 @@ -#define MCFLAVOR(name) {gMatchCallFlavorText_##name##_Strategy, \ - gMatchCallFlavorText_##name##_Pokemon, \ - gMatchCallFlavorText_##name##_Intro1, \ - gMatchCallFlavorText_##name##_Intro2} - -const u8 gMatchCallFlavorText_AromaLady_Rose_Strategy[] = _("Becalm fighting emotions."); -const u8 gMatchCallFlavorText_AromaLady_Rose_Pokemon[] = _("Fragrant GRASS POKéMON."); -const u8 gMatchCallFlavorText_AromaLady_Rose_Intro1[] = _("Soothing aromas make the"); -const u8 gMatchCallFlavorText_AromaLady_Rose_Intro2[] = _("body and mind healthy."); - -const u8 gMatchCallFlavorText_RuinManiac_Andres_Strategy[] = _("I'm not very good at this."); -const u8 gMatchCallFlavorText_RuinManiac_Andres_Pokemon[] = _("Ruin-exploration partners."); -const u8 gMatchCallFlavorText_RuinManiac_Andres_Intro1[] = _("I am searching for undersea"); -const u8 gMatchCallFlavorText_RuinManiac_Andres_Intro2[] = _("ruins and relics."); - -const u8 gMatchCallFlavorText_RuinManiac_Dusty_Strategy[] = _("Overwhelm with power!"); -const u8 gMatchCallFlavorText_RuinManiac_Dusty_Pokemon[] = _("Craggy ROCK POKéMON."); -const u8 gMatchCallFlavorText_RuinManiac_Dusty_Intro1[] = _("In search of ancient lore,"); -const u8 gMatchCallFlavorText_RuinManiac_Dusty_Intro2[] = _("I travel the world."); - -const u8 gMatchCallFlavorText_Tuber_Lola_Strategy[] = _("I'm going to try hard!"); -const u8 gMatchCallFlavorText_Tuber_Lola_Pokemon[] = _("Good swimmer POKéMON."); -const u8 gMatchCallFlavorText_Tuber_Lola_Intro1[] = _("I wish I could swim without"); -const u8 gMatchCallFlavorText_Tuber_Lola_Intro2[] = _("using an inner tube."); - -const u8 gMatchCallFlavorText_Tuber_Ricky_Strategy[] = _("I don't know. I'll try hard."); -const u8 gMatchCallFlavorText_Tuber_Ricky_Pokemon[] = _("WATER POKéMON are buddies."); -const u8 gMatchCallFlavorText_Tuber_Ricky_Intro1[] = _("It's not like I can't swim."); -const u8 gMatchCallFlavorText_Tuber_Ricky_Intro2[] = _("I just like my inner tube."); - -const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Strategy[] = _("We split our duties."); -const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Pokemon[] = _("We like friendly POKéMON."); -const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Intro1[] = _("We enjoy POKéMON together"); -const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Intro2[] = _("as sister and brother."); - -const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Strategy[] = _("I finish with power moves!"); -const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Pokemon[] = _("A mix of different types."); -const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Intro1[] = _("I aim to become the ultimate"); -const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Intro2[] = _("TRAINER!"); - -const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Strategy[] = _("Exploit the foe's weakness."); -const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Pokemon[] = _("Balance is crucial."); -const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Intro1[] = _("My goal is to become the"); -const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Intro2[] = _("POKéMON CHAMPION."); - -const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Strategy[] = _("Upset the opponent."); -const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Pokemon[] = _("Type doesn't matter."); -const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Intro1[] = _("I'm a top student at the"); -const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Intro2[] = _("TRAINER'S SCHOOL."); - -const u8 gMatchCallFlavorText_HexManiac_Valerie_Strategy[] = _("Slow, steady suffering."); -const u8 gMatchCallFlavorText_HexManiac_Valerie_Pokemon[] = _("Scary to meet at night."); -const u8 gMatchCallFlavorText_HexManiac_Valerie_Intro1[] = _("I see things that others"); -const u8 gMatchCallFlavorText_HexManiac_Valerie_Intro2[] = _("can't see..."); - -const u8 gMatchCallFlavorText_Lady_Cindy_Strategy[] = _("Anything to win."); -const u8 gMatchCallFlavorText_Lady_Cindy_Pokemon[] = _("Gorgeous type!"); -const u8 gMatchCallFlavorText_Lady_Cindy_Intro1[] = _("I have a pool specially for"); -const u8 gMatchCallFlavorText_Lady_Cindy_Intro2[] = _("my POKéMON at home."); - -const u8 gMatchCallFlavorText_Beauty_Thalia_Strategy[] = _("You'll fall under my spell!"); -const u8 gMatchCallFlavorText_Beauty_Thalia_Pokemon[] = _("Mature WATER type."); -const u8 gMatchCallFlavorText_Beauty_Thalia_Intro1[] = _("I dream of cruising around"); -const u8 gMatchCallFlavorText_Beauty_Thalia_Intro2[] = _("the world on a luxury liner."); - -const u8 gMatchCallFlavorText_Beauty_Jessica_Strategy[] = _("I'll lead you astray."); -const u8 gMatchCallFlavorText_Beauty_Jessica_Pokemon[] = _("Cute, of course."); -const u8 gMatchCallFlavorText_Beauty_Jessica_Intro1[] = _("I love the SAFARI ZONE."); -const u8 gMatchCallFlavorText_Beauty_Jessica_Intro2[] = _("I seem to end up there."); - -const u8 gMatchCallFlavorText_RichBoy_Winston_Strategy[] = _("Strategy? Who needs it?"); -const u8 gMatchCallFlavorText_RichBoy_Winston_Pokemon[] = _("I spent big money on it!"); -const u8 gMatchCallFlavorText_RichBoy_Winston_Intro1[] = _("I, being rich, sleep in a"); -const u8 gMatchCallFlavorText_RichBoy_Winston_Intro2[] = _("custom POKéMON bed."); - -const u8 gMatchCallFlavorText_PokeManiac_Steve_Strategy[] = _("Wrestle down with power."); -const u8 gMatchCallFlavorText_PokeManiac_Steve_Pokemon[] = _("Took all night to catch."); -const u8 gMatchCallFlavorText_PokeManiac_Steve_Intro1[] = _("Big, burly, and buff"); -const u8 gMatchCallFlavorText_PokeManiac_Steve_Intro2[] = _("POKéMON are the best..."); - -const u8 gMatchCallFlavorText_Swimmer_Tony_Strategy[] = _("Ram at full speed!"); -const u8 gMatchCallFlavorText_Swimmer_Tony_Pokemon[] = _("Funky WATER type!"); -const u8 gMatchCallFlavorText_Swimmer_Tony_Intro1[] = _("If I can't be out swimming,"); -const u8 gMatchCallFlavorText_Swimmer_Tony_Intro2[] = _("I'll be pumping weights."); - -const u8 gMatchCallFlavorText_BlackBelt_Nob_Strategy[] = _("Grand slam pummeling!"); -const u8 gMatchCallFlavorText_BlackBelt_Nob_Pokemon[] = _("FIGHTING type."); -const u8 gMatchCallFlavorText_BlackBelt_Nob_Intro1[] = _("Not to brag, but I can bust"); -const u8 gMatchCallFlavorText_BlackBelt_Nob_Intro2[] = _("ten roof tiles!"); - -const u8 gMatchCallFlavorText_BlackBelt_Koji_Strategy[] = _("Witness karate power!"); -const u8 gMatchCallFlavorText_BlackBelt_Koji_Pokemon[] = _("My partners in training!"); -const u8 gMatchCallFlavorText_BlackBelt_Koji_Intro1[] = _("Let us discuss matters of"); -const u8 gMatchCallFlavorText_BlackBelt_Koji_Intro2[] = _("the world with bare fists!"); - -const u8 gMatchCallFlavorText_Guitarist_Fernando_Strategy[] = _("Rock to stunning sounds!"); -const u8 gMatchCallFlavorText_Guitarist_Fernando_Pokemon[] = _("Electric-and-sound combo!"); -const u8 gMatchCallFlavorText_Guitarist_Fernando_Intro1[] = _("My compositions will shock"); -const u8 gMatchCallFlavorText_Guitarist_Fernando_Intro2[] = _("you and stun you!"); - -const u8 gMatchCallFlavorText_Guitarist_Dalton_Strategy[] = _("I'll electrify you!"); -const u8 gMatchCallFlavorText_Guitarist_Dalton_Pokemon[] = _("They're ELECTRIC!"); -const u8 gMatchCallFlavorText_Guitarist_Dalton_Intro1[] = _("I want to make people cry"); -const u8 gMatchCallFlavorText_Guitarist_Dalton_Intro2[] = _("with songs from my heart."); - -const u8 gMatchCallFlavorText_Kindler_Bernie_Strategy[] = _("Burn it all down!"); -const u8 gMatchCallFlavorText_Kindler_Bernie_Pokemon[] = _("Burn-inducing POKéMON."); -const u8 gMatchCallFlavorText_Kindler_Bernie_Intro1[] = _("When you light a campfire,"); -const u8 gMatchCallFlavorText_Kindler_Bernie_Intro2[] = _("be sure there's some water."); - -const u8 gMatchCallFlavorText_Camper_Ethan_Strategy[] = _("Hang in and be tenacious!"); -const u8 gMatchCallFlavorText_Camper_Ethan_Pokemon[] = _("I'll raise any POKéMON."); -const u8 gMatchCallFlavorText_Camper_Ethan_Intro1[] = _("POKéMON raised in the wild"); -const u8 gMatchCallFlavorText_Camper_Ethan_Intro2[] = _("grow strong!"); - -const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Strategy[] = _("Our love lets us prevail."); -const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Pokemon[] = _("We've had them for years."); -const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Intro1[] = _("Married 50 years, we've"); -const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Intro2[] = _("devotedly raised POKéMON."); - -const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Strategy[] = _("Attack in waves!"); -const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Pokemon[] = _("BUG POKéMON are cool."); -const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Intro1[] = _("I go into the forest every"); -const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Intro2[] = _("day to catch BUG POKéMON."); - -const u8 gMatchCallFlavorText_Psychic_Cameron_Strategy[] = _("Daze and confuse!"); -const u8 gMatchCallFlavorText_Psychic_Cameron_Pokemon[] = _("Ones with weird powers."); -const u8 gMatchCallFlavorText_Psychic_Cameron_Intro1[] = _("I can see through exactly"); -const u8 gMatchCallFlavorText_Psychic_Cameron_Intro2[] = _("what you're thinking!"); - -const u8 gMatchCallFlavorText_Psychic_Jacki_Strategy[] = _("Battle at full power."); -const u8 gMatchCallFlavorText_Psychic_Jacki_Pokemon[] = _("POKéMON of many mysteries."); -const u8 gMatchCallFlavorText_Psychic_Jacki_Intro1[] = _("When we spoke, I was really"); -const u8 gMatchCallFlavorText_Psychic_Jacki_Intro2[] = _("using telepathy."); - -const u8 gMatchCallFlavorText_Gentleman_Walter_Strategy[] = _("Calm and collected."); -const u8 gMatchCallFlavorText_Gentleman_Walter_Pokemon[] = _("POKéMON of distinction."); -const u8 gMatchCallFlavorText_Gentleman_Walter_Intro1[] = _("We enjoy a spot of tea"); -const u8 gMatchCallFlavorText_Gentleman_Walter_Intro2[] = _("every day. It's imported."); - -const u8 gMatchCallFlavorText_SchoolKid_Karen_Strategy[] = _("I use my head to battle."); -const u8 gMatchCallFlavorText_SchoolKid_Karen_Pokemon[] = _("I love any kind of POKéMON!"); -const u8 gMatchCallFlavorText_SchoolKid_Karen_Intro1[] = _("My daddy gives me spending"); -const u8 gMatchCallFlavorText_SchoolKid_Karen_Intro2[] = _("money if I ace a test."); - -const u8 gMatchCallFlavorText_SchoolKid_Jerry_Strategy[] = _("My knowledge rules!"); -const u8 gMatchCallFlavorText_SchoolKid_Jerry_Pokemon[] = _("Any smart POKéMON!"); -const u8 gMatchCallFlavorText_SchoolKid_Jerry_Intro1[] = _("I want to be a POKéMON"); -const u8 gMatchCallFlavorText_SchoolKid_Jerry_Intro2[] = _("researcher in the future."); - -const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Strategy[] = _("We talk it over first."); -const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Pokemon[] = _("POKéMON that we both like."); -const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Intro1[] = _("We're senior and junior"); -const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Intro2[] = _("students into POKéMON!"); - -const u8 gMatchCallFlavorText_Pokefan_Isabel_Strategy[] = _("Go for it, my dears!"); -const u8 gMatchCallFlavorText_Pokefan_Isabel_Pokemon[] = _("I have no likes or dislikes."); -const u8 gMatchCallFlavorText_Pokefan_Isabel_Intro1[] = _("While out shopping for"); -const u8 gMatchCallFlavorText_Pokefan_Isabel_Intro2[] = _("supper, I battle too."); - -const u8 gMatchCallFlavorText_Pokefan_Miguel_Strategy[] = _("I battle with love!"); -const u8 gMatchCallFlavorText_Pokefan_Miguel_Pokemon[] = _("A POKéMON raised with love!"); -const u8 gMatchCallFlavorText_Pokefan_Miguel_Intro1[] = _("It's important to build"); -const u8 gMatchCallFlavorText_Pokefan_Miguel_Intro2[] = _("trust with your POKéMON."); - -const u8 gMatchCallFlavorText_Expert_Timothy_Strategy[] = _("I see through your moves!"); -const u8 gMatchCallFlavorText_Expert_Timothy_Pokemon[] = _("The essence of FIGHTING."); -const u8 gMatchCallFlavorText_Expert_Timothy_Intro1[] = _("I'm not ready to give way"); -const u8 gMatchCallFlavorText_Expert_Timothy_Intro2[] = _("to the young yet!"); - -const u8 gMatchCallFlavorText_Expert_Shelby_Strategy[] = _("Attack while defending."); -const u8 gMatchCallFlavorText_Expert_Shelby_Pokemon[] = _("The FIGHTING type."); -const u8 gMatchCallFlavorText_Expert_Shelby_Intro1[] = _("Being old, I have my own"); -const u8 gMatchCallFlavorText_Expert_Shelby_Intro2[] = _("style of battling."); - -const u8 gMatchCallFlavorText_Youngster_Calvin_Strategy[] = _("I do what I can."); -const u8 gMatchCallFlavorText_Youngster_Calvin_Pokemon[] = _("I use different types."); -const u8 gMatchCallFlavorText_Youngster_Calvin_Intro1[] = _("I'm going to keep working"); -const u8 gMatchCallFlavorText_Youngster_Calvin_Intro2[] = _("until I beat a GYM LEADER."); - -const u8 gMatchCallFlavorText_Fisherman_Elliot_Strategy[] = _("I battle patiently."); -const u8 gMatchCallFlavorText_Fisherman_Elliot_Pokemon[] = _("WATER POKéMON to battle!"); -const u8 gMatchCallFlavorText_Fisherman_Elliot_Intro1[] = _("I'm the world's only guy to"); -const u8 gMatchCallFlavorText_Fisherman_Elliot_Intro2[] = _("catch a huge POKéMON!"); - -const u8 gMatchCallFlavorText_Triathlete_Isaiah_Strategy[] = _("Exploit the environment!"); -const u8 gMatchCallFlavorText_Triathlete_Isaiah_Pokemon[] = _("All hail the WATER type!"); -const u8 gMatchCallFlavorText_Triathlete_Isaiah_Intro1[] = _("I won't be beaten by some"); -const u8 gMatchCallFlavorText_Triathlete_Isaiah_Intro2[] = _("beach bum SWIMMER!"); - -const u8 gMatchCallFlavorText_Triathlete_Maria_Strategy[] = _("Speed above all!"); -const u8 gMatchCallFlavorText_Triathlete_Maria_Pokemon[] = _("I use a speedy POKéMON."); -const u8 gMatchCallFlavorText_Triathlete_Maria_Intro1[] = _("A marathon is a challenge"); -const u8 gMatchCallFlavorText_Triathlete_Maria_Intro2[] = _("against your own self."); - -const u8 gMatchCallFlavorText_Triathlete_Abigail_Strategy[] = _("Defense is crucial."); -const u8 gMatchCallFlavorText_Triathlete_Abigail_Pokemon[] = _("My POKéMON is solid."); -const u8 gMatchCallFlavorText_Triathlete_Abigail_Intro1[] = _("I started this for dieting,"); -const u8 gMatchCallFlavorText_Triathlete_Abigail_Intro2[] = _("but I got right into it."); - -const u8 gMatchCallFlavorText_Triathlete_Dylan_Strategy[] = _("Strike before stricken!"); -const u8 gMatchCallFlavorText_Triathlete_Dylan_Pokemon[] = _("A fast-running POKéMON!"); -const u8 gMatchCallFlavorText_Triathlete_Dylan_Intro1[] = _("If you ran and ran, you'd"); -const u8 gMatchCallFlavorText_Triathlete_Dylan_Intro2[] = _("become one with the wind."); - -const u8 gMatchCallFlavorText_Triathlete_Katelyn_Strategy[] = _("All-out offensive!"); -const u8 gMatchCallFlavorText_Triathlete_Katelyn_Pokemon[] = _("WATER POKéMON rule!"); -const u8 gMatchCallFlavorText_Triathlete_Katelyn_Intro1[] = _("I must swim over 6 miles"); -const u8 gMatchCallFlavorText_Triathlete_Katelyn_Intro2[] = _("every day."); - -const u8 gMatchCallFlavorText_Triathlete_Benjamin_Strategy[] = _("Push and push again!"); -const u8 gMatchCallFlavorText_Triathlete_Benjamin_Pokemon[] = _("The strength of STEEL."); -const u8 gMatchCallFlavorText_Triathlete_Benjamin_Intro1[] = _("If you're sweating, get"); -const u8 gMatchCallFlavorText_Triathlete_Benjamin_Intro2[] = _("fluids into you regularly."); - -const u8 gMatchCallFlavorText_Triathlete_Pablo_Strategy[] = _("Draw the power of WATER."); -const u8 gMatchCallFlavorText_Triathlete_Pablo_Pokemon[] = _("Toughened WATER POKéMON."); -const u8 gMatchCallFlavorText_Triathlete_Pablo_Intro1[] = _("Training POKéMON is good,"); -const u8 gMatchCallFlavorText_Triathlete_Pablo_Intro2[] = _("but don't neglect yourself."); - -const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Strategy[] = _("It's about POKéMON power!"); -const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Pokemon[] = _("See the power of DRAGONS!"); -const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Intro1[] = _("I'll become legendary as the"); -const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Intro2[] = _("strongest one day!"); - -const u8 gMatchCallFlavorText_BirdKeeper_Robert_Strategy[] = _("I'll show you my technique!"); -const u8 gMatchCallFlavorText_BirdKeeper_Robert_Pokemon[] = _("Elegantly wheeling BIRDS."); -const u8 gMatchCallFlavorText_BirdKeeper_Robert_Intro1[] = _("My BIRD POKéMON, deliver my"); -const u8 gMatchCallFlavorText_BirdKeeper_Robert_Intro2[] = _("love to that girl!"); - -const u8 gMatchCallFlavorText_NinjaBoy_Lao_Strategy[] = _("You'll suffer from poison!"); -const u8 gMatchCallFlavorText_NinjaBoy_Lao_Pokemon[] = _("Poisonous POKéMON."); -const u8 gMatchCallFlavorText_NinjaBoy_Lao_Intro1[] = _("I undertake training so"); -const u8 gMatchCallFlavorText_NinjaBoy_Lao_Intro2[] = _("that I may become a ninja."); - -const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Strategy[] = _("The first strike wins!"); -const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Pokemon[] = _("Speedy FIGHTING type."); -const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Intro1[] = _("If my POKéMON lose,"); -const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Intro2[] = _("I'll carry on the fight!"); - -const u8 gMatchCallFlavorText_ParasolLady_Madeline_Strategy[] = _("Go, go, my POKéMON!"); -const u8 gMatchCallFlavorText_ParasolLady_Madeline_Pokemon[] = _("I'll raise anything."); -const u8 gMatchCallFlavorText_ParasolLady_Madeline_Intro1[] = _("UV rays are your skin's"); -const u8 gMatchCallFlavorText_ParasolLady_Madeline_Intro2[] = _("enemy. Get protected."); - -const u8 gMatchCallFlavorText_Swimmer_Jenny_Strategy[] = _("No mercy!"); -const u8 gMatchCallFlavorText_Swimmer_Jenny_Pokemon[] = _("Cute WATER POKéMON."); -const u8 gMatchCallFlavorText_Swimmer_Jenny_Intro1[] = _("I have too many fans."); -const u8 gMatchCallFlavorText_Swimmer_Jenny_Intro2[] = _("I was interviewed on TV."); - -const u8 gMatchCallFlavorText_Picnicker_Diana_Strategy[] = _("I think about this & that."); -const u8 gMatchCallFlavorText_Picnicker_Diana_Pokemon[] = _("I like all POKéMON."); -const u8 gMatchCallFlavorText_Picnicker_Diana_Intro1[] = _("What lies beyond that"); -const u8 gMatchCallFlavorText_Picnicker_Diana_Intro2[] = _("yonder hill?"); - -const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Strategy[] = _("We battle together!"); -const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Pokemon[] = _("We train together!"); -const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Intro1[] = _("We like the same POKéMON,"); -const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Intro2[] = _("but different desserts."); - -const u8 gMatchCallFlavorText_Sailor_Ernest_Strategy[] = _("I force things with power!"); -const u8 gMatchCallFlavorText_Sailor_Ernest_Pokemon[] = _("WATER and FIGHTING types."); -const u8 gMatchCallFlavorText_Sailor_Ernest_Intro1[] = _("Seamen are rough spirits!"); -const u8 gMatchCallFlavorText_Sailor_Ernest_Intro2[] = _("Any complaints?"); - -const u8 gMatchCallFlavorText_Sailor_Cory_Strategy[] = _("Up for a fight anytime!"); -const u8 gMatchCallFlavorText_Sailor_Cory_Pokemon[] = _("WATER POKéMON are my faves!"); -const u8 gMatchCallFlavorText_Sailor_Cory_Intro1[] = _("If you want to shout loud,"); -const u8 gMatchCallFlavorText_Sailor_Cory_Intro2[] = _("suck in air with your belly!"); - -const u8 gMatchCallFlavorText_Collector_Edwin_Strategy[] = _("Protect POKéMON from harm."); -const u8 gMatchCallFlavorText_Collector_Edwin_Pokemon[] = _("I love rare POKéMON."); -const u8 gMatchCallFlavorText_Collector_Edwin_Intro1[] = _("I want to collect all the"); -const u8 gMatchCallFlavorText_Collector_Edwin_Intro2[] = _("world's rare POKéMON."); - -const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Strategy[] = _("I count on power."); -const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Pokemon[] = _("POKéMON are my children."); -const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Intro1[] = _("It takes knowledge and"); -const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Intro2[] = _("love to raise POKéMON."); - -const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Strategy[] = _("Full-on attack!"); -const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Pokemon[] = _("Anything. I'll raise it."); -const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Intro1[] = _("I give them {POKEBLOCK}S for"); -const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Intro2[] = _("going after CONTEST titles."); - -const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Strategy[] = _("I raise POKéMON with care."); -const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Pokemon[] = _("Fun-to-raise POKéMON."); -const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Intro1[] = _("Treat every POKéMON you"); -const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Intro2[] = _("meet with respect."); - -const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Strategy[] = _("I believe in my POKéMON."); -const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Pokemon[] = _("I like strong POKéMON."); -const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Intro1[] = _("I'm training for rescue"); -const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Intro2[] = _("work with my POKéMON."); - -const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Strategy[] = _("Attack in waves!"); -const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Pokemon[] = _("I use different types."); -const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Intro1[] = _("Those who destroy nature"); -const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Intro2[] = _("must never be forgiven!"); - -const u8 gMatchCallFlavorText_Lass_Haley_Strategy[] = _("I'll show you some guts!"); -const u8 gMatchCallFlavorText_Lass_Haley_Pokemon[] = _("Cute POKéMON are my faves!"); -const u8 gMatchCallFlavorText_Lass_Haley_Intro1[] = _("After a battle, I always"); -const u8 gMatchCallFlavorText_Lass_Haley_Intro2[] = _("bathe with my POKéMON."); - -const u8 gMatchCallFlavorText_BugCatcher_James_Strategy[] = _("Lightning-fast attack!"); -const u8 gMatchCallFlavorText_BugCatcher_James_Pokemon[] = _("BUG POKéMON are number 1!"); -const u8 gMatchCallFlavorText_BugCatcher_James_Intro1[] = _("If you want to catch BUG"); -const u8 gMatchCallFlavorText_BugCatcher_James_Intro2[] = _("POKéMON, wake up early."); - -const u8 gMatchCallFlavorText_Hiker_Trent_Strategy[] = _("I battle with power."); -const u8 gMatchCallFlavorText_Hiker_Trent_Pokemon[] = _("Hard-bodied POKéMON."); -const u8 gMatchCallFlavorText_Hiker_Trent_Intro1[] = _("I've been planning a month"); -const u8 gMatchCallFlavorText_Hiker_Trent_Intro2[] = _("for today's hike."); - -const u8 gMatchCallFlavorText_Hiker_Sawyer_Strategy[] = _("I like it hot!"); -const u8 gMatchCallFlavorText_Hiker_Sawyer_Pokemon[] = _("Hot POKéMON!"); -const u8 gMatchCallFlavorText_Hiker_Sawyer_Intro1[] = _("As much as I love POKéMON,"); -const u8 gMatchCallFlavorText_Hiker_Sawyer_Intro2[] = _("I surely like hiking!"); - -const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Strategy[] = _("Lovey-dovey strategy!"); -const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Pokemon[] = _("Lovey-dovey POKéMON!"); -const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Intro1[] = _("We're lovey-dovey!"); -const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Intro2[] = _("Forever lovey-dovey!"); - -const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Strategy[] = _("We let it all hang out."); -const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Pokemon[] = _("The 1st POKéMON I caught."); -const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Intro1[] = _("POKéMON and I have grown"); -const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Intro2[] = _("stronger together."); - -const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Strategy[] = _("ROCK-type power attack."); -const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Pokemon[] = _("I prefer rock-hard POKéMON."); -const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Intro1[] = _("A LEADER of a big GYM bears"); -const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Intro2[] = _("a lot of responsibility."); - -const u8 gMatchCallFlavorText_TheBigHit_Brawly_Strategy[] = _("Direct physical action!"); -const u8 gMatchCallFlavorText_TheBigHit_Brawly_Pokemon[] = _("FIGHTING POKéMON rule!"); -const u8 gMatchCallFlavorText_TheBigHit_Brawly_Intro1[] = _("The world awaits me as the"); -const u8 gMatchCallFlavorText_TheBigHit_Brawly_Intro2[] = _("next big wave!"); - -const u8 gMatchCallFlavorText_SwellShock_Wattson_Strategy[] = _("I choose to electrify."); -const u8 gMatchCallFlavorText_SwellShock_Wattson_Pokemon[] = _("Get shocked by electricity!"); -const u8 gMatchCallFlavorText_SwellShock_Wattson_Intro1[] = _("One must never throw a"); -const u8 gMatchCallFlavorText_SwellShock_Wattson_Intro2[] = _("match. Even I must not."); - -const u8 gMatchCallFlavorText_PassionBurn_Flannery_Strategy[] = _("Battle aggressively."); -const u8 gMatchCallFlavorText_PassionBurn_Flannery_Pokemon[] = _("Burn with passion!"); -const u8 gMatchCallFlavorText_PassionBurn_Flannery_Intro1[] = _("Completely wash away daily"); -const u8 gMatchCallFlavorText_PassionBurn_Flannery_Intro2[] = _("fatigue in hot springs!"); - -const u8 gMatchCallFlavorText_ReliableOne_Dad_Strategy[] = _("I flexibly adapt my style."); -const u8 gMatchCallFlavorText_ReliableOne_Dad_Pokemon[] = _("Grown in a balanced manner."); -const u8 gMatchCallFlavorText_ReliableOne_Dad_Intro1[] = _("I walk the 30 minutes from"); -const u8 gMatchCallFlavorText_ReliableOne_Dad_Intro2[] = _("home to here every day."); - -const u8 gMatchCallFlavorText_SkyTamer_Winona_Strategy[] = _("I take advantage of speed."); -const u8 gMatchCallFlavorText_SkyTamer_Winona_Pokemon[] = _("Graceful sky dancers."); -const u8 gMatchCallFlavorText_SkyTamer_Winona_Intro1[] = _("The ultimate would be to"); -const u8 gMatchCallFlavorText_SkyTamer_Winona_Intro2[] = _("live as one with nature."); - -const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Strategy[] = _("We battle in cooperation."); -const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Pokemon[] = _("Always friendly POKéMON."); -const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Intro1[] = _("Papa has trouble telling"); -const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Intro2[] = _("the two of us apart!"); - -const u8 gMatchCallFlavorText_DandyCharm_Juan_Strategy[] = _("I use splendid waterpower."); -const u8 gMatchCallFlavorText_DandyCharm_Juan_Pokemon[] = _("POKéMON of elegance!"); -const u8 gMatchCallFlavorText_DandyCharm_Juan_Intro1[] = _("The adulation of beautiful"); -const u8 gMatchCallFlavorText_DandyCharm_Juan_Intro2[] = _("ladies fills me with energy!"); - -const u8 gMatchCallFlavorText_EliteFour_Sidney_Strategy[] = _("Offense over defense!"); -const u8 gMatchCallFlavorText_EliteFour_Sidney_Pokemon[] = _("The DARK side's beauties."); -const u8 gMatchCallFlavorText_EliteFour_Sidney_Intro1[] = _("They said I was a punk, but"); -const u8 gMatchCallFlavorText_EliteFour_Sidney_Intro2[] = _("I'm one of the ELITE FOUR!"); - -const u8 gMatchCallFlavorText_EliteFour_Phoebe_Strategy[] = _("Confuse and confound."); -const u8 gMatchCallFlavorText_EliteFour_Phoebe_Pokemon[] = _("There's nothing definite."); -const u8 gMatchCallFlavorText_EliteFour_Phoebe_Intro1[] = _("I wonder how my grandma at"); -const u8 gMatchCallFlavorText_EliteFour_Phoebe_Intro2[] = _("MT. PYRE is doing?"); - -const u8 gMatchCallFlavorText_EliteFour_Glacia_Strategy[] = _("I use items for help."); -const u8 gMatchCallFlavorText_EliteFour_Glacia_Pokemon[] = _("Flaming passion in icy cold!"); -const u8 gMatchCallFlavorText_EliteFour_Glacia_Intro1[] = _("The ICE type can be better"); -const u8 gMatchCallFlavorText_EliteFour_Glacia_Intro2[] = _("trained in this hot land."); - -const u8 gMatchCallFlavorText_EliteFour_Drake_Strategy[] = _("Harness strong abilities."); -const u8 gMatchCallFlavorText_EliteFour_Drake_Pokemon[] = _("The raw power of DRAGONS!"); -const u8 gMatchCallFlavorText_EliteFour_Drake_Intro1[] = _("I dedicate myself to the"); -const u8 gMatchCallFlavorText_EliteFour_Drake_Intro2[] = _("POKéMON that saved me."); - -const u8 gMatchCallFlavorText_Champion_Wallace_Strategy[] = _("Dignity and respect."); -const u8 gMatchCallFlavorText_Champion_Wallace_Pokemon[] = _("I prefer POKéMON of grace."); -const u8 gMatchCallFlavorText_Champion_Wallace_Intro1[] = _("I represent beauty as"); -const u8 gMatchCallFlavorText_Champion_Wallace_Intro2[] = _("well as intelligence."); - -const u8 *const gMatchCallMessages[][4] = +const u8 gText_MatchCallAromaLady_Rose_Strategy[] = _("Becalm fighting emotions."); +const u8 gText_MatchCallAromaLady_Rose_Pokemon[] = _("Fragrant GRASS POKéMON."); +const u8 gText_MatchCallAromaLady_Rose_Intro1[] = _("Soothing aromas make the"); +const u8 gText_MatchCallAromaLady_Rose_Intro2[] = _("body and mind healthy."); + +const u8 gText_MatchCallRuinManiac_Andres_Strategy[] = _("I'm not very good at this."); +const u8 gText_MatchCallRuinManiac_Andres_Pokemon[] = _("Ruin-exploration partners."); +const u8 gText_MatchCallRuinManiac_Andres_Intro1[] = _("I am searching for undersea"); +const u8 gText_MatchCallRuinManiac_Andres_Intro2[] = _("ruins and relics."); + +const u8 gText_MatchCallRuinManiac_Dusty_Strategy[] = _("Overwhelm with power!"); +const u8 gText_MatchCallRuinManiac_Dusty_Pokemon[] = _("Craggy ROCK POKéMON."); +const u8 gText_MatchCallRuinManiac_Dusty_Intro1[] = _("In search of ancient lore,"); +const u8 gText_MatchCallRuinManiac_Dusty_Intro2[] = _("I travel the world."); + +const u8 gText_MatchCallTuber_Lola_Strategy[] = _("I'm going to try hard!"); +const u8 gText_MatchCallTuber_Lola_Pokemon[] = _("Good swimmer POKéMON."); +const u8 gText_MatchCallTuber_Lola_Intro1[] = _("I wish I could swim without"); +const u8 gText_MatchCallTuber_Lola_Intro2[] = _("using an inner tube."); + +const u8 gText_MatchCallTuber_Ricky_Strategy[] = _("I don't know. I'll try hard."); +const u8 gText_MatchCallTuber_Ricky_Pokemon[] = _("WATER POKéMON are buddies."); +const u8 gText_MatchCallTuber_Ricky_Intro1[] = _("It's not like I can't swim."); +const u8 gText_MatchCallTuber_Ricky_Intro2[] = _("I just like my inner tube."); + +const u8 gText_MatchCallSisAndBro_LilaAndRoy_Strategy[] = _("We split our duties."); +const u8 gText_MatchCallSisAndBro_LilaAndRoy_Pokemon[] = _("We like friendly POKéMON."); +const u8 gText_MatchCallSisAndBro_LilaAndRoy_Intro1[] = _("We enjoy POKéMON together"); +const u8 gText_MatchCallSisAndBro_LilaAndRoy_Intro2[] = _("as sister and brother."); + +const u8 gText_MatchCallCooltrainer_Cristin_Strategy[] = _("I finish with power moves!"); +const u8 gText_MatchCallCooltrainer_Cristin_Pokemon[] = _("A mix of different types."); +const u8 gText_MatchCallCooltrainer_Cristin_Intro1[] = _("I aim to become the ultimate"); +const u8 gText_MatchCallCooltrainer_Cristin_Intro2[] = _("TRAINER!"); + +const u8 gText_MatchCallCooltrainer_Brooke_Strategy[] = _("Exploit the foe's weakness."); +const u8 gText_MatchCallCooltrainer_Brooke_Pokemon[] = _("Balance is crucial."); +const u8 gText_MatchCallCooltrainer_Brooke_Intro1[] = _("My goal is to become the"); +const u8 gText_MatchCallCooltrainer_Brooke_Intro2[] = _("POKéMON CHAMPION."); + +const u8 gText_MatchCallCooltrainer_Wilton_Strategy[] = _("Upset the opponent."); +const u8 gText_MatchCallCooltrainer_Wilton_Pokemon[] = _("Type doesn't matter."); +const u8 gText_MatchCallCooltrainer_Wilton_Intro1[] = _("I'm a top student at the"); +const u8 gText_MatchCallCooltrainer_Wilton_Intro2[] = _("TRAINER'S SCHOOL."); + +const u8 gText_MatchCallHexManiac_Valerie_Strategy[] = _("Slow, steady suffering."); +const u8 gText_MatchCallHexManiac_Valerie_Pokemon[] = _("Scary to meet at night."); +const u8 gText_MatchCallHexManiac_Valerie_Intro1[] = _("I see things that others"); +const u8 gText_MatchCallHexManiac_Valerie_Intro2[] = _("can't see..."); + +const u8 gText_MatchCallLady_Cindy_Strategy[] = _("Anything to win."); +const u8 gText_MatchCallLady_Cindy_Pokemon[] = _("Gorgeous type!"); +const u8 gText_MatchCallLady_Cindy_Intro1[] = _("I have a pool specially for"); +const u8 gText_MatchCallLady_Cindy_Intro2[] = _("my POKéMON at home."); + +const u8 gText_MatchCallBeauty_Thalia_Strategy[] = _("You'll fall under my spell!"); +const u8 gText_MatchCallBeauty_Thalia_Pokemon[] = _("Mature WATER type."); +const u8 gText_MatchCallBeauty_Thalia_Intro1[] = _("I dream of cruising around"); +const u8 gText_MatchCallBeauty_Thalia_Intro2[] = _("the world on a luxury liner."); + +const u8 gText_MatchCallBeauty_Jessica_Strategy[] = _("I'll lead you astray."); +const u8 gText_MatchCallBeauty_Jessica_Pokemon[] = _("Cute, of course."); +const u8 gText_MatchCallBeauty_Jessica_Intro1[] = _("I love the SAFARI ZONE."); +const u8 gText_MatchCallBeauty_Jessica_Intro2[] = _("I seem to end up there."); + +const u8 gText_MatchCallRichBoy_Winston_Strategy[] = _("Strategy? Who needs it?"); +const u8 gText_MatchCallRichBoy_Winston_Pokemon[] = _("I spent big money on it!"); +const u8 gText_MatchCallRichBoy_Winston_Intro1[] = _("I, being rich, sleep in a"); +const u8 gText_MatchCallRichBoy_Winston_Intro2[] = _("custom POKéMON bed."); + +const u8 gText_MatchCallPokeManiac_Steve_Strategy[] = _("Wrestle down with power."); +const u8 gText_MatchCallPokeManiac_Steve_Pokemon[] = _("Took all night to catch."); +const u8 gText_MatchCallPokeManiac_Steve_Intro1[] = _("Big, burly, and buff"); +const u8 gText_MatchCallPokeManiac_Steve_Intro2[] = _("POKéMON are the best..."); + +const u8 gText_MatchCallSwimmer_Tony_Strategy[] = _("Ram at full speed!"); +const u8 gText_MatchCallSwimmer_Tony_Pokemon[] = _("Funky WATER type!"); +const u8 gText_MatchCallSwimmer_Tony_Intro1[] = _("If I can't be out swimming,"); +const u8 gText_MatchCallSwimmer_Tony_Intro2[] = _("I'll be pumping weights."); + +const u8 gText_MatchCallBlackBelt_Nob_Strategy[] = _("Grand slam pummeling!"); +const u8 gText_MatchCallBlackBelt_Nob_Pokemon[] = _("FIGHTING type."); +const u8 gText_MatchCallBlackBelt_Nob_Intro1[] = _("Not to brag, but I can bust"); +const u8 gText_MatchCallBlackBelt_Nob_Intro2[] = _("ten roof tiles!"); + +const u8 gText_MatchCallBlackBelt_Koji_Strategy[] = _("Witness karate power!"); +const u8 gText_MatchCallBlackBelt_Koji_Pokemon[] = _("My partners in training!"); +const u8 gText_MatchCallBlackBelt_Koji_Intro1[] = _("Let us discuss matters of"); +const u8 gText_MatchCallBlackBelt_Koji_Intro2[] = _("the world with bare fists!"); + +const u8 gText_MatchCallGuitarist_Fernando_Strategy[] = _("Rock to stunning sounds!"); +const u8 gText_MatchCallGuitarist_Fernando_Pokemon[] = _("Electric-and-sound combo!"); +const u8 gText_MatchCallGuitarist_Fernando_Intro1[] = _("My compositions will shock"); +const u8 gText_MatchCallGuitarist_Fernando_Intro2[] = _("you and stun you!"); + +const u8 gText_MatchCallGuitarist_Dalton_Strategy[] = _("I'll electrify you!"); +const u8 gText_MatchCallGuitarist_Dalton_Pokemon[] = _("They're ELECTRIC!"); +const u8 gText_MatchCallGuitarist_Dalton_Intro1[] = _("I want to make people cry"); +const u8 gText_MatchCallGuitarist_Dalton_Intro2[] = _("with songs from my heart."); + +const u8 gText_MatchCallKindler_Bernie_Strategy[] = _("Burn it all down!"); +const u8 gText_MatchCallKindler_Bernie_Pokemon[] = _("Burn-inducing POKéMON."); +const u8 gText_MatchCallKindler_Bernie_Intro1[] = _("When you light a campfire,"); +const u8 gText_MatchCallKindler_Bernie_Intro2[] = _("be sure there's some water."); + +const u8 gText_MatchCallCamper_Ethan_Strategy[] = _("Hang in and be tenacious!"); +const u8 gText_MatchCallCamper_Ethan_Pokemon[] = _("I'll raise any POKéMON."); +const u8 gText_MatchCallCamper_Ethan_Intro1[] = _("POKéMON raised in the wild"); +const u8 gText_MatchCallCamper_Ethan_Intro2[] = _("grow strong!"); + +const u8 gText_MatchCallOldCouple_JohnAndJay_Strategy[] = _("Our love lets us prevail."); +const u8 gText_MatchCallOldCouple_JohnAndJay_Pokemon[] = _("We've had them for years."); +const u8 gText_MatchCallOldCouple_JohnAndJay_Intro1[] = _("Married 50 years, we've"); +const u8 gText_MatchCallOldCouple_JohnAndJay_Intro2[] = _("devotedly raised POKéMON."); + +const u8 gText_MatchCallBugManiac_Jeffrey_Strategy[] = _("Attack in waves!"); +const u8 gText_MatchCallBugManiac_Jeffrey_Pokemon[] = _("BUG POKéMON are cool."); +const u8 gText_MatchCallBugManiac_Jeffrey_Intro1[] = _("I go into the forest every"); +const u8 gText_MatchCallBugManiac_Jeffrey_Intro2[] = _("day to catch BUG POKéMON."); + +const u8 gText_MatchCallPsychic_Cameron_Strategy[] = _("Daze and confuse!"); +const u8 gText_MatchCallPsychic_Cameron_Pokemon[] = _("Ones with weird powers."); +const u8 gText_MatchCallPsychic_Cameron_Intro1[] = _("I can see through exactly"); +const u8 gText_MatchCallPsychic_Cameron_Intro2[] = _("what you're thinking!"); + +const u8 gText_MatchCallPsychic_Jacki_Strategy[] = _("Battle at full power."); +const u8 gText_MatchCallPsychic_Jacki_Pokemon[] = _("POKéMON of many mysteries."); +const u8 gText_MatchCallPsychic_Jacki_Intro1[] = _("When we spoke, I was really"); +const u8 gText_MatchCallPsychic_Jacki_Intro2[] = _("using telepathy."); + +const u8 gText_MatchCallGentleman_Walter_Strategy[] = _("Calm and collected."); +const u8 gText_MatchCallGentleman_Walter_Pokemon[] = _("POKéMON of distinction."); +const u8 gText_MatchCallGentleman_Walter_Intro1[] = _("We enjoy a spot of tea"); +const u8 gText_MatchCallGentleman_Walter_Intro2[] = _("every day. It's imported."); + +const u8 gText_MatchCallSchoolKid_Karen_Strategy[] = _("I use my head to battle."); +const u8 gText_MatchCallSchoolKid_Karen_Pokemon[] = _("I love any kind of POKéMON!"); +const u8 gText_MatchCallSchoolKid_Karen_Intro1[] = _("My daddy gives me spending"); +const u8 gText_MatchCallSchoolKid_Karen_Intro2[] = _("money if I ace a test."); + +const u8 gText_MatchCallSchoolKid_Jerry_Strategy[] = _("My knowledge rules!"); +const u8 gText_MatchCallSchoolKid_Jerry_Pokemon[] = _("Any smart POKéMON!"); +const u8 gText_MatchCallSchoolKid_Jerry_Intro1[] = _("I want to be a POKéMON"); +const u8 gText_MatchCallSchoolKid_Jerry_Intro2[] = _("researcher in the future."); + +const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Strategy[] = _("We talk it over first."); +const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Pokemon[] = _("POKéMON that we both like."); +const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Intro1[] = _("We're senior and junior"); +const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Intro2[] = _("students into POKéMON!"); + +const u8 gText_MatchCallPokefan_Isabel_Strategy[] = _("Go for it, my dears!"); +const u8 gText_MatchCallPokefan_Isabel_Pokemon[] = _("I have no likes or dislikes."); +const u8 gText_MatchCallPokefan_Isabel_Intro1[] = _("While out shopping for"); +const u8 gText_MatchCallPokefan_Isabel_Intro2[] = _("supper, I battle too."); + +const u8 gText_MatchCallPokefan_Miguel_Strategy[] = _("I battle with love!"); +const u8 gText_MatchCallPokefan_Miguel_Pokemon[] = _("A POKéMON raised with love!"); +const u8 gText_MatchCallPokefan_Miguel_Intro1[] = _("It's important to build"); +const u8 gText_MatchCallPokefan_Miguel_Intro2[] = _("trust with your POKéMON."); + +const u8 gText_MatchCallExpert_Timothy_Strategy[] = _("I see through your moves!"); +const u8 gText_MatchCallExpert_Timothy_Pokemon[] = _("The essence of FIGHTING."); +const u8 gText_MatchCallExpert_Timothy_Intro1[] = _("I'm not ready to give way"); +const u8 gText_MatchCallExpert_Timothy_Intro2[] = _("to the young yet!"); + +const u8 gText_MatchCallExpert_Shelby_Strategy[] = _("Attack while defending."); +const u8 gText_MatchCallExpert_Shelby_Pokemon[] = _("The FIGHTING type."); +const u8 gText_MatchCallExpert_Shelby_Intro1[] = _("Being old, I have my own"); +const u8 gText_MatchCallExpert_Shelby_Intro2[] = _("style of battling."); + +const u8 gText_MatchCallYoungster_Calvin_Strategy[] = _("I do what I can."); +const u8 gText_MatchCallYoungster_Calvin_Pokemon[] = _("I use different types."); +const u8 gText_MatchCallYoungster_Calvin_Intro1[] = _("I'm going to keep working"); +const u8 gText_MatchCallYoungster_Calvin_Intro2[] = _("until I beat a GYM LEADER."); + +const u8 gText_MatchCallFisherman_Elliot_Strategy[] = _("I battle patiently."); +const u8 gText_MatchCallFisherman_Elliot_Pokemon[] = _("WATER POKéMON to battle!"); +const u8 gText_MatchCallFisherman_Elliot_Intro1[] = _("I'm the world's only guy to"); +const u8 gText_MatchCallFisherman_Elliot_Intro2[] = _("catch a huge POKéMON!"); + +const u8 gText_MatchCallTriathlete_Isaiah_Strategy[] = _("Exploit the environment!"); +const u8 gText_MatchCallTriathlete_Isaiah_Pokemon[] = _("All hail the WATER type!"); +const u8 gText_MatchCallTriathlete_Isaiah_Intro1[] = _("I won't be beaten by some"); +const u8 gText_MatchCallTriathlete_Isaiah_Intro2[] = _("beach bum SWIMMER!"); + +const u8 gText_MatchCallTriathlete_Maria_Strategy[] = _("Speed above all!"); +const u8 gText_MatchCallTriathlete_Maria_Pokemon[] = _("I use a speedy POKéMON."); +const u8 gText_MatchCallTriathlete_Maria_Intro1[] = _("A marathon is a challenge"); +const u8 gText_MatchCallTriathlete_Maria_Intro2[] = _("against your own self."); + +const u8 gText_MatchCallTriathlete_Abigail_Strategy[] = _("Defense is crucial."); +const u8 gText_MatchCallTriathlete_Abigail_Pokemon[] = _("My POKéMON is solid."); +const u8 gText_MatchCallTriathlete_Abigail_Intro1[] = _("I started this for dieting,"); +const u8 gText_MatchCallTriathlete_Abigail_Intro2[] = _("but I got right into it."); + +const u8 gText_MatchCallTriathlete_Dylan_Strategy[] = _("Strike before stricken!"); +const u8 gText_MatchCallTriathlete_Dylan_Pokemon[] = _("A fast-running POKéMON!"); +const u8 gText_MatchCallTriathlete_Dylan_Intro1[] = _("If you ran and ran, you'd"); +const u8 gText_MatchCallTriathlete_Dylan_Intro2[] = _("become one with the wind."); + +const u8 gText_MatchCallTriathlete_Katelyn_Strategy[] = _("All-out offensive!"); +const u8 gText_MatchCallTriathlete_Katelyn_Pokemon[] = _("WATER POKéMON rule!"); +const u8 gText_MatchCallTriathlete_Katelyn_Intro1[] = _("I must swim over 6 miles"); +const u8 gText_MatchCallTriathlete_Katelyn_Intro2[] = _("every day."); + +const u8 gText_MatchCallTriathlete_Benjamin_Strategy[] = _("Push and push again!"); +const u8 gText_MatchCallTriathlete_Benjamin_Pokemon[] = _("The strength of STEEL."); +const u8 gText_MatchCallTriathlete_Benjamin_Intro1[] = _("If you're sweating, get"); +const u8 gText_MatchCallTriathlete_Benjamin_Intro2[] = _("fluids into you regularly."); + +const u8 gText_MatchCallTriathlete_Pablo_Strategy[] = _("Draw the power of WATER."); +const u8 gText_MatchCallTriathlete_Pablo_Pokemon[] = _("Toughened WATER POKéMON."); +const u8 gText_MatchCallTriathlete_Pablo_Intro1[] = _("Training POKéMON is good,"); +const u8 gText_MatchCallTriathlete_Pablo_Intro2[] = _("but don't neglect yourself."); + +const u8 gText_MatchCallDragonTamer_Nicolas_Strategy[] = _("It's about POKéMON power!"); +const u8 gText_MatchCallDragonTamer_Nicolas_Pokemon[] = _("See the power of DRAGONS!"); +const u8 gText_MatchCallDragonTamer_Nicolas_Intro1[] = _("I'll become legendary as the"); +const u8 gText_MatchCallDragonTamer_Nicolas_Intro2[] = _("strongest one day!"); + +const u8 gText_MatchCallBirdKeeper_Robert_Strategy[] = _("I'll show you my technique!"); +const u8 gText_MatchCallBirdKeeper_Robert_Pokemon[] = _("Elegantly wheeling BIRDS."); +const u8 gText_MatchCallBirdKeeper_Robert_Intro1[] = _("My BIRD POKéMON, deliver my"); +const u8 gText_MatchCallBirdKeeper_Robert_Intro2[] = _("love to that girl!"); + +const u8 gText_MatchCallNinjaBoy_Lao_Strategy[] = _("You'll suffer from poison!"); +const u8 gText_MatchCallNinjaBoy_Lao_Pokemon[] = _("Poisonous POKéMON."); +const u8 gText_MatchCallNinjaBoy_Lao_Intro1[] = _("I undertake training so"); +const u8 gText_MatchCallNinjaBoy_Lao_Intro2[] = _("that I may become a ninja."); + +const u8 gText_MatchCallBattleGirl_Cyndy_Strategy[] = _("The first strike wins!"); +const u8 gText_MatchCallBattleGirl_Cyndy_Pokemon[] = _("Speedy FIGHTING type."); +const u8 gText_MatchCallBattleGirl_Cyndy_Intro1[] = _("If my POKéMON lose,"); +const u8 gText_MatchCallBattleGirl_Cyndy_Intro2[] = _("I'll carry on the fight!"); + +const u8 gText_MatchCallParasolLady_Madeline_Strategy[] = _("Go, go, my POKéMON!"); +const u8 gText_MatchCallParasolLady_Madeline_Pokemon[] = _("I'll raise anything."); +const u8 gText_MatchCallParasolLady_Madeline_Intro1[] = _("UV rays are your skin's"); +const u8 gText_MatchCallParasolLady_Madeline_Intro2[] = _("enemy. Get protected."); + +const u8 gText_MatchCallSwimmer_Jenny_Strategy[] = _("No mercy!"); +const u8 gText_MatchCallSwimmer_Jenny_Pokemon[] = _("Cute WATER POKéMON."); +const u8 gText_MatchCallSwimmer_Jenny_Intro1[] = _("I have too many fans."); +const u8 gText_MatchCallSwimmer_Jenny_Intro2[] = _("I was interviewed on TV."); + +const u8 gText_MatchCallPicnicker_Diana_Strategy[] = _("I think about this & that."); +const u8 gText_MatchCallPicnicker_Diana_Pokemon[] = _("I like all POKéMON."); +const u8 gText_MatchCallPicnicker_Diana_Intro1[] = _("What lies beyond that"); +const u8 gText_MatchCallPicnicker_Diana_Intro2[] = _("yonder hill?"); + +const u8 gText_MatchCallTwins_AmyAndLiv_Strategy[] = _("We battle together!"); +const u8 gText_MatchCallTwins_AmyAndLiv_Pokemon[] = _("We train together!"); +const u8 gText_MatchCallTwins_AmyAndLiv_Intro1[] = _("We like the same POKéMON,"); +const u8 gText_MatchCallTwins_AmyAndLiv_Intro2[] = _("but different desserts."); + +const u8 gText_MatchCallSailor_Ernest_Strategy[] = _("I force things with power!"); +const u8 gText_MatchCallSailor_Ernest_Pokemon[] = _("WATER and FIGHTING types."); +const u8 gText_MatchCallSailor_Ernest_Intro1[] = _("Seamen are rough spirits!"); +const u8 gText_MatchCallSailor_Ernest_Intro2[] = _("Any complaints?"); + +const u8 gText_MatchCallSailor_Cory_Strategy[] = _("Up for a fight anytime!"); +const u8 gText_MatchCallSailor_Cory_Pokemon[] = _("WATER POKéMON are my faves!"); +const u8 gText_MatchCallSailor_Cory_Intro1[] = _("If you want to shout loud,"); +const u8 gText_MatchCallSailor_Cory_Intro2[] = _("suck in air with your belly!"); + +const u8 gText_MatchCallCollector_Edwin_Strategy[] = _("Protect POKéMON from harm."); +const u8 gText_MatchCallCollector_Edwin_Pokemon[] = _("I love rare POKéMON."); +const u8 gText_MatchCallCollector_Edwin_Intro1[] = _("I want to collect all the"); +const u8 gText_MatchCallCollector_Edwin_Intro2[] = _("world's rare POKéMON."); + +const u8 gText_MatchCallPkmnBreeder_Lydia_Strategy[] = _("I count on power."); +const u8 gText_MatchCallPkmnBreeder_Lydia_Pokemon[] = _("POKéMON are my children."); +const u8 gText_MatchCallPkmnBreeder_Lydia_Intro1[] = _("It takes knowledge and"); +const u8 gText_MatchCallPkmnBreeder_Lydia_Intro2[] = _("love to raise POKéMON."); + +const u8 gText_MatchCallPkmnBreeder_Isaac_Strategy[] = _("Full-on attack!"); +const u8 gText_MatchCallPkmnBreeder_Isaac_Pokemon[] = _("Anything. I'll raise it."); +const u8 gText_MatchCallPkmnBreeder_Isaac_Intro1[] = _("I give them {POKEBLOCK}S for"); +const u8 gText_MatchCallPkmnBreeder_Isaac_Intro2[] = _("going after CONTEST titles."); + +const u8 gText_MatchCallPkmnBreeder_Gabrielle_Strategy[] = _("I raise POKéMON with care."); +const u8 gText_MatchCallPkmnBreeder_Gabrielle_Pokemon[] = _("Fun-to-raise POKéMON."); +const u8 gText_MatchCallPkmnBreeder_Gabrielle_Intro1[] = _("Treat every POKéMON you"); +const u8 gText_MatchCallPkmnBreeder_Gabrielle_Intro2[] = _("meet with respect."); + +const u8 gText_MatchCallPkmnRanger_Catherine_Strategy[] = _("I believe in my POKéMON."); +const u8 gText_MatchCallPkmnRanger_Catherine_Pokemon[] = _("I like strong POKéMON."); +const u8 gText_MatchCallPkmnRanger_Catherine_Intro1[] = _("I'm training for rescue"); +const u8 gText_MatchCallPkmnRanger_Catherine_Intro2[] = _("work with my POKéMON."); + +const u8 gText_MatchCallPkmnRanger_Jackson_Strategy[] = _("Attack in waves!"); +const u8 gText_MatchCallPkmnRanger_Jackson_Pokemon[] = _("I use different types."); +const u8 gText_MatchCallPkmnRanger_Jackson_Intro1[] = _("Those who destroy nature"); +const u8 gText_MatchCallPkmnRanger_Jackson_Intro2[] = _("must never be forgiven!"); + +const u8 gText_MatchCallLass_Haley_Strategy[] = _("I'll show you some guts!"); +const u8 gText_MatchCallLass_Haley_Pokemon[] = _("Cute POKéMON are my faves!"); +const u8 gText_MatchCallLass_Haley_Intro1[] = _("After a battle, I always"); +const u8 gText_MatchCallLass_Haley_Intro2[] = _("bathe with my POKéMON."); + +const u8 gText_MatchCallBugCatcher_James_Strategy[] = _("Lightning-fast attack!"); +const u8 gText_MatchCallBugCatcher_James_Pokemon[] = _("BUG POKéMON are number 1!"); +const u8 gText_MatchCallBugCatcher_James_Intro1[] = _("If you want to catch BUG"); +const u8 gText_MatchCallBugCatcher_James_Intro2[] = _("POKéMON, wake up early."); + +const u8 gText_MatchCallHiker_Trent_Strategy[] = _("I battle with power."); +const u8 gText_MatchCallHiker_Trent_Pokemon[] = _("Hard-bodied POKéMON."); +const u8 gText_MatchCallHiker_Trent_Intro1[] = _("I've been planning a month"); +const u8 gText_MatchCallHiker_Trent_Intro2[] = _("for today's hike."); + +const u8 gText_MatchCallHiker_Sawyer_Strategy[] = _("I like it hot!"); +const u8 gText_MatchCallHiker_Sawyer_Pokemon[] = _("Hot POKéMON!"); +const u8 gText_MatchCallHiker_Sawyer_Intro1[] = _("As much as I love POKéMON,"); +const u8 gText_MatchCallHiker_Sawyer_Intro2[] = _("I surely like hiking!"); + +const u8 gText_MatchCallYoungCouple_LoisAndHal_Strategy[] = _("Lovey-dovey strategy!"); +const u8 gText_MatchCallYoungCouple_LoisAndHal_Pokemon[] = _("Lovey-dovey POKéMON!"); +const u8 gText_MatchCallYoungCouple_LoisAndHal_Intro1[] = _("We're lovey-dovey!"); +const u8 gText_MatchCallYoungCouple_LoisAndHal_Intro2[] = _("Forever lovey-dovey!"); + +const u8 gText_MatchCallPkmnTrainer_Wally_Strategy[] = _("We let it all hang out."); +const u8 gText_MatchCallPkmnTrainer_Wally_Pokemon[] = _("The 1st POKéMON I caught."); +const u8 gText_MatchCallPkmnTrainer_Wally_Intro1[] = _("POKéMON and I have grown"); +const u8 gText_MatchCallPkmnTrainer_Wally_Intro2[] = _("stronger together."); + +const u8 gText_MatchCallRockinWhiz_Roxanne_Strategy[] = _("ROCK-type power attack."); +const u8 gText_MatchCallRockinWhiz_Roxanne_Pokemon[] = _("I prefer rock-hard POKéMON."); +const u8 gText_MatchCallRockinWhiz_Roxanne_Intro1[] = _("A LEADER of a big GYM bears"); +const u8 gText_MatchCallRockinWhiz_Roxanne_Intro2[] = _("a lot of responsibility."); + +const u8 gText_MatchCallTheBigHit_Brawly_Strategy[] = _("Direct physical action!"); +const u8 gText_MatchCallTheBigHit_Brawly_Pokemon[] = _("FIGHTING POKéMON rule!"); +const u8 gText_MatchCallTheBigHit_Brawly_Intro1[] = _("The world awaits me as the"); +const u8 gText_MatchCallTheBigHit_Brawly_Intro2[] = _("next big wave!"); + +const u8 gText_MatchCallSwellShock_Wattson_Strategy[] = _("I choose to electrify."); +const u8 gText_MatchCallSwellShock_Wattson_Pokemon[] = _("Get shocked by electricity!"); +const u8 gText_MatchCallSwellShock_Wattson_Intro1[] = _("One must never throw a"); +const u8 gText_MatchCallSwellShock_Wattson_Intro2[] = _("match. Even I must not."); + +const u8 gText_MatchCallPassionBurn_Flannery_Strategy[] = _("Battle aggressively."); +const u8 gText_MatchCallPassionBurn_Flannery_Pokemon[] = _("Burn with passion!"); +const u8 gText_MatchCallPassionBurn_Flannery_Intro1[] = _("Completely wash away daily"); +const u8 gText_MatchCallPassionBurn_Flannery_Intro2[] = _("fatigue in hot springs!"); + +const u8 gText_MatchCallReliableOne_Dad_Strategy[] = _("I flexibly adapt my style."); +const u8 gText_MatchCallReliableOne_Dad_Pokemon[] = _("Grown in a balanced manner."); +const u8 gText_MatchCallReliableOne_Dad_Intro1[] = _("I walk the 30 minutes from"); +const u8 gText_MatchCallReliableOne_Dad_Intro2[] = _("home to here every day."); + +const u8 gText_MatchCallSkyTamer_Winona_Strategy[] = _("I take advantage of speed."); +const u8 gText_MatchCallSkyTamer_Winona_Pokemon[] = _("Graceful sky dancers."); +const u8 gText_MatchCallSkyTamer_Winona_Intro1[] = _("The ultimate would be to"); +const u8 gText_MatchCallSkyTamer_Winona_Intro2[] = _("live as one with nature."); + +const u8 gText_MatchCallMysticDuo_TateAndLiza_Strategy[] = _("We battle in cooperation."); +const u8 gText_MatchCallMysticDuo_TateAndLiza_Pokemon[] = _("Always friendly POKéMON."); +const u8 gText_MatchCallMysticDuo_TateAndLiza_Intro1[] = _("Papa has trouble telling"); +const u8 gText_MatchCallMysticDuo_TateAndLiza_Intro2[] = _("the two of us apart!"); + +const u8 gText_MatchCallDandyCharm_Juan_Strategy[] = _("I use splendid waterpower."); +const u8 gText_MatchCallDandyCharm_Juan_Pokemon[] = _("POKéMON of elegance!"); +const u8 gText_MatchCallDandyCharm_Juan_Intro1[] = _("The adulation of beautiful"); +const u8 gText_MatchCallDandyCharm_Juan_Intro2[] = _("ladies fills me with energy!"); + +const u8 gText_MatchCallEliteFour_Sidney_Strategy[] = _("Offense over defense!"); +const u8 gText_MatchCallEliteFour_Sidney_Pokemon[] = _("The DARK side's beauties."); +const u8 gText_MatchCallEliteFour_Sidney_Intro1[] = _("They said I was a punk, but"); +const u8 gText_MatchCallEliteFour_Sidney_Intro2[] = _("I'm one of the ELITE FOUR!"); + +const u8 gText_MatchCallEliteFour_Phoebe_Strategy[] = _("Confuse and confound."); +const u8 gText_MatchCallEliteFour_Phoebe_Pokemon[] = _("There's nothing definite."); +const u8 gText_MatchCallEliteFour_Phoebe_Intro1[] = _("I wonder how my grandma at"); +const u8 gText_MatchCallEliteFour_Phoebe_Intro2[] = _("MT. PYRE is doing?"); + +const u8 gText_MatchCallEliteFour_Glacia_Strategy[] = _("I use items for help."); +const u8 gText_MatchCallEliteFour_Glacia_Pokemon[] = _("Flaming passion in icy cold!"); +const u8 gText_MatchCallEliteFour_Glacia_Intro1[] = _("The ICE type can be better"); +const u8 gText_MatchCallEliteFour_Glacia_Intro2[] = _("trained in this hot land."); + +const u8 gText_MatchCallEliteFour_Drake_Strategy[] = _("Harness strong abilities."); +const u8 gText_MatchCallEliteFour_Drake_Pokemon[] = _("The raw power of DRAGONS!"); +const u8 gText_MatchCallEliteFour_Drake_Intro1[] = _("I dedicate myself to the"); +const u8 gText_MatchCallEliteFour_Drake_Intro2[] = _("POKéMON that saved me."); + +const u8 gText_MatchCallChampion_Wallace_Strategy[] = _("Dignity and respect."); +const u8 gText_MatchCallChampion_Wallace_Pokemon[] = _("I prefer POKéMON of grace."); +const u8 gText_MatchCallChampion_Wallace_Intro1[] = _("I represent beauty as"); +const u8 gText_MatchCallChampion_Wallace_Intro2[] = _("well as intelligence."); + +const u8 *const gMatchCallFlavorTexts[REMATCH_TABLE_ENTRIES][CHECK_PAGE_ENTRY_COUNT] = { [REMATCH_ROSE] = MCFLAVOR(AromaLady_Rose), [REMATCH_ANDRES] = MCFLAVOR(RuinManiac_Andres), diff --git a/src/daycare.c b/src/daycare.c index 42c69465b..dcbadeba8 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -54,8 +54,8 @@ static const struct WindowTemplate sDaycareLevelMenuWindowTemplate = // which is copied to VAR_0x8004 and used as an index for GetDaycareCost static const struct ListMenuItem sLevelMenuItems[] = { - {gExpandedPlaceholder_Empty, 0}, - {gExpandedPlaceholder_Empty, 1}, + {gText_ExpandedPlaceholder_Empty, 0}, + {gText_ExpandedPlaceholder_Empty, 1}, {gText_Exit, DAYCARE_LEVEL_MENU_EXIT} }; diff --git a/src/naming_screen.c b/src/naming_screen.c index 73eda32c8..a282b728a 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -33,7 +33,6 @@ EWRAM_DATA static struct NamingScreenData *gNamingScreenData = NULL; extern u16 gKeyRepeatStartDelay; // extern text -extern const u8 gExpandedPlaceholder_Empty[]; extern const u8 gText_MoveOkBack[]; extern const u8 gText_YourName[]; extern const u8 gText_BoxName[]; @@ -1679,7 +1678,7 @@ static void sub_80E4D10(void) for (i = 0; i < maxChars; i++) { temp[0] = gNamingScreenData->textBuffer[i]; - temp[1] = gExpandedPlaceholder_Empty[0]; + temp[1] = gText_ExpandedPlaceholder_Empty[0]; unk2 = (sub_80E503C(temp[0]) == 1) ? 2 : 0; AddTextPrinterParameterized(gNamingScreenData->windows[2], 1, temp, i * 8 + unk + unk2, 1, 0xFF, NULL); diff --git a/src/pokenav.c b/src/pokenav.c index 9f12380df..6b971bc00 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -337,7 +337,7 @@ static void CB2_InitPokenavForTutorial(void) else { InitPokenavResources(gPokenavResources); - gPokenavResources->mode = POKENAV_MODE_FORCE_CALL_1; + gPokenavResources->mode = POKENAV_MODE_FORCE_CALL_READY; ResetTasks(); ResetSpriteData(); FreeAllSpritePalettes(); diff --git a/src/pokenav_match_call_data.c b/src/pokenav_match_call_data.c index 5379ee88e..15374ca89 100644 --- a/src/pokenav_match_call_data.c +++ b/src/pokenav_match_call_data.c @@ -7,6 +7,7 @@ #include "gym_leader_rematch.h" #include "match_call.h" #include "pokenav.h" +#include "strings.h" #include "constants/region_map_sections.h" #include "constants/trainers.h" @@ -100,7 +101,7 @@ struct MatchCallOverride { u16 idx; u16 facilityClass; u32 flag; - const u8 *flavorTexts[4]; + const u8 *flavorTexts[CHECK_PAGE_ENTRY_COUNT]; }; // Static RAM declarations @@ -153,176 +154,144 @@ static void sub_81D1920(const match_call_text_data_t *, u8 *); static void sub_81D199C(const match_call_text_data_t *, u16, u8 *); static void MatchCall_GetNameAndDescByRematchIdx(u32, const u8 **, const u8 **); -extern const u8 gText_MrStone_Pokenav_2B60C0[]; -extern const u8 gText_MrStone_Pokenav_2B61E6[]; -extern const u8 gText_MrStone_Pokenav_2B6302[]; -extern const u8 gText_MrStone_Pokenav_2B63A0[]; -extern const u8 gText_MrStone_Pokenav_2B64A2[]; -extern const u8 gText_MrStone_Pokenav_2B6526[]; -extern const u8 gText_MrStone_Pokenav_2B65BB[]; -extern const u8 gText_MrStone_Pokenav_2B6664[]; -extern const u8 gText_MrStone_Pokenav_2B66B1[]; -extern const u8 gText_MrStone_Pokenav_2B6703[]; -extern const u8 gText_MrStone_Pokenav_2B67ED[]; - -extern const u8 gMrStoneMatchCallDesc[]; -extern const u8 gMrStoneMatchCallName[]; - -extern const u8 gText_Norman_Pokenav_2B5719[]; -extern const u8 gText_Norman_Pokenav_2B5795[]; -extern const u8 gText_Norman_Pokenav_2B584D[]; -extern const u8 gText_Norman_Pokenav_2B58E3[]; -extern const u8 gText_Norman_Pokenav_2B5979[]; -extern const u8 gText_Norman_Pokenav_2B5A07[]; -extern const u8 gText_Norman_Pokenav_2B5A69[]; -extern const u8 gText_Norman_Pokenav_2B5ACF[]; -extern const u8 gText_Norman_Pokenav_2B5B5E[]; - -extern const u8 gNormanMatchCallDesc[]; -extern const u8 gNormanMatchCallName[]; - -extern const u8 gProfBirchMatchCallDesc[]; -extern const u8 gProfBirchMatchCallName[]; - -extern const u8 gText_Mom_Pokenav_2B227B[]; -extern const u8 gText_Mom_Pokenav_2B2310[]; -extern const u8 gText_Mom_Pokenav_2B23F3[]; - -extern const u8 gMomMatchCallDesc[]; -extern const u8 gMomMatchCallName[]; - -extern const u8 gText_Steven_Pokenav_2B5B95[]; -extern const u8 gText_Steven_Pokenav_2B5C53[]; -extern const u8 gText_Steven_Pokenav_2B5CC9[]; -extern const u8 gText_Steven_Pokenav_2B5DB4[]; -extern const u8 gText_Steven_Pokenav_2B5E26[]; -extern const u8 gText_Steven_Pokenav_2B5EA2[]; -extern const u8 gText_Steven_Pokenav_2B5ED9[]; - -extern const u8 gStevenMatchCallDesc[]; -extern const u8 gStevenMatchCallName[]; - -extern const u8 gText_May_Pokenav_2B3AB3[]; -extern const u8 gText_May_Pokenav_2B3B3F[]; -extern const u8 gText_May_Pokenav_2B3C13[]; -extern const u8 gText_May_Pokenav_2B3CF3[]; -extern const u8 gText_May_Pokenav_2B3D4B[]; -extern const u8 gText_May_Pokenav_2B3DD1[]; -extern const u8 gText_May_Pokenav_2B3E69[]; -extern const u8 gText_May_Pokenav_2B3ECD[]; -extern const u8 gText_May_Pokenav_2B3F2B[]; -extern const u8 gText_May_Pokenav_2B3FFB[]; -extern const u8 gText_May_Pokenav_2B402B[]; -extern const u8 gText_May_Pokenav_2B414B[]; -extern const u8 gText_May_Pokenav_2B4228[]; -extern const u8 gText_May_Pokenav_2B42E0[]; -extern const u8 gText_May_Pokenav_2B4350[]; -extern const u8 gMayBrendanMatchCallDesc[]; -extern const u8 gExpandedPlaceholder_May[]; -extern const u8 gText_Brendan_Pokenav_2B43EF[]; -extern const u8 gText_Brendan_Pokenav_2B4486[]; -extern const u8 gText_Brendan_Pokenav_2B4560[]; -extern const u8 gText_Brendan_Pokenav_2B463F[]; -extern const u8 gText_Brendan_Pokenav_2B46B7[]; -extern const u8 gText_Brendan_Pokenav_2B4761[]; -extern const u8 gText_Brendan_Pokenav_2B47F4[]; -extern const u8 gText_Brendan_Pokenav_2B4882[]; -extern const u8 gText_Brendan_Pokenav_2B4909[]; -extern const u8 gText_Brendan_Pokenav_2B49C4[]; -extern const u8 gText_Brendan_Pokenav_2B4A44[]; -extern const u8 gText_Brendan_Pokenav_2B4B28[]; -extern const u8 gText_Brendan_Pokenav_2B4C15[]; -extern const u8 gText_Brendan_Pokenav_2B4CD8[]; -extern const u8 gText_Brendan_Pokenav_2B4D46[]; -extern const u8 gExpandedPlaceholder_Brendan[]; -extern const u8 gText_Wally_Pokenav_2B4DE2[]; -extern const u8 gText_Wally_Pokenav_2B4E57[]; -extern const u8 gText_Wally_Pokenav_2B4EA5[]; -extern const u8 gText_Wally_Pokenav_2B4F41[]; -extern const u8 gText_Wally_Pokenav_2B4FF3[]; -extern const u8 gText_Wally_Pokenav_2B50B1[]; -extern const u8 gText_Wally_Pokenav_2B5100[]; -extern const u8 gWallyMatchCallDesc[]; -extern const u8 gText_Scott_Pokenav_2B5184[]; -extern const u8 gText_Scott_Pokenav_2B5275[]; -extern const u8 gText_Scott_Pokenav_2B5323[]; -extern const u8 gText_Scott_Pokenav_2B53DB[]; -extern const u8 gText_Scott_Pokenav_2B54A5[]; -extern const u8 gText_Scott_Pokenav_2B5541[]; -extern const u8 gText_Scott_Pokenav_2B56CA[]; -extern const u8 gScottMatchCallDesc[]; -extern const u8 gScottMatchCallName[]; -extern const u8 gText_Roxanne_Pokenav_2B2456[]; -extern const u8 gText_Roxanne_Pokenav_2B250E[]; -extern const u8 gText_Roxanne_Pokenav_2B25C1[]; -extern const u8 gText_Roxanne_Pokenav_2B2607[]; -extern const u8 gRoxanneMatchCallDesc[]; -extern const u8 gText_Brawly_Pokenav_2B2659[]; -extern const u8 gText_Brawly_Pokenav_2B275D[]; -extern const u8 gText_Brawly_Pokenav_2B286F[]; -extern const u8 gText_Brawly_Pokenav_2B28D1[]; -extern const u8 gBrawlyMatchCallDesc[]; -extern const u8 gText_Wattson_Pokenav_2B2912[]; -extern const u8 gText_Wattson_Pokenav_2B29CA[]; -extern const u8 gText_Wattson_Pokenav_2B2AB6[]; -extern const u8 gText_Wattson_Pokenav_2B2B01[]; -extern const u8 gWattsonMatchCallDesc[]; -extern const u8 gText_Flannery_Pokenav_2B2B4D[]; -extern const u8 gText_Flannery_Pokenav_2B2C0E[]; -extern const u8 gText_Flannery_Pokenav_2B2CF1[]; -extern const u8 gText_Flannery_Pokenav_2B2D54[]; -extern const u8 gFlanneryMatchCallDesc[]; -extern const u8 gText_Winona_Pokenav_2B2DA4[]; -extern const u8 gText_Winona_Pokenav_2B2E2B[]; -extern const u8 gText_Winona_Pokenav_2B2EC2[]; -extern const u8 gText_Winona_Pokenav_2B2F16[]; -extern const u8 gWinonaMatchCallDesc[]; -extern const u8 gText_TateLiza_Pokenav_2B2F97[]; -extern const u8 gText_TateLiza_Pokenav_2B306E[]; -extern const u8 gText_TateLiza_Pokenav_2B3158[]; -extern const u8 gText_TateLiza_Pokenav_2B31CD[]; -extern const u8 gTateLizaMatchCallDesc[]; -extern const u8 gText_Juan_Pokenav_2B3249[]; -extern const u8 gText_Juan_Pokenav_2B32EC[]; -extern const u8 gText_Juan_Pokenav_2B33AA[]; -extern const u8 gText_Juan_Pokenav_2B341E[]; -extern const u8 gJuanMatchCallDesc[]; -extern const u8 gText_Sidney_Pokenav_2B34CC[]; -extern const u8 gEliteFourMatchCallDesc[]; -extern const u8 gText_Phoebe_Pokenav_2B3561[]; -extern const u8 gText_Glacia_Pokenav_2B35E4[]; -extern const u8 gText_Drake_Pokenav_2B368B[]; -extern const u8 gText_Wallace_Pokenav_2B3790[]; -extern const u8 gChampionMatchCallDesc[]; -extern const u8 gMatchCallStevenStrategyText[]; -extern const u8 gMatchCall_StevenTrainersPokemonText[]; -extern const u8 gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle[]; -extern const u8 gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle[]; -extern const u8 gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle[]; -extern const u8 gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle[]; -extern const u8 gMatchCall_BrendanStrategyText[]; -extern const u8 gMatchCall_BrendanTrainersPokemonText[]; -extern const u8 gMatchCall_BrendanSelfIntroductionText_Line1[]; -extern const u8 gMatchCall_BrendanSelfIntroductionText_Line2[]; -extern const u8 gMatchCall_MayStrategyText[]; -extern const u8 gMatchCall_MayTrainersPokemonText[]; -extern const u8 gMatchCall_MaySelfIntroductionText_Line1[]; -extern const u8 gMatchCall_MaySelfIntroductionText_Line2[]; +extern const u8 MatchCall_Text_MrStone1[]; +extern const u8 MatchCall_Text_MrStone2[]; +extern const u8 MatchCall_Text_MrStone3[]; +extern const u8 MatchCall_Text_MrStone4[]; +extern const u8 MatchCall_Text_MrStone5[]; +extern const u8 MatchCall_Text_MrStone6[]; +extern const u8 MatchCall_Text_MrStone7[]; +extern const u8 MatchCall_Text_MrStone8[]; +extern const u8 MatchCall_Text_MrStone9[]; +extern const u8 MatchCall_Text_MrStone10[]; +extern const u8 MatchCall_Text_MrStone11[]; + +extern const u8 MatchCall_Text_Norman1[]; +extern const u8 MatchCall_Text_Norman2[]; +extern const u8 MatchCall_Text_Norman3[]; +extern const u8 MatchCall_Text_Norman4[]; +extern const u8 MatchCall_Text_Norman5[]; +extern const u8 MatchCall_Text_Norman6[]; +extern const u8 MatchCall_Text_Norman7[]; +extern const u8 MatchCall_Text_Norman8[]; +extern const u8 MatchCall_Text_Norman9[]; + +extern const u8 MatchCall_Text_Mom1[]; +extern const u8 MatchCall_Text_Mom2[]; +extern const u8 MatchCall_Text_Mom3[]; + +extern const u8 MatchCall_Text_Steven1[]; +extern const u8 MatchCall_Text_Steven2[]; +extern const u8 MatchCall_Text_Steven3[]; +extern const u8 MatchCall_Text_Steven4[]; +extern const u8 MatchCall_Text_Steven5[]; +extern const u8 MatchCall_Text_Steven6[]; +extern const u8 MatchCall_Text_Steven7[]; + +extern const u8 MatchCall_Text_May1[]; +extern const u8 MatchCall_Text_May2[]; +extern const u8 MatchCall_Text_May3[]; +extern const u8 MatchCall_Text_May4[]; +extern const u8 MatchCall_Text_May5[]; +extern const u8 MatchCall_Text_May6[]; +extern const u8 MatchCall_Text_May7[]; +extern const u8 MatchCall_Text_May8[]; +extern const u8 MatchCall_Text_May9[]; +extern const u8 MatchCall_Text_May10[]; +extern const u8 MatchCall_Text_May11[]; +extern const u8 MatchCall_Text_May12[]; +extern const u8 MatchCall_Text_May13[]; +extern const u8 MatchCall_Text_May14[]; +extern const u8 MatchCall_Text_May15[]; + +extern const u8 MatchCall_Text_Brendan1[]; +extern const u8 MatchCall_Text_Brendan2[]; +extern const u8 MatchCall_Text_Brendan3[]; +extern const u8 MatchCall_Text_Brendan4[]; +extern const u8 MatchCall_Text_Brendan5[]; +extern const u8 MatchCall_Text_Brendan6[]; +extern const u8 MatchCall_Text_Brendan7[]; +extern const u8 MatchCall_Text_Brendan8[]; +extern const u8 MatchCall_Text_Brendan9[]; +extern const u8 MatchCall_Text_Brendan10[]; +extern const u8 MatchCall_Text_Brendan11[]; +extern const u8 MatchCall_Text_Brendan12[]; +extern const u8 MatchCall_Text_Brendan13[]; +extern const u8 MatchCall_Text_Brendan14[]; +extern const u8 MatchCall_Text_Brendan15[]; + +extern const u8 MatchCall_Text_Wally1[]; +extern const u8 MatchCall_Text_Wally2[]; +extern const u8 MatchCall_Text_Wally3[]; +extern const u8 MatchCall_Text_Wally4[]; +extern const u8 MatchCall_Text_Wally5[]; +extern const u8 MatchCall_Text_Wally6[]; +extern const u8 MatchCall_Text_Wally7[]; + +extern const u8 MatchCall_Text_Scott1[]; +extern const u8 MatchCall_Text_Scott2[]; +extern const u8 MatchCall_Text_Scott3[]; +extern const u8 MatchCall_Text_Scott4[]; +extern const u8 MatchCall_Text_Scott5[]; +extern const u8 MatchCall_Text_Scott6[]; +extern const u8 MatchCall_Text_Scott7[]; + +extern const u8 MatchCall_Text_Roxanne1[]; +extern const u8 MatchCall_Text_Roxanne2[]; +extern const u8 MatchCall_Text_Roxanne3[]; +extern const u8 MatchCall_Text_Roxanne4[]; + +extern const u8 MatchCall_Text_Brawly1[]; +extern const u8 MatchCall_Text_Brawly2[]; +extern const u8 MatchCall_Text_Brawly3[]; +extern const u8 MatchCall_Text_Brawly4[]; + +extern const u8 MatchCall_Text_Wattson1[]; +extern const u8 MatchCall_Text_Wattson2[]; +extern const u8 MatchCall_Text_Wattson3[]; +extern const u8 MatchCall_Text_Wattson4[]; + +extern const u8 MatchCall_Text_Flannery1[]; +extern const u8 MatchCall_Text_Flannery2[]; +extern const u8 MatchCall_Text_Flannery3[]; +extern const u8 MatchCall_Text_Flannery4[]; + +extern const u8 MatchCall_Text_Winona1[]; +extern const u8 MatchCall_Text_Winona2[]; +extern const u8 MatchCall_Text_Winona3[]; +extern const u8 MatchCall_Text_Winona4[]; + +extern const u8 MatchCall_Text_TateLiza1[]; +extern const u8 MatchCall_Text_TateLiza2[]; +extern const u8 MatchCall_Text_TateLiza3[]; +extern const u8 MatchCall_Text_TateLiza4[]; + +extern const u8 MatchCall_Text_Juan1[]; +extern const u8 MatchCall_Text_Juan2[]; +extern const u8 MatchCall_Text_Juan3[]; +extern const u8 MatchCall_Text_Juan4[]; + +extern const u8 MatchCall_Text_Sidney[]; +extern const u8 MatchCall_Text_Phoebe[]; +extern const u8 MatchCall_Text_Glacia[]; +extern const u8 MatchCall_Text_Drake[]; +extern const u8 MatchCall_Text_Wallace[]; + // .rodata static const match_call_text_data_t sMrStoneTextScripts[] = { - { gText_MrStone_Pokenav_2B60C0, 0xFFFF, FLAG_ENABLE_MR_STONE_POKENAV }, - { gText_MrStone_Pokenav_2B61E6, FLAG_ENABLE_MR_STONE_POKENAV, 0xFFFF }, - { gText_MrStone_Pokenav_2B6302, FLAG_DELIVERED_STEVEN_LETTER, 0xFFFF }, - { gText_MrStone_Pokenav_2B63A0, FLAG_RECEIVED_EXP_SHARE, 0xFFFF }, - { gText_MrStone_Pokenav_2B64A2, FLAG_RECEIVED_HM04, 0xFFFF }, - { gText_MrStone_Pokenav_2B6526, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, - { gText_MrStone_Pokenav_2B65BB, FLAG_RECEIVED_CASTFORM, 0xFFFF }, - { gText_MrStone_Pokenav_2B6664, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, - { gText_MrStone_Pokenav_2B66B1, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, - { gText_MrStone_Pokenav_2B6703, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, - { gText_MrStone_Pokenav_2B67ED, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_MrStone1, 0xFFFF, FLAG_ENABLE_MR_STONE_POKENAV }, + { MatchCall_Text_MrStone2, FLAG_ENABLE_MR_STONE_POKENAV, 0xFFFF }, + { MatchCall_Text_MrStone3, FLAG_DELIVERED_STEVEN_LETTER, 0xFFFF }, + { MatchCall_Text_MrStone4, FLAG_RECEIVED_EXP_SHARE, 0xFFFF }, + { MatchCall_Text_MrStone5, FLAG_RECEIVED_HM04, 0xFFFF }, + { MatchCall_Text_MrStone6, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { MatchCall_Text_MrStone7, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { MatchCall_Text_MrStone8, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, + { MatchCall_Text_MrStone9, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { MatchCall_Text_MrStone10, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, + { MatchCall_Text_MrStone11, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct0 sMrStoneMatchCallHeader = @@ -330,22 +299,22 @@ static const struct MatchCallStruct0 sMrStoneMatchCallHeader = .type = 0, .mapSec = MAPSEC_RUSTBORO_CITY, .flag = 0xFFFF, - .desc = gMrStoneMatchCallDesc, - .name = gMrStoneMatchCallName, + .desc = gText_MrStoneMatchCallDesc, + .name = gText_MrStoneMatchCallName, .textData = sMrStoneTextScripts }; static const match_call_text_data_t sNormanTextScripts[] = { - { gText_Norman_Pokenav_2B5719, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF }, - { gText_Norman_Pokenav_2B5795, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, - { gText_Norman_Pokenav_2B584D, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, - { gText_Norman_Pokenav_2B58E3, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, - { gText_Norman_Pokenav_2B5979, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, - { gText_Norman_Pokenav_2B5A07, 0xFFFE, 0xFFFF }, - { gText_Norman_Pokenav_2B5A69, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { gText_Norman_Pokenav_2B5ACF, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { gText_Norman_Pokenav_2B5B5E, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Norman1, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF }, + { MatchCall_Text_Norman2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, + { MatchCall_Text_Norman3, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, + { MatchCall_Text_Norman4, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { MatchCall_Text_Norman5, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { MatchCall_Text_Norman6, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Norman7, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { MatchCall_Text_Norman8, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { MatchCall_Text_Norman9, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sNormanMatchCallHeader = @@ -354,8 +323,8 @@ static const struct MatchCallStruct5 sNormanMatchCallHeader = .mapSec = MAPSEC_PETALBURG_CITY, .flag = FLAG_ENABLE_NORMAN_MATCH_CALL, .rematchTableIdx = REMATCH_NORMAN, - .desc = gNormanMatchCallDesc, - .name = gNormanMatchCallName, + .desc = gText_NormanMatchCallDesc, + .name = gText_NormanMatchCallName, .textData = sNormanTextScripts }; @@ -364,15 +333,15 @@ static const struct MatchCallStruct3 sProfBirchMatchCallHeader = .type = 3, .mapSec = 0, .flag = FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, - .desc = gProfBirchMatchCallDesc, - .name = gProfBirchMatchCallName + .desc = gText_ProfBirchMatchCallDesc, + .name = gText_ProfBirchMatchCallName }; static const match_call_text_data_t sMomTextScripts[] = { - { gText_Mom_Pokenav_2B227B, 0xffff, 0xffff }, - { gText_Mom_Pokenav_2B2310, FLAG_DEFEATED_PETALBURG_GYM, 0xffff }, - { gText_Mom_Pokenav_2B23F3, FLAG_SYS_GAME_CLEAR, 0xffff }, - { NULL, 0xffff, 0xffff } + { MatchCall_Text_Mom1, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Mom2, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { MatchCall_Text_Mom3, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct0 sMomMatchCallHeader = @@ -380,20 +349,20 @@ static const struct MatchCallStruct0 sMomMatchCallHeader = .type = 0, .mapSec = MAPSEC_LITTLEROOT_TOWN, .flag = FLAG_ENABLE_MOM_MATCH_CALL, - .desc = gMomMatchCallDesc, - .name = gMomMatchCallName, + .desc = gText_MomMatchCallDesc, + .name = gText_MomMatchCallName, .textData = sMomTextScripts }; static const match_call_text_data_t sStevenTextScripts[] = { - { gText_Steven_Pokenav_2B5B95, 0xffff, 0xffff }, - { gText_Steven_Pokenav_2B5C53, FLAG_RUSTURF_TUNNEL_OPENED, 0xffff }, - { gText_Steven_Pokenav_2B5CC9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xffff }, - { gText_Steven_Pokenav_2B5DB4, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xffff }, - { gText_Steven_Pokenav_2B5E26, FLAG_DEFEATED_MOSSDEEP_GYM, 0xffff }, - { gText_Steven_Pokenav_2B5EA2, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xffff }, - { gText_Steven_Pokenav_2B5ED9, FLAG_SYS_GAME_CLEAR, 0xffff }, - { NULL, 0xffff, 0xffff }, + { MatchCall_Text_Steven1, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Steven2, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF }, + { MatchCall_Text_Steven3, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { MatchCall_Text_Steven4, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { MatchCall_Text_Steven5, FLAG_DEFEATED_MOSSDEEP_GYM, 0xFFFF }, + { MatchCall_Text_Steven6, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, + { MatchCall_Text_Steven7, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF }, }; static const struct MatchCallStruct0 sStevenMatchCallHeader = @@ -401,28 +370,28 @@ static const struct MatchCallStruct0 sStevenMatchCallHeader = .type = 0, .mapSec = MAPSEC_NONE, .flag = FLAG_REGISTERED_STEVEN_POKENAV, - .desc = gStevenMatchCallDesc, - .name = gStevenMatchCallName, + .desc = gText_StevenMatchCallDesc, + .name = gText_StevenMatchCallName, .textData = sStevenTextScripts }; static const match_call_text_data_t sMayTextScripts[] = { - { gText_May_Pokenav_2B3AB3, 0xFFFF, 0xFFFF }, - { gText_May_Pokenav_2B3B3F, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, - { gText_May_Pokenav_2B3C13, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF }, - { gText_May_Pokenav_2B3CF3, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, - { gText_May_Pokenav_2B3D4B, FLAG_RECEIVED_HM04, 0xFFFF }, - { gText_May_Pokenav_2B3DD1, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, - { gText_May_Pokenav_2B3E69, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, - { gText_May_Pokenav_2B3ECD, FLAG_RECEIVED_CASTFORM, 0xFFFF }, - { gText_May_Pokenav_2B3F2B, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, - { gText_May_Pokenav_2B3FFB, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, - { gText_May_Pokenav_2B402B, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF }, - { gText_May_Pokenav_2B414B, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, - { gText_May_Pokenav_2B4228, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, - { gText_May_Pokenav_2B42E0, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, - { gText_May_Pokenav_2B4350, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_May1, 0xFFFF, 0xFFFF }, + { MatchCall_Text_May2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, + { MatchCall_Text_May3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF }, + { MatchCall_Text_May4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, + { MatchCall_Text_May5, FLAG_RECEIVED_HM04, 0xFFFF }, + { MatchCall_Text_May6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, + { MatchCall_Text_May7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { MatchCall_Text_May8, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { MatchCall_Text_May9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { MatchCall_Text_May10, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, + { MatchCall_Text_May11, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF }, + { MatchCall_Text_May12, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { MatchCall_Text_May13, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, + { MatchCall_Text_May14, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, + { MatchCall_Text_May15, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct4 sMayMatchCallHeader = @@ -430,28 +399,28 @@ static const struct MatchCallStruct4 sMayMatchCallHeader = .type = 4, .gender = MALE, //Gender of player .flag = FLAG_ENABLE_RIVAL_MATCH_CALL, - .desc = gMayBrendanMatchCallDesc, - .name = gExpandedPlaceholder_May, + .desc = gText_MayBrendanMatchCallDesc, + .name = gText_ExpandedPlaceholder_May, .textData = sMayTextScripts }; static const match_call_text_data_t sBrendanTextScripts[] = { - { gText_Brendan_Pokenav_2B43EF, 0xFFFF, 0xFFFF }, - { gText_Brendan_Pokenav_2B4486, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, - { gText_Brendan_Pokenav_2B4560, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF }, - { gText_Brendan_Pokenav_2B463F, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, - { gText_Brendan_Pokenav_2B46B7, FLAG_RECEIVED_HM04, 0xFFFF }, - { gText_Brendan_Pokenav_2B4761, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, - { gText_Brendan_Pokenav_2B47F4, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, - { gText_Brendan_Pokenav_2B4882, FLAG_RECEIVED_CASTFORM, 0xFFFF }, - { gText_Brendan_Pokenav_2B4909, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, - { gText_Brendan_Pokenav_2B49C4, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, - { gText_Brendan_Pokenav_2B4A44, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF }, - { gText_Brendan_Pokenav_2B4B28, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, - { gText_Brendan_Pokenav_2B4C15, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, - { gText_Brendan_Pokenav_2B4CD8, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, - { gText_Brendan_Pokenav_2B4D46, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Brendan1, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Brendan2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, + { MatchCall_Text_Brendan3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF }, + { MatchCall_Text_Brendan4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, + { MatchCall_Text_Brendan5, FLAG_RECEIVED_HM04, 0xFFFF }, + { MatchCall_Text_Brendan6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, + { MatchCall_Text_Brendan7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { MatchCall_Text_Brendan8, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { MatchCall_Text_Brendan9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { MatchCall_Text_Brendan10, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, + { MatchCall_Text_Brendan11, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF }, + { MatchCall_Text_Brendan12, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { MatchCall_Text_Brendan13, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, + { MatchCall_Text_Brendan14, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, + { MatchCall_Text_Brendan15, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct4 sBrendanMatchCallHeader = @@ -459,20 +428,20 @@ static const struct MatchCallStruct4 sBrendanMatchCallHeader = .type = 4, .gender = FEMALE, //Gender of player .flag = FLAG_ENABLE_RIVAL_MATCH_CALL, - .desc = gMayBrendanMatchCallDesc, - .name = gExpandedPlaceholder_Brendan, + .desc = gText_MayBrendanMatchCallDesc, + .name = gText_ExpandedPlaceholder_Brendan, .textData = sBrendanTextScripts }; static const match_call_text_data_t sWallyTextScripts[] = { - { gText_Wally_Pokenav_2B4DE2, 0xFFFF, 0xFFFF }, - { gText_Wally_Pokenav_2B4E57, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF }, - { gText_Wally_Pokenav_2B4EA5, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, - { gText_Wally_Pokenav_2B4F41, FLAG_RECEIVED_CASTFORM, 0xFFFF }, - { gText_Wally_Pokenav_2B4FF3, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, - { gText_Wally_Pokenav_2B50B1, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, - { gText_Wally_Pokenav_2B5100, FLAG_DEFEATED_WALLY_VICTORY_ROAD, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Wally1, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Wally2, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF }, + { MatchCall_Text_Wally3, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, + { MatchCall_Text_Wally4, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { MatchCall_Text_Wally5, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, + { MatchCall_Text_Wally6, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, + { MatchCall_Text_Wally7, FLAG_DEFEATED_WALLY_VICTORY_ROAD, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; const struct MatchCallSubstruct2 sWallyAdditionalData[] = { @@ -488,20 +457,20 @@ static const struct MatchCallStruct2 sWallyMatchCallHeader = .mapSec = 0, .flag = FLAG_ENABLE_WALLY_MATCH_CALL, .rematchTableIdx = REMATCH_WALLY_3, - .desc = gWallyMatchCallDesc, + .desc = gText_WallyMatchCallDesc, .textData = sWallyTextScripts, .v10 = sWallyAdditionalData }; static const match_call_text_data_t sScottTextScripts[] = { - { gText_Scott_Pokenav_2B5184, 0xFFFF, 0xFFFF }, - { gText_Scott_Pokenav_2B5275, FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, 0xFFFF }, - { gText_Scott_Pokenav_2B5323, FLAG_RECEIVED_CASTFORM, 0xFFFF }, - { gText_Scott_Pokenav_2B53DB, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, - { gText_Scott_Pokenav_2B54A5, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, - { gText_Scott_Pokenav_2B5541, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, - { gText_Scott_Pokenav_2B56CA, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Scott1, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Scott2, FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, 0xFFFF }, + { MatchCall_Text_Scott3, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { MatchCall_Text_Scott4, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { MatchCall_Text_Scott5, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { MatchCall_Text_Scott6, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, + { MatchCall_Text_Scott7, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; @@ -510,17 +479,17 @@ static const struct MatchCallStruct0 sScottMatchCallHeader = .type = 0, .mapSec = MAPSEC_NONE, .flag = FLAG_ENABLE_SCOTT_MATCH_CALL, - .desc = gScottMatchCallDesc, - .name = gScottMatchCallName, + .desc = gText_ScottMatchCallDesc, + .name = gText_ScottMatchCallName, .textData = sScottTextScripts }; static const match_call_text_data_t sRoxanneTextScripts[] = { - { gText_Roxanne_Pokenav_2B2456, 0xFFFE, 0xFFFF }, - { gText_Roxanne_Pokenav_2B250E, 0xFFFF, 0xFFFF }, - { gText_Roxanne_Pokenav_2B25C1, 0xFFFF, 0xFFFF }, - { gText_Roxanne_Pokenav_2B2607, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Roxanne1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Roxanne2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Roxanne3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Roxanne4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sRoxanneMatchCallHeader = @@ -529,17 +498,17 @@ static const struct MatchCallStruct5 sRoxanneMatchCallHeader = .mapSec = MAPSEC_RUSTBORO_CITY, .flag = FLAG_ENABLE_ROXANNE_MATCH_CALL, .rematchTableIdx = REMATCH_ROXANNE, - .desc = gRoxanneMatchCallDesc, + .desc = gText_RoxanneMatchCallDesc, .name = NULL, .textData = sRoxanneTextScripts }; static const match_call_text_data_t sBrawlyTextScripts[] = { - { gText_Brawly_Pokenav_2B2659, 0xFFFE, 0xFFFF }, - { gText_Brawly_Pokenav_2B275D, 0xFFFF, 0xFFFF }, - { gText_Brawly_Pokenav_2B286F, 0xFFFF, 0xFFFF }, - { gText_Brawly_Pokenav_2B28D1, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Brawly1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Brawly2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Brawly3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Brawly4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sBrawlyMatchCallHeader = @@ -548,17 +517,17 @@ static const struct MatchCallStruct5 sBrawlyMatchCallHeader = .mapSec = MAPSEC_DEWFORD_TOWN, .flag = FLAG_ENABLE_BRAWLY_MATCH_CALL, .rematchTableIdx = REMATCH_BRAWLY, - .desc = gBrawlyMatchCallDesc, + .desc = gText_BrawlyMatchCallDesc, .name = NULL, .textData = sBrawlyTextScripts }; static const match_call_text_data_t sWattsonTextScripts[] = { - { gText_Wattson_Pokenav_2B2912, 0xFFFE, 0xFFFF }, - { gText_Wattson_Pokenav_2B29CA, 0xFFFF, 0xFFFF }, - { gText_Wattson_Pokenav_2B2AB6, 0xFFFF, 0xFFFF }, - { gText_Wattson_Pokenav_2B2B01, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Wattson1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Wattson2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Wattson3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Wattson4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sWattsonMatchCallHeader = @@ -567,17 +536,17 @@ static const struct MatchCallStruct5 sWattsonMatchCallHeader = .mapSec = MAPSEC_MAUVILLE_CITY, .flag = FLAG_ENABLE_WATTSON_MATCH_CALL, .rematchTableIdx = REMATCH_WATTSON, - .desc = gWattsonMatchCallDesc, + .desc = gText_WattsonMatchCallDesc, .name = NULL, .textData = sWattsonTextScripts }; static const match_call_text_data_t sFlanneryTextScripts[] = { - { gText_Flannery_Pokenav_2B2B4D, 0xFFFE, 0xFFFF }, - { gText_Flannery_Pokenav_2B2C0E, 0xFFFF, 0xFFFF }, - { gText_Flannery_Pokenav_2B2CF1, 0xFFFF, 0xFFFF }, - { gText_Flannery_Pokenav_2B2D54, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Flannery1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Flannery2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Flannery3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Flannery4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sFlanneryMatchCallHeader = @@ -586,17 +555,17 @@ static const struct MatchCallStruct5 sFlanneryMatchCallHeader = .mapSec = MAPSEC_LAVARIDGE_TOWN, .flag = FLAG_ENABLE_FLANNERY_MATCH_CALL, .rematchTableIdx = REMATCH_FLANNERY, - .desc = gFlanneryMatchCallDesc, + .desc = gText_FlanneryMatchCallDesc, .name = NULL, .textData = sFlanneryTextScripts }; static const match_call_text_data_t sWinonaTextScripts[] = { - { gText_Winona_Pokenav_2B2DA4, 0xFFFE, 0xFFFF }, - { gText_Winona_Pokenav_2B2E2B, 0xFFFF, 0xFFFF }, - { gText_Winona_Pokenav_2B2EC2, 0xFFFF, 0xFFFF }, - { gText_Winona_Pokenav_2B2F16, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Winona1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Winona2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Winona3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Winona4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sWinonaMatchCallHeader = @@ -605,17 +574,17 @@ static const struct MatchCallStruct5 sWinonaMatchCallHeader = .mapSec = MAPSEC_FORTREE_CITY, .flag = FLAG_ENABLE_WINONA_MATCH_CALL, .rematchTableIdx = REMATCH_WINONA, - .desc = gWinonaMatchCallDesc, + .desc = gText_WinonaMatchCallDesc, .name = NULL, .textData = sWinonaTextScripts }; static const match_call_text_data_t sTateLizaTextScripts[] = { - { gText_TateLiza_Pokenav_2B2F97, 0xFFFE, 0xFFFF }, - { gText_TateLiza_Pokenav_2B306E, 0xFFFF, 0xFFFF }, - { gText_TateLiza_Pokenav_2B3158, 0xFFFF, 0xFFFF }, - { gText_TateLiza_Pokenav_2B31CD, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_TateLiza1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_TateLiza2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_TateLiza3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_TateLiza4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sTateLizaMatchCallHeader = @@ -624,17 +593,17 @@ static const struct MatchCallStruct5 sTateLizaMatchCallHeader = .mapSec = MAPSEC_MOSSDEEP_CITY, .flag = FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL, .rematchTableIdx = REMATCH_TATE_AND_LIZA, - .desc = gTateLizaMatchCallDesc, + .desc = gText_TateLizaMatchCallDesc, .name = NULL, .textData = sTateLizaTextScripts }; static const match_call_text_data_t sJuanTextScripts[] = { - { gText_Juan_Pokenav_2B3249, 0xFFFE, 0xFFFF }, - { gText_Juan_Pokenav_2B32EC, 0xFFFF, 0xFFFF }, - { gText_Juan_Pokenav_2B33AA, 0xFFFF, 0xFFFF }, - { gText_Juan_Pokenav_2B341E, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Juan1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Juan2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Juan3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Juan4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sJuanMatchCallHeader = @@ -643,14 +612,14 @@ static const struct MatchCallStruct5 sJuanMatchCallHeader = .mapSec = MAPSEC_SOOTOPOLIS_CITY, .flag = FLAG_ENABLE_JUAN_MATCH_CALL, .rematchTableIdx = REMATCH_JUAN, - .desc = gJuanMatchCallDesc, + .desc = gText_JuanMatchCallDesc, .name = NULL, .textData = sJuanTextScripts }; static const match_call_text_data_t sSidneyTextScripts[] = { - { gText_Sidney_Pokenav_2B34CC, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Sidney, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sSidneyMatchCallHeader = @@ -659,14 +628,14 @@ static const struct MatchCallStruct5 sSidneyMatchCallHeader = .mapSec = MAPSEC_EVER_GRANDE_CITY, .flag = FLAG_REMATCH_SIDNEY, .rematchTableIdx = REMATCH_SIDNEY, - .desc = gEliteFourMatchCallDesc, + .desc = gText_EliteFourMatchCallDesc, .name = NULL, .textData = sSidneyTextScripts }; static const match_call_text_data_t sPhoebeTextScripts[] = { - { gText_Phoebe_Pokenav_2B3561, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Phoebe, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sPhoebeMatchCallHeader = @@ -675,14 +644,14 @@ static const struct MatchCallStruct5 sPhoebeMatchCallHeader = .mapSec = MAPSEC_EVER_GRANDE_CITY, .flag = FLAG_REMATCH_PHOEBE, .rematchTableIdx = REMATCH_PHOEBE, - .desc = gEliteFourMatchCallDesc, + .desc = gText_EliteFourMatchCallDesc, .name = NULL, .textData = sPhoebeTextScripts }; static const match_call_text_data_t sGlaciaTextScripts[] = { - { gText_Glacia_Pokenav_2B35E4, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Glacia, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sGlaciaMatchCallHeader = @@ -691,14 +660,14 @@ static const struct MatchCallStruct5 sGlaciaMatchCallHeader = .mapSec = MAPSEC_EVER_GRANDE_CITY, .flag = FLAG_REMATCH_GLACIA, .rematchTableIdx = REMATCH_GLACIA, - .desc = gEliteFourMatchCallDesc, + .desc = gText_EliteFourMatchCallDesc, .name = NULL, .textData = sGlaciaTextScripts }; static const match_call_text_data_t sDrakeTextScripts[] = { - { gText_Drake_Pokenav_2B368B, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Drake, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sDrakeMatchCallHeader = @@ -707,14 +676,14 @@ static const struct MatchCallStruct5 sDrakeMatchCallHeader = .mapSec = MAPSEC_EVER_GRANDE_CITY, .flag = FLAG_REMATCH_DRAKE, .rematchTableIdx = REMATCH_DRAKE, - .desc = gEliteFourMatchCallDesc, + .desc = gText_EliteFourMatchCallDesc, .name = NULL, .textData = sDrakeTextScripts }; static const match_call_text_data_t sWallaceTextScripts[] = { - { gText_Wallace_Pokenav_2B3790, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Wallace, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; static const struct MatchCallStruct5 sWallaceMatchCallHeader = @@ -723,7 +692,7 @@ static const struct MatchCallStruct5 sWallaceMatchCallHeader = .mapSec = MAPSEC_EVER_GRANDE_CITY, .flag = FLAG_REMATCH_WALLACE, .rematchTableIdx = REMATCH_WALLACE, - .desc = gChampionMatchCallDesc, + .desc = gText_ChampionMatchCallDesc, .name = NULL, .textData = sWallaceTextScripts }; @@ -809,10 +778,40 @@ static void (*const sMatchCall_GetNameAndDescFunctions[])(match_call_t, const u8 }; static const struct MatchCallOverride sMatchCallCheckPageOverrides[] = { - { MC_HEADER_STEVEN, FACILITY_CLASS_STEVEN, 0xFFFF, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle } }, // STEVEN - { MC_HEADER_STEVEN, FACILITY_CLASS_STEVEN, FLAG_DEFEATED_MOSSDEEP_GYM, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle } }, // STEVEN - { MC_HEADER_BRENDAN, FACILITY_CLASS_BRENDAN, 0xFFFF, { gMatchCall_BrendanStrategyText, gMatchCall_BrendanTrainersPokemonText, gMatchCall_BrendanSelfIntroductionText_Line1, gMatchCall_BrendanSelfIntroductionText_Line2 } }, // Brendan - { MC_HEADER_MAY, FACILITY_CLASS_MAY, 0xFFFF, { gMatchCall_MayStrategyText, gMatchCall_MayTrainersPokemonText, gMatchCall_MaySelfIntroductionText_Line1, gMatchCall_MaySelfIntroductionText_Line2 } } // May + { + .idx = MC_HEADER_STEVEN, + .facilityClass = FACILITY_CLASS_STEVEN, + .flag = 0xFFFF, + .flavorTexts = { + [CHECK_PAGE_STRATEGY] = gText_MatchCallSteven_Strategy, + [CHECK_PAGE_POKEMON] = gText_MatchCallSteven_Pokemon, + [CHECK_PAGE_INTRO_1] = gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle, + [CHECK_PAGE_INTRO_2] = gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle + } + }, + { + .idx = MC_HEADER_STEVEN, + .facilityClass = FACILITY_CLASS_STEVEN, + .flag = FLAG_DEFEATED_MOSSDEEP_GYM, + .flavorTexts = { + [CHECK_PAGE_STRATEGY] = gText_MatchCallSteven_Strategy, + [CHECK_PAGE_POKEMON] = gText_MatchCallSteven_Pokemon, + [CHECK_PAGE_INTRO_1] = gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle, + [CHECK_PAGE_INTRO_2] = gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle + } + }, + { + .idx = MC_HEADER_BRENDAN, + .facilityClass = FACILITY_CLASS_BRENDAN, + .flag = 0xFFFF, + .flavorTexts = MCFLAVOR(Brendan) + }, + { + .idx = MC_HEADER_MAY, + .facilityClass = FACILITY_CLASS_MAY, + .flag = 0xFFFF, + .flavorTexts = MCFLAVOR(May) + } }; // .text @@ -867,21 +866,21 @@ bool32 MatchCallFlagGetByIndex(u32 idx) static bool32 MatchCallGetFlag_Type0(match_call_t matchCall) { - if (matchCall.type0->flag == 0xffff) + if (matchCall.type0->flag == 0xFFFF) return TRUE; return FlagGet(matchCall.type0->flag); } static bool32 MatchCallGetFlag_Type1(match_call_t matchCall) { - if (matchCall.type1->flag == 0xffff) + if (matchCall.type1->flag == 0xFFFF) return TRUE; return FlagGet(matchCall.type1->flag); } static bool32 MatchCallGetFlag_Type2(match_call_t matchCall) { - if (matchCall.type2->flag == 0xffff) + if (matchCall.type2->flag == 0xFFFF) return TRUE; return FlagGet(matchCall.type2->flag); } @@ -890,7 +889,7 @@ static bool32 MatchCallGetFlag_Type4(match_call_t matchCall) { if (matchCall.type4->gender != gSaveBlock2Ptr->playerGender) return FALSE; - if (matchCall.type4->flag == 0xffff) + if (matchCall.type4->flag == 0xFFFF) return TRUE; return FlagGet(matchCall.type4->flag); } @@ -926,7 +925,7 @@ static u8 MatchCallGetMapSec_Type2(match_call_t matchCall) { s32 i; - for (i = 0; matchCall.type2->v10[i].flag != 0xffff; i++) + for (i = 0; matchCall.type2->v10[i].flag != 0xFFFF; i++) { if (!FlagGet(matchCall.type2->v10[i].flag)) break; @@ -1113,11 +1112,11 @@ static void sub_81D1920(const match_call_text_data_t *sub0, u8 *dest) i--; while (i) { - if (sub0[i].flag != 0xffff && FlagGet(sub0[i].flag) == TRUE) + if (sub0[i].flag != 0xFFFF && FlagGet(sub0[i].flag) == TRUE) break; i--; } - if (sub0[i].flag2 != 0xffff) + if (sub0[i].flag2 != 0xFFFF) FlagSet(sub0[i].flag2); StringExpandPlaceholders(dest, sub0[i].text); } @@ -1129,14 +1128,14 @@ static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) { if (sub0[i].flag == 0xfffe) break; - if (sub0[i].flag != 0xffff && !FlagGet(sub0[i].flag)) + if (sub0[i].flag != 0xFFFF && !FlagGet(sub0[i].flag)) break; } if (sub0[i].flag != 0xfffe) { if (i) i--; - if (sub0[i].flag2 != 0xffff) + if (sub0[i].flag2 != 0xFFFF) FlagSet(sub0[i].flag2); StringExpandPlaceholders(dest, sub0[i].text); } @@ -1254,8 +1253,8 @@ bool32 sub_81D1BF8(u32 idx) for (i = 0; i < (int)ARRAY_COUNT(sMatchCallHeaders); i++) { - u32 r0 = MatchCall_GetRematchTableIdx(i); - if (r0 != REMATCH_TABLE_ENTRIES && r0 == idx) + u32 id = MatchCall_GetRematchTableIdx(i); + if (id != REMATCH_TABLE_ENTRIES && id == idx) return TRUE; } return FALSE; diff --git a/src/pokenav_match_call_ui.c b/src/pokenav_match_call_ui.c index 275a4063e..552bf2cb7 100644 --- a/src/pokenav_match_call_ui.c +++ b/src/pokenav_match_call_ui.c @@ -76,7 +76,7 @@ void ToggleMatchCallArrows(struct PokenavSub17Substruct *a0, u32 a1); void sub_81C8FE0(struct PokenavSub17Substruct *a0); void sub_81C8EF8(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1); void sub_81C8ED0(void); -void sub_81C8E54(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2); +static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2); void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 a1); void sub_81C8D4C(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1); void sub_81C8CB4(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1); @@ -558,22 +558,22 @@ u32 LoopedTask_sub_81C8958(s32 state) PrintMatchCallFieldNames(&structPtr->unk0, 0); break; case 2: - sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 0); + PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_STRATEGY); break; case 3: PrintMatchCallFieldNames(&structPtr->unk0, 1); break; case 4: - sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 1); + PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_POKEMON); break; case 5: PrintMatchCallFieldNames(&structPtr->unk0, 2); break; case 6: - sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 2); + PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_INTRO_1); break; case 7: - sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 3); + PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_INTRO_2); break; default: return LT_FINISH; @@ -705,7 +705,7 @@ void sub_81C8C64(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1) void sub_81C8CB4(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1) { - u8 colors[3] = {0, 2, 5}; + u8 colors[3] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_RED}; a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer); a1->unk38(a1->unk0.windowId, a0->windowTopIndex, a1->unk0.unkA); @@ -727,7 +727,7 @@ void sub_81C8D4C(struct MatchCallWindowState *a0, struct PokenavSub17Substruct * void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 fieldId) { const u8 *fieldNames[] = {gText_PokenavMatchCall_Strategy, gText_PokenavMatchCall_TrainerPokemon, gText_PokenavMatchCall_SelfIntroduction}; - u8 colors[3] = {1, 4, 5}; + u8 colors[3] = {TEXT_COLOR_WHITE, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED}; u32 top = (a0->unk0.unkA + 1 + (fieldId * 2)) & 0xF; FillWindowPixelRect(a0->unk0.windowId, PIXEL_FILL(1), 0, top << 4, a0->unk0.unk4, 16); @@ -735,11 +735,19 @@ void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 fieldId) CopyWindowRectToVram(a0->unk0.windowId, 2, 0, top << 1, a0->unk0.unk4, 2); } -void sub_81C8E54(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2) +static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 checkPageEntry) { - static const u8 array[] = {2, 4, 6, 7}; - u32 r6 = (a1->unk0.unkA + array[a2]) & 0xF; - const u8 *str = sub_81CAFD8(a0->windowTopIndex, a2); + // lines 1, 3, and 5 are the field names printed by PrintMatchCallFieldNames + static const u8 lineOffsets[CHECK_PAGE_ENTRY_COUNT] = + { + [CHECK_PAGE_STRATEGY] = 2, + [CHECK_PAGE_POKEMON] = 4, + [CHECK_PAGE_INTRO_1] = 6, + [CHECK_PAGE_INTRO_2] = 7 + }; + + u32 r6 = (a1->unk0.unkA + lineOffsets[checkPageEntry]) & 0xF; + const u8 *str = GetMatchCallFlavorText(a0->windowTopIndex, checkPageEntry); if (str != NULL) { diff --git a/src/pokenav_unk_1.c b/src/pokenav_unk_1.c index b5bbc4b74..7d531c2f7 100644 --- a/src/pokenav_unk_1.c +++ b/src/pokenav_unk_1.c @@ -151,9 +151,9 @@ static u32 (*sub_81C93EC(void))(struct Pokenav1Struct*) default: case POKENAV_MODE_NORMAL: return sub_81C943C; - case POKENAV_MODE_FORCE_CALL_1: + case POKENAV_MODE_FORCE_CALL_READY: return sub_81C9520; - case POKENAV_MODE_FORCE_CALL_2: + case POKENAV_MODE_FORCE_CALL_EXIT: return sub_81C9588; } } diff --git a/src/pokenav_unk_10.c b/src/pokenav_unk_10.c index 135ff24b3..0d82f1a9c 100644 --- a/src/pokenav_unk_10.c +++ b/src/pokenav_unk_10.c @@ -13,6 +13,9 @@ #include "window.h" #include "constants/songs.h" +#define boxId id1 // naming multi-purpose field +#define monId id2 // naming multi-purpose field + struct PokenavSub13 { u8 filler0[0x8]; diff --git a/src/pokenav_unk_2.c b/src/pokenav_unk_2.c index cb9467a9c..ed9da0800 100644 --- a/src/pokenav_unk_2.c +++ b/src/pokenav_unk_2.c @@ -324,7 +324,7 @@ static bool32 sub_81C98D4(void) for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) { if (sub_81CB0C8(i) == gMapHeader.regionMapSectionId - && sub_81CAE08(i) + && IsRematchEntryRegistered(i) && gSaveBlock1Ptr->trainerRematches[i]) return TRUE; } diff --git a/src/pokenav_unk_3.c b/src/pokenav_unk_3.c index c66434192..09aef6a0c 100755 --- a/src/pokenav_unk_3.c +++ b/src/pokenav_unk_3.c @@ -15,21 +15,25 @@ #include "constants/flags.h" #include "constants/songs.h" +//#define ?? id1 +#define mapSec id2 // naming multi-purpose field +#define headerId data // naming multi-purpose field + struct Pokenav3Struct { u16 unk0; u16 unk2; - const u8 *unk4; - u16 unk8; + const u8 *matchCallOptions; + u16 headerId; u16 unkA; u16 unkC; u32 unk10; u32 unk14; u32 (*callback)(struct Pokenav3Struct*); - struct PokenavMonList unk1C[99]; + struct PokenavMonList matchCallEntries[MAX_REMATCH_ENTRIES - 1]; }; -static u32 sub_81CAB44(struct Pokenav3Struct *); +static u32 CB2_HandleMatchCallInput(struct Pokenav3Struct *); static u32 sub_81CABFC(struct Pokenav3Struct *); static u32 sub_81CAC04(struct Pokenav3Struct *); static u32 sub_81CACB8(struct Pokenav3Struct *); @@ -39,8 +43,18 @@ static bool32 sub_81CB1D0(void); #include "data/text/match_call_messages.h" -const u8 gUnknown_08622508[] = {0, 2}; -const u8 gUnknown_0862250A[] = {0, 1, 2}; +static const u8 sMatchCallOptionsNoCheckPage[] = +{ + MATCH_CALL_OPTION_CALL, + MATCH_CALL_OPTION_CANCEL +}; + +static const u8 sMatchCallOptionsHasCheckPage[] = +{ + MATCH_CALL_OPTION_CALL, + MATCH_CALL_OPTION_CHECK, + MATCH_CALL_OPTION_CANCEL +}; bool32 PokenavCallback_Init_11(void) { @@ -48,8 +62,8 @@ bool32 PokenavCallback_Init_11(void) if (!state) return FALSE; - state->callback = sub_81CAB44; - state->unk8 = 0; + state->callback = CB2_HandleMatchCallInput; + state->headerId = 0; state->unk10 = 0; state->unk14 = CreateLoopedTask(sub_81CAD20, 1); return TRUE; @@ -66,9 +80,9 @@ void sub_81CAB38(void) FreePokenavSubstruct(5); } -static u32 sub_81CAB44(struct Pokenav3Struct *state) +static u32 CB2_HandleMatchCallInput(struct Pokenav3Struct *state) { - int selectedMatchCall; + int selection; if (gMain.newAndRepeatedKeys & DPAD_UP) return 2; @@ -83,15 +97,15 @@ static u32 sub_81CAB44(struct Pokenav3Struct *state) { state->callback = sub_81CAC04; state->unk0 = 0; - selectedMatchCall = GetSelectedMatchCall(); - if (!state->unk1C[selectedMatchCall].boxId || MatchCall_HasCheckPage(state->unk1C[selectedMatchCall].unk6)) + selection = GetSelectedMatchCall(); + if (!state->matchCallEntries[selection].id1 || MatchCall_HasCheckPage(state->matchCallEntries[selection].headerId)) { - state->unk4 = gUnknown_0862250A; + state->matchCallOptions = sMatchCallOptionsHasCheckPage; state->unk2 = 2; } else { - state->unk4 = gUnknown_08622508; + state->matchCallOptions = sMatchCallOptionsNoCheckPage; state->unk2 = 1; } @@ -100,7 +114,7 @@ static u32 sub_81CAB44(struct Pokenav3Struct *state) if (gMain.newKeys & B_BUTTON) { - if (GetPokenavMode() != POKENAV_MODE_FORCE_CALL_1) + if (GetPokenavMode() != POKENAV_MODE_FORCE_CALL_READY) { state->callback = sub_81CABFC; return 15; @@ -135,21 +149,21 @@ static u32 sub_81CAC04(struct Pokenav3Struct *state) if (gMain.newKeys & A_BUTTON) { - switch (state->unk4[state->unk0]) + switch (state->matchCallOptions[state->unk0]) { - case 2: - state->callback = sub_81CAB44; + case MATCH_CALL_OPTION_CANCEL: + state->callback = CB2_HandleMatchCallInput; return 7; - case 0: - if (GetPokenavMode() == POKENAV_MODE_FORCE_CALL_1) - SetPokenavMode(POKENAV_MODE_FORCE_CALL_2); + case MATCH_CALL_OPTION_CALL: + if (GetPokenavMode() == POKENAV_MODE_FORCE_CALL_READY) + SetPokenavMode(POKENAV_MODE_FORCE_CALL_EXIT); state->callback = sub_81CACF8; if (sub_81CB1D0()) return 9; return 8; - case 1: + case MATCH_CALL_OPTION_CHECK: state->callback = sub_81CACB8; return 11; } @@ -157,7 +171,7 @@ static u32 sub_81CAC04(struct Pokenav3Struct *state) if (gMain.newKeys & B_BUTTON) { - state->callback = sub_81CAB44; + state->callback = CB2_HandleMatchCallInput; return 7; } @@ -173,7 +187,7 @@ static u32 sub_81CACB8(struct Pokenav3Struct *state) if (gMain.newKeys & B_BUTTON) { - state->callback = sub_81CAB44; + state->callback = CB2_HandleMatchCallInput; return 14; } @@ -184,7 +198,7 @@ static u32 sub_81CACF8(struct Pokenav3Struct *state) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - state->callback = sub_81CAB44; + state->callback = CB2_HandleMatchCallInput; return 10; } @@ -198,41 +212,41 @@ static u32 sub_81CAD20(s32 taskState) switch (taskState) { case 0: - state->unk8 = 0; + state->headerId = 0; state->unkA = 0; return LT_INC_AND_CONTINUE; case 1: - for (i = 0, j = state->unk8; i < 30; i++, j++) + for (i = 0, j = state->headerId; i < 30; i++, j++) { if (MatchCallFlagGetByIndex(j)) { - state->unk1C[state->unkA].unk6 = j; - state->unk1C[state->unkA].boxId = 1; - state->unk1C[state->unkA].monId = MatchCallMapSecGetByIndex(j); + state->matchCallEntries[state->unkA].headerId = j; + state->matchCallEntries[state->unkA].id1 = TRUE; + state->matchCallEntries[state->unkA].mapSec = MatchCallMapSecGetByIndex(j); state->unkA++; } - if (++state->unk8 >= MC_HEADER_COUNT) + if (++state->headerId >= MC_HEADER_COUNT) { - state->unkC = state->unk8; - state->unk8 = 0; + state->unkC = state->headerId; + state->headerId = 0; return LT_INC_AND_CONTINUE; } } return LT_CONTINUE; case 2: - for (i = 0, j = state->unk8; i < 30; i++, j++) + for (i = 0, j = state->headerId; i < 30; i++, j++) { - if (!sub_81D1BF8(state->unk8) && sub_81CAE08(state->unk8)) + if (!sub_81D1BF8(state->headerId) && IsRematchEntryRegistered(state->headerId)) { - state->unk1C[state->unkA].unk6 = state->unk8; - state->unk1C[state->unkA].boxId = 0; - state->unk1C[state->unkA].monId = sub_81CB0C8(j); + state->matchCallEntries[state->unkA].headerId = state->headerId; + state->matchCallEntries[state->unkA].id1 = FALSE; + state->matchCallEntries[state->unkA].mapSec = sub_81CB0C8(j); state->unkA++; } - if (++state->unk8 > REMATCH_TABLE_ENTRIES - 1) + if (++state->headerId > REMATCH_TABLE_ENTRIES - 1) return LT_INC_AND_CONTINUE; } @@ -245,7 +259,7 @@ static u32 sub_81CAD20(s32 taskState) return LT_FINISH; } -bool32 sub_81CAE08(int rematchIndex) +bool32 IsRematchEntryRegistered(int rematchIndex) { if (rematchIndex < REMATCH_TABLE_ENTRIES) return FlagGet(FLAG_MATCH_CALL_REGISTERED + rematchIndex); @@ -284,28 +298,28 @@ int unref_sub_81CAE6C(int arg0) if (arg0 >= state->unkA) return REMATCH_TABLE_ENTRIES; - return state->unk1C[arg0].unk6; + return state->matchCallEntries[arg0].headerId; } struct PokenavMonList *sub_81CAE94(void) { struct Pokenav3Struct *state = GetSubstructPtr(5); - return state->unk1C; + return state->matchCallEntries; } u16 sub_81CAEA4(int index) { struct Pokenav3Struct *state = GetSubstructPtr(5); - return state->unk1C[index].monId; + return state->matchCallEntries[index].mapSec; } bool32 sub_81CAEBC(int index) { struct Pokenav3Struct *state = GetSubstructPtr(5); - if (!state->unk1C[index].boxId) - index = state->unk1C[index].unk6; + if (!state->matchCallEntries[index].id1) + index = state->matchCallEntries[index].headerId; else - index = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6); + index = MatchCall_GetRematchTableIdx(state->matchCallEntries[index].headerId); if (index == REMATCH_TABLE_ENTRIES) return FALSE; @@ -313,17 +327,17 @@ bool32 sub_81CAEBC(int index) return gSaveBlock1Ptr->trainerRematches[index] != 0; } -int sub_81CAF04(int index) +int GetMatchCallTrainerPic(int index) { int var0; struct Pokenav3Struct *state = GetSubstructPtr(5); - if (!state->unk1C[index].boxId) + if (!state->matchCallEntries[index].id1) { - index = GetTrainerIdxByRematchIdx(state->unk1C[index].unk6); + index = GetTrainerIdxByRematchIdx(state->matchCallEntries[index].headerId); return gTrainers[index].trainerPic; } - var0 = state->unk1C[index].unk6; + var0 = state->matchCallEntries[index].headerId; index = MatchCall_GetRematchTableIdx(var0); if (index != REMATCH_TABLE_ENTRIES) { @@ -342,30 +356,30 @@ const u8 *sub_81CAF78(int index, u8 *arg1) if (!Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType)) return gText_CallCantBeMadeHere; - if (!state->unk1C[index].boxId) - *arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->unk1C[index].unk6), gStringVar4); + if (!state->matchCallEntries[index].id1) + *arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->matchCallEntries[index].headerId), gStringVar4); else - MatchCall_GetMessage(state->unk1C[index].unk6, gStringVar4); + MatchCall_GetMessage(state->matchCallEntries[index].headerId, gStringVar4); return gStringVar4; } -const u8 *sub_81CAFD8(int index, int textType) +const u8 *GetMatchCallFlavorText(int index, int checkPageEntry) { - int var0; + int rematchId; struct Pokenav3Struct *state = GetSubstructPtr(5); - if (state->unk1C[index].boxId) + if (state->matchCallEntries[index].id1) { - var0 = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6); - if (var0 == REMATCH_TABLE_ENTRIES) - return MatchCall_GetOverrideFlavorText(state->unk1C[index].unk6, textType); + rematchId = MatchCall_GetRematchTableIdx(state->matchCallEntries[index].headerId); + if (rematchId == REMATCH_TABLE_ENTRIES) + return MatchCall_GetOverrideFlavorText(state->matchCallEntries[index].headerId, checkPageEntry); } else { - var0 = state->unk1C[index].unk6; + rematchId = state->matchCallEntries[index].headerId; } - return gMatchCallMessages[var0][textType]; + return gMatchCallFlavorTexts[rematchId][checkPageEntry]; } u16 sub_81CB01C(void) @@ -378,18 +392,18 @@ u16 sub_81CB02C(int arg0) { struct Pokenav3Struct *state = GetSubstructPtr(5); if (state->unk2 < arg0) - return 3; + return MATCH_CALL_OPTION_COUNT; - return state->unk4[arg0]; + return state->matchCallOptions[arg0]; } void sub_81CB050(struct PokenavMonList * arg0, u8 *str) { const u8 *trainerName; const u8 *className; - if (!arg0->boxId) + if (!arg0->id1) { - int index = GetTrainerIdxByRematchIdx(arg0->unk6); + int index = GetTrainerIdxByRematchIdx(arg0->headerId); const struct Trainer *trainer = &gTrainers[index]; int class = trainer->trainerClass; className = gTrainerClassNames[class]; @@ -397,7 +411,7 @@ void sub_81CB050(struct PokenavMonList * arg0, u8 *str) } else { - sub_81D1A78(arg0->unk6, &className, &trainerName); + sub_81D1A78(arg0->headerId, &className, &trainerName); } if (className && trainerName) @@ -424,9 +438,9 @@ int sub_81CB0E4(int index) int count = 1; while (++index < state->unkA) { - if (!state->unk1C[index].boxId) + if (!state->matchCallEntries[index].id1) return count; - if (MatchCall_HasCheckPage(state->unk1C[index].unk6)) + if (MatchCall_HasCheckPage(state->matchCallEntries[index].headerId)) return count; count++; @@ -441,9 +455,9 @@ int sub_81CB128(int index) int count = -1; while (--index >= 0) { - if (!state->unk1C[index].boxId) + if (!state->matchCallEntries[index].id1) return count; - if (MatchCall_HasCheckPage(state->unk1C[index].unk6)) + if (MatchCall_HasCheckPage(state->matchCallEntries[index].headerId)) return count; count--; @@ -458,7 +472,7 @@ bool32 unref_sub_81CB16C(void) for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) { - if (sub_81CAE08(i) && gSaveBlock1Ptr->trainerRematches[i]) + if (IsRematchEntryRegistered(i) && gSaveBlock1Ptr->trainerRematches[i]) return TRUE; } @@ -478,20 +492,20 @@ bool32 unref_sub_81CB16C(void) static bool32 sub_81CB1D0(void) { struct Pokenav3Struct *state = GetSubstructPtr(5); - int index = GetSelectedMatchCall(); - if (!state->unk1C[index].boxId) + int selection = GetSelectedMatchCall(); + if (!state->matchCallEntries[selection].id1) { - if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId) + if (sub_81CAEA4(selection) == gMapHeader.regionMapSectionId) { - if (!gSaveBlock1Ptr->trainerRematches[state->unk1C[index].unk6]) + if (!gSaveBlock1Ptr->trainerRematches[state->matchCallEntries[selection].headerId]) return TRUE; } } else { - if (state->unk1C[index].unk6 == 11) + if (state->matchCallEntries[selection].headerId == MC_HEADER_WATTSON) { - if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId + if (sub_81CAEA4(selection) == gMapHeader.regionMapSectionId && FlagGet(FLAG_BADGE05_GET) == TRUE) { if (!FlagGet(FLAG_WATTSON_REMATCH_AVAILABLE)) diff --git a/src/pokenav_unk_4.c b/src/pokenav_unk_4.c index 0f05c6f5d..4ac2ed41e 100755 --- a/src/pokenav_unk_4.c +++ b/src/pokenav_unk_4.c @@ -197,11 +197,11 @@ const struct WindowTemplate gUnknown_086227E0 = .baseBlock = 38 }; -const u8 *const gUnknown_086227E8[] = +static const u8 *const sMatchCallOptionTexts[MATCH_CALL_OPTION_COUNT] = { - gUnknown_085EC017, - gUnknown_085EC01C, - gUnknown_085EC022 + [MATCH_CALL_OPTION_CALL] = gText_Call, + [MATCH_CALL_OPTION_CHECK] = gText_Check, + [MATCH_CALL_OPTION_CANCEL] = gText_Cancel6 }; const u8 gUnknown_086227F4[] = _("·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·\p"); @@ -1022,13 +1022,13 @@ static void sub_81CBF60(struct Pokenav4Struct *state) u32 i; FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); - for (i = 0; i < 3; i++) + for (i = 0; i < MATCH_CALL_OPTION_COUNT; i++) { - int messageId = sub_81CB02C(i); - if (messageId == 3) + int optionText = sub_81CB02C(i); + if (optionText == MATCH_CALL_OPTION_COUNT) break; - AddTextPrinterParameterized(state->unk12, 7, gUnknown_086227E8[messageId], 16, i * 16 + 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(state->unk12, 7, sMatchCallOptionTexts[optionText], 16, i * 16 + 1, TEXT_SPEED_FF, NULL); } CopyWindowToVram(state->unk12, 2); @@ -1226,11 +1226,11 @@ static struct Sprite *sub_81CC370(void) static void sub_81CC39C(struct Pokenav4Struct *state) { u16 cursor; - int trainerId = sub_81CAF04(GetSelectedMatchCall()); - if (trainerId >= 0) + int trainerPic = GetMatchCallTrainerPic(GetSelectedMatchCall()); + if (trainerPic >= 0) { - DecompressPicFromTable(&gTrainerFrontPicTable[trainerId], state->unk1828, SPECIES_NONE); - LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerId].data, state->unk2028); + DecompressPicFromTable(&gTrainerFrontPicTable[trainerPic], state->unk1828, SPECIES_NONE); + LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerPic].data, state->unk2028); cursor = RequestDma3Copy(state->unk1828, state->unk1824, 0x800, 1); LoadPalette(state->unk2028, state->unk1A, 0x20); state->unk20->data[0] = 0; diff --git a/src/pokenav_unk_6.c b/src/pokenav_unk_6.c index ac8237793..c96c3ac1c 100644 --- a/src/pokenav_unk_6.c +++ b/src/pokenav_unk_6.c @@ -14,6 +14,9 @@ #include "constants/songs.h" #include "constants/species.h" +#define boxId id1 // naming multi-purpose field +#define monId id2 // naming multi-purpose field + struct PokenavSub11 { u32 monPal[3][0x20]; @@ -463,14 +466,14 @@ void sub_81CD970(void) { unkPtr->unk4[count].boxId = TOTAL_BOXES_COUNT; unkPtr->unk4[count].monId = i; - unkPtr->unk4[count].unk6 = 0; + unkPtr->unk4[count].data = 0; count++; } } unkPtr->unk4[count].boxId = 0; unkPtr->unk4[count].monId = 0; - unkPtr->unk4[count].unk6 = 0; + unkPtr->unk4[count].data = 0; unkPtr->unk2 = 0; unkPtr->unk0 = count + 1; structPtr->unk678A = 0; @@ -597,7 +600,7 @@ u8 *sub_81CDD24(u8 id) u16 sub_81CDD48(void) { struct PokenavSub18 *unkPtr = GetSubstructPtr(18); - return unkPtr->unk4[unkPtr->unk2].unk6; + return unkPtr->unk4[unkPtr->unk2].data; } bool32 sub_81CDD5C(void) diff --git a/src/pokenav_unk_8.c b/src/pokenav_unk_8.c index c52932a79..f3d0b76f9 100644 --- a/src/pokenav_unk_8.c +++ b/src/pokenav_unk_8.c @@ -10,6 +10,10 @@ #include "international_string_util.h" #include "constants/songs.h" +#define boxId id1 // naming multi-purpose field +#define monId id2 // naming multi-purpose field + + struct PokenavSub7 { u32 (*unk0)(struct PokenavSub7 *); @@ -227,7 +231,7 @@ static s32 sub_81CF0F0(void) { struct PokenavSub7 * ptr = GetSubstructPtr(7); s32 i = GetSelectedMatchCall(); - return ptr->unkPtr->unk4[i].unk6; + return ptr->unkPtr->unk4[i].data; } static u16 sub_81CF10C(void) @@ -258,7 +262,7 @@ static u32 sub_81CF134(s32 state) if (!GetMonData(pokemon, MON_DATA_SANITY_IS_EGG)) { item.monId = i; - item.unk6 = GetMonData(pokemon, ptr->unk14); + item.data = GetMonData(pokemon, ptr->unk14); sub_81CF2C4(ptr, &item); } } @@ -290,7 +294,7 @@ static u32 sub_81CF1D8(s32 state) { item.boxId = boxId; item.monId = monId; - item.unk6 = GetBoxMonDataAt(boxId, monId, ptr->unk14); + item.data = GetBoxMonDataAt(boxId, monId, ptr->unk14); sub_81CF2C4(ptr, &item); } boxCount++; @@ -313,19 +317,19 @@ static u32 sub_81CF278(s32 state) { struct PokenavSub7 * ptr = GetSubstructPtr(7); s32 r6 = ptr->unkPtr->unk0; - s32 r4 = ptr->unkPtr->unk4[0].unk6; + s32 r4 = ptr->unkPtr->unk4[0].data; s32 i; - ptr->unkPtr->unk4[0].unk6 = 1; + ptr->unkPtr->unk4[0].data = 1; for (i = 1; i < r6; i++) { - if (ptr->unkPtr->unk4[i].unk6 == r4) + if (ptr->unkPtr->unk4[i].data == r4) { - ptr->unkPtr->unk4[i].unk6 = ptr->unkPtr->unk4[i - 1].unk6; + ptr->unkPtr->unk4[i].data = ptr->unkPtr->unk4[i - 1].data; } else { - r4 = ptr->unkPtr->unk4[i].unk6; - ptr->unkPtr->unk4[i].unk6 = i + 1; + r4 = ptr->unkPtr->unk4[i].data; + ptr->unkPtr->unk4[i].data = i + 1; } } ptr->unk18 = 1; @@ -340,7 +344,7 @@ static void sub_81CF2C4(struct PokenavSub7 *structPtr, struct PokenavMonList *it while (right != insertionIdx) { - if (item->unk6 > structPtr->unkPtr->unk4[insertionIdx].unk6) + if (item->data > structPtr->unkPtr->unk4[insertionIdx].data) right = insertionIdx; else left = insertionIdx + 1; diff --git a/src/pokenav_unk_9.c b/src/pokenav_unk_9.c index 05d590a87..e8078ea02 100644 --- a/src/pokenav_unk_9.c +++ b/src/pokenav_unk_9.c @@ -8,6 +8,9 @@ #include "international_string_util.h" #include "constants/songs.h" +#define boxId id1 // naming multi-purpose field +#define monId id2 // naming multi-purpose field + struct PokenavSub9 { u32 (*unk0)(struct PokenavSub9*); @@ -218,7 +221,7 @@ static s32 sub_81CFB48(void) { struct PokenavSub9 * ptr = GetSubstructPtr(9); s32 idx = GetSelectedMatchCall(); - return ptr->unk1C->unk4[idx].unk6; + return ptr->unk1C->unk4[idx].data; } static s32 sub_81CFB64(void) @@ -240,7 +243,7 @@ static u32 sub_81CFB8C(s32 state) ptr->unk1C->unk0 = 0; ptr->unk1C->unk2 = 0; - item.boxId = 14; + item.boxId = TOTAL_BOXES_COUNT; for (i = 0; i < PARTY_SIZE; i++) { struct Pokemon * pokemon = &gPlayerParty[i]; @@ -252,7 +255,7 @@ static u32 sub_81CFB8C(s32 state) if (ribbonCount != 0) { item.monId = i; - item.unk6 = ribbonCount; + item.data = ribbonCount; sub_81CFCEC(ptr, &item); } } @@ -288,13 +291,13 @@ static u32 sub_81CFC40(s32 state) { item.boxId = boxId; item.monId = monId; - item.unk6 = ribbonCount; + item.data = ribbonCount; sub_81CFCEC(ptr, &item); } } boxCount++; monId++; - if (boxCount > 14) + if (boxCount > TOTAL_BOXES_COUNT) { ptr->unkC = boxId; ptr->unk10 = monId; @@ -317,7 +320,7 @@ static void sub_81CFCEC(struct PokenavSub9 *structPtr, struct PokenavMonList *it while (right != insertionIdx) { - if (item->unk6 > structPtr->unk1C->unk4[insertionIdx].unk6) + if (item->data > structPtr->unk1C->unk4[insertionIdx].data) right = insertionIdx; else left = insertionIdx + 1; @@ -688,7 +691,7 @@ static void sub_81D035C(struct PokenavMonList * item0, u8 * dest) u8 * s; const u8 * genderStr; struct PokenavMonList * item = item0; - if (item->boxId == 14) + if (item->boxId == TOTAL_BOXES_COUNT) { struct Pokemon * mon = &gPlayerParty[item->monId]; gender = GetMonGender(mon); @@ -722,5 +725,5 @@ static void sub_81D035C(struct PokenavMonList * item0, u8 * dest) *s++ = 5; // LV ConvertIntToDecimalStringN(s, level, STR_CONV_MODE_LEFT_ALIGN, 3); dest = sub_81DB494(dest, 1, gStringVar1, 54); - ConvertIntToDecimalStringN(dest, item->unk6, STR_CONV_MODE_RIGHT_ALIGN, 2); + ConvertIntToDecimalStringN(dest, item->data, STR_CONV_MODE_RIGHT_ALIGN, 2); } diff --git a/src/strings.c b/src/strings.c index afa567b9f..0efeb7249 100644 --- a/src/strings.c +++ b/src/strings.c @@ -2,23 +2,23 @@ #include "strings.h" ALIGNED(4) -const u8 gExpandedPlaceholder_Empty[] = _(""); -const u8 gExpandedPlaceholder_Kun[] = _(""); -const u8 gExpandedPlaceholder_Chan[] = _(""); -const u8 gExpandedPlaceholder_Sapphire[] = _("SAPPHIRE"); -const u8 gExpandedPlaceholder_Ruby[] = _("RUBY"); -const u8 gExpandedPlaceholder_Emerald[] = _("EMERALD"); -const u8 gExpandedPlaceholder_Aqua[] = _("AQUA"); -const u8 gExpandedPlaceholder_Magma[] = _("MAGMA"); -const u8 gExpandedPlaceholder_Archie[] = _("ARCHIE"); -const u8 gExpandedPlaceholder_Maxie[] = _("MAXIE"); -const u8 gExpandedPlaceholder_Kyogre[] = _("KYOGRE"); -const u8 gExpandedPlaceholder_Groudon[] = _("GROUDON"); -const u8 gExpandedPlaceholder_Brendan[] = _("BRENDAN"); -const u8 gExpandedPlaceholder_May[] = _("MAY"); +const u8 gText_ExpandedPlaceholder_Empty[] = _(""); +const u8 gText_ExpandedPlaceholder_Kun[] = _(""); +const u8 gText_ExpandedPlaceholder_Chan[] = _(""); +const u8 gText_ExpandedPlaceholder_Sapphire[] = _("SAPPHIRE"); +const u8 gText_ExpandedPlaceholder_Ruby[] = _("RUBY"); +const u8 gText_ExpandedPlaceholder_Emerald[] = _("EMERALD"); +const u8 gText_ExpandedPlaceholder_Aqua[] = _("AQUA"); +const u8 gText_ExpandedPlaceholder_Magma[] = _("MAGMA"); +const u8 gText_ExpandedPlaceholder_Archie[] = _("ARCHIE"); +const u8 gText_ExpandedPlaceholder_Maxie[] = _("MAXIE"); +const u8 gText_ExpandedPlaceholder_Kyogre[] = _("KYOGRE"); +const u8 gText_ExpandedPlaceholder_Groudon[] = _("GROUDON"); +const u8 gText_ExpandedPlaceholder_Brendan[] = _("BRENDAN"); +const u8 gText_ExpandedPlaceholder_May[] = _("MAY"); const u8 gText_EggNickname[] = _("EGG"); const u8 gText_Pokemon[] = _("POKéMON"); -const u8 gProfBirchMatchCallName[] = _("PROF. BIRCH"); +const u8 gText_ProfBirchMatchCallName[] = _("PROF. BIRCH"); const u8 gText_MainMenuNewGame[] = _("NEW GAME"); const u8 gText_MainMenuContinue[] = _("CONTINUE"); const u8 gText_MainMenuOption[] = _("OPTION"); @@ -985,9 +985,9 @@ const u8 gUnknown_085EBFE4[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT const u8 gUnknown_085EBFF6[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}"); const u8 gUnknown_085EC008[] = _("{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}"); const u8 gText_Unknown[] = _("UNKNOWN"); -const u8 gUnknown_085EC017[] = _("CALL"); -const u8 gUnknown_085EC01C[] = _("CHECK"); -const u8 gUnknown_085EC022[] = _("CANCEL"); +const u8 gText_Call[] = _("CALL"); +const u8 gText_Check[] = _("CHECK"); +const u8 gText_Cancel6[] = _("CANCEL"); const u8 gText_NumberF700[] = _("No. {SPECIAL_F7 0x00}"); const u8 gText_RibbonsF700[] = _("RIBBONS {SPECIAL_F7 0x00}"); const u8 gUnknown_085EC03B[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); @@ -1276,20 +1276,20 @@ const u8 gText_Sorry[] = _("SORRY"); const u8 gText_YayUnkF9F9[] = _("YAY{EMOJI_BIGSMILE}"); const u8 gText_ThankYou[] = _("THANK YOU"); const u8 gText_ByeBye[] = _("BYE-BYE!"); -const u8 gMatchCallStevenStrategyText[] = _("Attack the weak points!"); -const u8 gMatchCall_StevenTrainersPokemonText[] = _("Ultimate STEEL POKéMON."); -const u8 gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls"); -const u8 gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle[] = _("to find a rare stone!"); -const u8 gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle[] = _("I'm the strongest and most"); -const u8 gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle[] = _("energetic after all!"); -const u8 gMatchCall_BrendanStrategyText[] = _("Battle with knowledge!"); -const u8 gMatchCall_BrendanTrainersPokemonText[] = _("I will use various POKéMON."); -const u8 gMatchCall_BrendanSelfIntroductionText_Line1[] = _("I'll be a better POKéMON"); -const u8 gMatchCall_BrendanSelfIntroductionText_Line2[] = _("prof than my father is!"); -const u8 gMatchCall_MayStrategyText[] = _("I'm not so good at battles."); -const u8 gMatchCall_MayTrainersPokemonText[] = _("I'll use any POKéMON!"); -const u8 gMatchCall_MaySelfIntroductionText_Line1[] = _("My POKéMON and I help"); -const u8 gMatchCall_MaySelfIntroductionText_Line2[] = _("my father's research."); +const u8 gText_MatchCallSteven_Strategy[] = _("Attack the weak points!"); +const u8 gText_MatchCallSteven_Pokemon[] = _("Ultimate STEEL POKéMON."); +const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls"); +const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[] = _("to find a rare stone!"); +const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[] = _("I'm the strongest and most"); +const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[] = _("energetic after all!"); +const u8 gText_MatchCallBrendan_Strategy[] = _("Battle with knowledge!"); +const u8 gText_MatchCallBrendan_Pokemon[] = _("I will use various POKéMON."); +const u8 gText_MatchCallBrendan_Intro1[] = _("I'll be a better POKéMON"); +const u8 gText_MatchCallBrendan_Intro2[] = _("prof than my father is!"); +const u8 gText_MatchCallMay_Strategy[] = _("I'm not so good at battles."); +const u8 gText_MatchCallMay_Pokemon[] = _("I'll use any POKéMON!"); +const u8 gText_MatchCallMay_Intro1[] = _("My POKéMON and I help"); +const u8 gText_MatchCallMay_Intro2[] = _("my father's research."); const u8 gText_HatchedFromEgg[] = _("{STR_VAR_1} hatched from the EGG!"); const u8 gText_NicknameHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?"); ALIGNED(4) const u8 gText_ReadyToBerryCrush[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p"); @@ -1769,28 +1769,28 @@ const u8 gText_ClearingData[] = _("Clearing data…\nPlease wait."); const u8 gText_IsThisTheCorrectTime[] = _("Is this the correct time?"); const u8 gText_Confirm3[] = _("CONFIRM"); const u8 gText_Cancel4[] = _("CANCEL"); -const u8 gMrStoneMatchCallDesc[] = _("DEVON PRES"); -const u8 gMrStoneMatchCallName[] = _("MR. STONE"); -const u8 gStevenMatchCallDesc[] = _("HARD AS ROCK"); -const u8 gStevenMatchCallName[] = _("STEVEN"); -const u8 gMayBrendanMatchCallDesc[] = _("RAD NEIGHBOR"); -const u8 gNormanMatchCallDesc[] = _("RELIABLE ONE"); -const u8 gMomMatchCallDesc[] = _("CALM & KIND"); -const u8 gWallyMatchCallDesc[] = _("{PKMN} LOVER"); -const u8 gNormanMatchCallName[] = _("DAD"); -const u8 gMomMatchCallName[] = _("MOM"); -const u8 gScottMatchCallDesc[] = _("ELUSIVE EYES"); -const u8 gScottMatchCallName[] = _("SCOTT"); -const u8 gRoxanneMatchCallDesc[] = _("ROCKIN' WHIZ"); -const u8 gBrawlyMatchCallDesc[] = _("THE BIG HIT"); -const u8 gWattsonMatchCallDesc[] = _("SWELL SHOCK"); -const u8 gFlanneryMatchCallDesc[] = _("PASSION BURN"); -const u8 gWinonaMatchCallDesc[] = _("SKY TAMER"); -const u8 gTateLizaMatchCallDesc[] = _("MYSTIC DUO"); -const u8 gJuanMatchCallDesc[] = _("DANDY CHARM"); -const u8 gEliteFourMatchCallDesc[] = _("ELITE FOUR"); -const u8 gChampionMatchCallDesc[] = _("CHAMPION"); -const u8 gProfBirchMatchCallDesc[] = _("{PKMN} PROF."); +const u8 gText_MrStoneMatchCallDesc[] = _("DEVON PRES"); +const u8 gText_MrStoneMatchCallName[] = _("MR. STONE"); +const u8 gText_StevenMatchCallDesc[] = _("HARD AS ROCK"); +const u8 gText_StevenMatchCallName[] = _("STEVEN"); +const u8 gText_MayBrendanMatchCallDesc[] = _("RAD NEIGHBOR"); +const u8 gText_NormanMatchCallDesc[] = _("RELIABLE ONE"); +const u8 gText_MomMatchCallDesc[] = _("CALM & KIND"); +const u8 gText_WallyMatchCallDesc[] = _("{PKMN} LOVER"); +const u8 gText_NormanMatchCallName[] = _("DAD"); +const u8 gText_MomMatchCallName[] = _("MOM"); +const u8 gText_ScottMatchCallDesc[] = _("ELUSIVE EYES"); +const u8 gText_ScottMatchCallName[] = _("SCOTT"); +const u8 gText_RoxanneMatchCallDesc[] = _("ROCKIN' WHIZ"); +const u8 gText_BrawlyMatchCallDesc[] = _("THE BIG HIT"); +const u8 gText_WattsonMatchCallDesc[] = _("SWELL SHOCK"); +const u8 gText_FlanneryMatchCallDesc[] = _("PASSION BURN"); +const u8 gText_WinonaMatchCallDesc[] = _("SKY TAMER"); +const u8 gText_TateLizaMatchCallDesc[] = _("MYSTIC DUO"); +const u8 gText_JuanMatchCallDesc[] = _("DANDY CHARM"); +const u8 gText_EliteFourMatchCallDesc[] = _("ELITE FOUR"); +const u8 gText_ChampionMatchCallDesc[] = _("CHAMPION"); +const u8 gText_ProfBirchMatchCallDesc[] = _("{PKMN} PROF."); const u8 gText_CommStandbyAwaitingOtherPlayer[] = _("Communication standby…\nAwaiting another player to choose."); const u8 gText_BattleWasRefused[] = _("The battle was refused.{PAUSE 60}"); const u8 gText_RefusedBattle[] = _("Refused the battle.{PAUSE 60}"); |