From 22b607b664b1b350ad96340b39440c8e4296006c Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Wed, 10 Jan 2018 11:30:12 -0500 Subject: [PATCH] Move radio channel data into data/ --- constants/radio_constants.asm | 200 +++++++++++++-------------- data/radio/buenas_passwords.asm | 26 ++++ data/radio/channel_music.asm | 13 ++ data/radio/oaks_pkmn_talk_routes.asm | 19 +++ data/radio/pnp_hidden_people.asm | 26 ++++ data/radio/pnp_hidden_places.asm | 13 ++ engine/radio.asm | 136 ++++++------------ 7 files changed, 232 insertions(+), 201 deletions(-) create mode 100644 data/radio/buenas_passwords.asm create mode 100644 data/radio/channel_music.asm create mode 100644 data/radio/oaks_pkmn_talk_routes.asm create mode 100644 data/radio/pnp_hidden_people.asm create mode 100644 data/radio/pnp_hidden_places.asm diff --git a/constants/radio_constants.asm b/constants/radio_constants.asm index 86817081e..207a2ff60 100644 --- a/constants/radio_constants.asm +++ b/constants/radio_constants.asm @@ -1,93 +1,97 @@ -; PlayRadioShow arguments, RadioJumptable indexes (see engine/radio.asm) +; radio channel ids +; indexes for: +; - PlayRadioShow/RadioJumptable (see engine/radio.asm) +; - RadioChannelSongs (see data/radio/channel_music.asm) const_def - const OAKS_POKEMON_TALK ; $00 - const POKEDEX_SHOW ; $01 - const POKEMON_MUSIC ; $02 - const LUCKY_CHANNEL ; $03 - const BUENAS_PASSWORD ; $04 - const PLACES_AND_PEOPLE ; $05 - const LETS_ALL_SING ; $06 - const ROCKET_RADIO ; $07 - const POKE_FLUTE_RADIO ; $08 - const UNOWN_RADIO ; $09 - const EVOLUTION_RADIO ; $0a - const OAKS_POKEMON_TALK_2 ; $0b - const OAKS_POKEMON_TALK_3 ; $0c - const OAKS_POKEMON_TALK_4 ; $0d - const OAKS_POKEMON_TALK_5 ; $0e - const OAKS_POKEMON_TALK_6 ; $0f - const OAKS_POKEMON_TALK_7 ; $10 - const OAKS_POKEMON_TALK_8 ; $11 - const OAKS_POKEMON_TALK_9 ; $12 - const POKEDEX_SHOW_2 ; $13 - const POKEDEX_SHOW_3 ; $14 - const POKEDEX_SHOW_4 ; $15 - const POKEDEX_SHOW_5 ; $16 - const POKEMON_MUSIC_2 ; $17 - const POKEMON_MUSIC_3 ; $18 - const POKEMON_MUSIC_4 ; $19 - const POKEMON_MUSIC_5 ; $1a - const POKEMON_MUSIC_6 ; $1b - const POKEMON_MUSIC_7 ; $1c - const LETS_ALL_SING_2 ; $1d - const LUCKY_NUMBER_SHOW_2 ; $1e - const LUCKY_NUMBER_SHOW_3 ; $1f - const LUCKY_NUMBER_SHOW_4 ; $20 - const LUCKY_NUMBER_SHOW_5 ; $21 - const LUCKY_NUMBER_SHOW_6 ; $22 - const LUCKY_NUMBER_SHOW_7 ; $23 - const LUCKY_NUMBER_SHOW_8 ; $24 - const LUCKY_NUMBER_SHOW_9 ; $25 - const LUCKY_NUMBER_SHOW_10 ; $26 - const LUCKY_NUMBER_SHOW_11 ; $27 - const LUCKY_NUMBER_SHOW_12 ; $28 - const LUCKY_NUMBER_SHOW_13 ; $29 - const LUCKY_NUMBER_SHOW_14 ; $2a - const LUCKY_NUMBER_SHOW_15 ; $2b - const PLACES_AND_PEOPLE_2 ; $2c - const PLACES_AND_PEOPLE_3 ; $2d - const PLACES_AND_PEOPLE_4 ; $2e - const PLACES_AND_PEOPLE_5 ; $2f - const PLACES_AND_PEOPLE_6 ; $30 - const PLACES_AND_PEOPLE_7 ; $31 - const ROCKET_RADIO_2 ; $32 - const ROCKET_RADIO_3 ; $33 - const ROCKET_RADIO_4 ; $34 - const ROCKET_RADIO_5 ; $35 - const ROCKET_RADIO_6 ; $36 - const ROCKET_RADIO_7 ; $37 - const ROCKET_RADIO_8 ; $38 - const ROCKET_RADIO_9 ; $39 - const ROCKET_RADIO_10 ; $3a - const OAKS_POKEMON_TALK_10 ; $3b - const OAKS_POKEMON_TALK_11 ; $3c - const OAKS_POKEMON_TALK_12 ; $3d - const OAKS_POKEMON_TALK_13 ; $3e - const OAKS_POKEMON_TALK_14 ; $3f - const BUENAS_PASSWORD_2 ; $40 - const BUENAS_PASSWORD_3 ; $41 - const BUENAS_PASSWORD_4 ; $42 - const BUENAS_PASSWORD_5 ; $43 - const BUENAS_PASSWORD_6 ; $44 - const BUENAS_PASSWORD_7 ; $45 - const BUENAS_PASSWORD_8 ; $46 - const BUENAS_PASSWORD_9 ; $47 - const BUENAS_PASSWORD_10 ; $48 - const BUENAS_PASSWORD_11 ; $49 - const BUENAS_PASSWORD_12 ; $4a - const BUENAS_PASSWORD_13 ; $4b - const BUENAS_PASSWORD_14 ; $4c - const BUENAS_PASSWORD_15 ; $4d - const BUENAS_PASSWORD_16 ; $4e - const BUENAS_PASSWORD_17 ; $4f - const BUENAS_PASSWORD_18 ; $50 - const BUENAS_PASSWORD_19 ; $51 - const BUENAS_PASSWORD_20 ; $52 - const BUENAS_PASSWORD_21 ; $53 - const RADIO_SCROLL ; $54 - const POKEDEX_SHOW_6 ; $55 - const POKEDEX_SHOW_7 ; $56 - const POKEDEX_SHOW_8 ; $57 + const OAKS_POKEMON_TALK ; 00 + const POKEDEX_SHOW ; 01 + const POKEMON_MUSIC ; 02 + const LUCKY_CHANNEL ; 03 + const BUENAS_PASSWORD ; 04 + const PLACES_AND_PEOPLE ; 05 + const LETS_ALL_SING ; 06 + const ROCKET_RADIO ; 07 + const POKE_FLUTE_RADIO ; 08 + const UNOWN_RADIO ; 09 + const EVOLUTION_RADIO ; 0a +; internal indexes for channel segments + const OAKS_POKEMON_TALK_2 ; 0b + const OAKS_POKEMON_TALK_3 ; 0c + const OAKS_POKEMON_TALK_4 ; 0d + const OAKS_POKEMON_TALK_5 ; 0e + const OAKS_POKEMON_TALK_6 ; 0f + const OAKS_POKEMON_TALK_7 ; 10 + const OAKS_POKEMON_TALK_8 ; 11 + const OAKS_POKEMON_TALK_9 ; 12 + const POKEDEX_SHOW_2 ; 13 + const POKEDEX_SHOW_3 ; 14 + const POKEDEX_SHOW_4 ; 15 + const POKEDEX_SHOW_5 ; 16 + const POKEMON_MUSIC_2 ; 17 + const POKEMON_MUSIC_3 ; 18 + const POKEMON_MUSIC_4 ; 19 + const POKEMON_MUSIC_5 ; 1a + const POKEMON_MUSIC_6 ; 1b + const POKEMON_MUSIC_7 ; 1c + const LETS_ALL_SING_2 ; 1d + const LUCKY_NUMBER_SHOW_2 ; 1e + const LUCKY_NUMBER_SHOW_3 ; 1f + const LUCKY_NUMBER_SHOW_4 ; 20 + const LUCKY_NUMBER_SHOW_5 ; 21 + const LUCKY_NUMBER_SHOW_6 ; 22 + const LUCKY_NUMBER_SHOW_7 ; 23 + const LUCKY_NUMBER_SHOW_8 ; 24 + const LUCKY_NUMBER_SHOW_9 ; 25 + const LUCKY_NUMBER_SHOW_10 ; 26 + const LUCKY_NUMBER_SHOW_11 ; 27 + const LUCKY_NUMBER_SHOW_12 ; 28 + const LUCKY_NUMBER_SHOW_13 ; 29 + const LUCKY_NUMBER_SHOW_14 ; 2a + const LUCKY_NUMBER_SHOW_15 ; 2b + const PLACES_AND_PEOPLE_2 ; 2c + const PLACES_AND_PEOPLE_3 ; 2d + const PLACES_AND_PEOPLE_4 ; 2e + const PLACES_AND_PEOPLE_5 ; 2f + const PLACES_AND_PEOPLE_6 ; 30 + const PLACES_AND_PEOPLE_7 ; 31 + const ROCKET_RADIO_2 ; 32 + const ROCKET_RADIO_3 ; 33 + const ROCKET_RADIO_4 ; 34 + const ROCKET_RADIO_5 ; 35 + const ROCKET_RADIO_6 ; 36 + const ROCKET_RADIO_7 ; 37 + const ROCKET_RADIO_8 ; 38 + const ROCKET_RADIO_9 ; 39 + const ROCKET_RADIO_10 ; 3a + const OAKS_POKEMON_TALK_10 ; 3b + const OAKS_POKEMON_TALK_11 ; 3c + const OAKS_POKEMON_TALK_12 ; 3d + const OAKS_POKEMON_TALK_13 ; 3e + const OAKS_POKEMON_TALK_14 ; 3f + const BUENAS_PASSWORD_2 ; 40 + const BUENAS_PASSWORD_3 ; 41 + const BUENAS_PASSWORD_4 ; 42 + const BUENAS_PASSWORD_5 ; 43 + const BUENAS_PASSWORD_6 ; 44 + const BUENAS_PASSWORD_7 ; 45 + const BUENAS_PASSWORD_8 ; 46 + const BUENAS_PASSWORD_9 ; 47 + const BUENAS_PASSWORD_10 ; 48 + const BUENAS_PASSWORD_11 ; 49 + const BUENAS_PASSWORD_12 ; 4a + const BUENAS_PASSWORD_13 ; 4b + const BUENAS_PASSWORD_14 ; 4c + const BUENAS_PASSWORD_15 ; 4d + const BUENAS_PASSWORD_16 ; 4e + const BUENAS_PASSWORD_17 ; 4f + const BUENAS_PASSWORD_18 ; 50 + const BUENAS_PASSWORD_19 ; 51 + const BUENAS_PASSWORD_20 ; 52 + const BUENAS_PASSWORD_21 ; 53 + const RADIO_SCROLL ; 54 + const POKEDEX_SHOW_6 ; 55 + const POKEDEX_SHOW_7 ; 56 + const POKEDEX_SHOW_8 ; 57 ; PlayRadio arguments (see engine/pokegear.asm) const_def @@ -101,23 +105,11 @@ const MAPRADIO_LETS_ALL_SING const MAPRADIO_ROCKET -; PasswordTable indexes (see engine/radio.asm) - const_def - const BUENA_STARTERS - const BUENA_DRINKS - const BUENA_ITEMS - const BUENA_BALLS - const BUENA_MON1 - const BUENA_MON2 - const BUENA_TOWNS - const BUENA_TYPES - const BUENA_MOVES - const BUENA_XITEMS - const BUENA_STATIONS -NUM_PASSWORD_CATEGORIES EQU const_value +; BuenasPasswordTable sizes (see data/radio/buenas_passwords.asm) +NUM_PASSWORD_CATEGORIES EQU 11 NUM_PASSWORDS_PER_CATEGORY EQU 3 -; PasswordTable string types (see engine/radio.asm) +; GetBuenasPassword.StringFunctionJumpTable indexes (see engine/radio.asm) const_def const BUENA_MON const BUENA_ITEM diff --git a/data/radio/buenas_passwords.asm b/data/radio/buenas_passwords.asm new file mode 100644 index 000000000..85e1b951b --- /dev/null +++ b/data/radio/buenas_passwords.asm @@ -0,0 +1,26 @@ +BuenasPasswordTable: +; there are NUM_PASSWORD_CATEGORIES entries + dw .JohtoStarters + dw .Beverages + dw .HealingItems + dw .Balls + dw .Pokemon1 + dw .Pokemon2 + dw .JohtoTowns + dw .Types + dw .Moves + dw .XItems + dw .RadioStations + + ; string type, points, option 1, option 2, option 3 +.JohtoStarters: db BUENA_MON, 10, CYNDAQUIL, TOTODILE, CHIKORITA +.Beverages: db BUENA_ITEM, 12, FRESH_WATER, SODA_POP, LEMONADE +.HealingItems: db BUENA_ITEM, 12, POTION, ANTIDOTE, PARLYZ_HEAL +.Balls: db BUENA_ITEM, 12, POKE_BALL, GREAT_BALL, ULTRA_BALL +.Pokemon1: db BUENA_MON, 10, PIKACHU, RATTATA, GEODUDE +.Pokemon2: db BUENA_MON, 10, HOOTHOOT, SPINARAK, DROWZEE +.JohtoTowns: db BUENA_STRING, 16, "NEW BARK TOWN@", "CHERRYGROVE CITY@", "AZALEA TOWN@" +.Types: db BUENA_STRING, 6, "FLYING@", "BUG@", "GRASS@" +.Moves: db BUENA_MOVE, 12, TACKLE, GROWL, MUD_SLAP +.XItems: db BUENA_ITEM, 12, X_ATTACK, X_DEFEND, X_SPEED +.RadioStations: db BUENA_STRING, 13, "#MON Talk@", "#MON Music@", "Lucky Channel@" diff --git a/data/radio/channel_music.asm b/data/radio/channel_music.asm new file mode 100644 index 000000000..62504ed11 --- /dev/null +++ b/data/radio/channel_music.asm @@ -0,0 +1,13 @@ +RadioChannelSongs: +; entries correspond to radio channel ids + dw MUSIC_POKEMON_TALK + dw MUSIC_POKEMON_CENTER + dw MUSIC_TITLE + dw MUSIC_GAME_CORNER + dw MUSIC_BUENAS_PASSWORD + dw MUSIC_VIRIDIAN_CITY + dw MUSIC_BICYCLE + dw MUSIC_ROCKET_OVERTURE + dw MUSIC_POKE_FLUTE_CHANNEL + dw MUSIC_RUINS_OF_ALPH_RADIO + dw MUSIC_LAKE_OF_RAGE_ROCKET_RADIO diff --git a/data/radio/oaks_pkmn_talk_routes.asm b/data/radio/oaks_pkmn_talk_routes.asm new file mode 100644 index 000000000..ad7b6529d --- /dev/null +++ b/data/radio/oaks_pkmn_talk_routes.asm @@ -0,0 +1,19 @@ +; Oak's Pokémon Talk will list wild Pokémon on these maps. + +OaksPkmnTalkRoutes: + map ROUTE_29 + map ROUTE_46 + map ROUTE_30 + map ROUTE_32 + map ROUTE_34 + map ROUTE_35 + map ROUTE_37 + map ROUTE_38 + map ROUTE_39 + map ROUTE_42 + map ROUTE_43 + map ROUTE_44 + map ROUTE_45 + map ROUTE_36 + map ROUTE_31 +OaksPkmnTalkRoutesEnd diff --git a/data/radio/pnp_hidden_people.asm b/data/radio/pnp_hidden_people.asm new file mode 100644 index 000000000..5eb178572 --- /dev/null +++ b/data/radio/pnp_hidden_people.asm @@ -0,0 +1,26 @@ +; Places and People will not describe these trainers. + +PnP_HiddenPeople: + db WILL + db BRUNO + db KAREN + db KOGA + db CHAMPION + ; fallthrough +PnP_HiddenPeople_BeatE4: + db BROCK + db MISTY + db LT_SURGE + db ERIKA + db JANINE + db SABRINA + db BLAINE + db BLUE + ; fallthrough +PnP_HiddenPeople_BeatKanto: + db RIVAL1 + db POKEMON_PROF + db CAL + db RIVAL2 + db RED + db -1 diff --git a/data/radio/pnp_hidden_places.asm b/data/radio/pnp_hidden_places.asm new file mode 100644 index 000000000..4cf1987d3 --- /dev/null +++ b/data/radio/pnp_hidden_places.asm @@ -0,0 +1,13 @@ +; Places and People will not describe these maps. + +PnP_HiddenPlaces: + map PALLET_TOWN + map ROUTE_22 + map PEWTER_CITY + map CERULEAN_POLICE_STATION + map ROUTE_12 + map ROUTE_11 + map ROUTE_16 + map ROUTE_14 + map CINNABAR_POKECENTER_2F_BETA +PnP_HiddenPlacesEnd diff --git a/engine/radio.asm b/engine/radio.asm index 42db63ab0..54cee3894 100644 --- a/engine/radio.asm +++ b/engine/radio.asm @@ -28,6 +28,7 @@ PlayRadioShow: jp hl RadioJumptable: +; entries correspond to constants/radio_constants.asm dw OaksPkmnTalk1 ; $00 dw PokedexShow1 ; $01 dw BenMonMusic1 ; $02 @@ -203,11 +204,11 @@ OaksPkmnTalk4: ; Choose a random route, and a random Pokemon from that route. .sample call Random - and $1f - cp $f ; so wasteful + and %11111 + cp (OaksPkmnTalkRoutesEnd - OaksPkmnTalkRoutes) / 2 jr nc, .sample ; We now have a number between 0 and 14. - ld hl, .routes + ld hl, OaksPkmnTalkRoutes ld c, a ld b, 0 add hl, bc @@ -239,14 +240,15 @@ OaksPkmnTalk4: jr .loop .done + ; Point hl to the list of morning Pokémon., skipping percentages rept 4 inc hl endr ; Generate a number, either 0, 1, or 2, to choose a time of day. .loop2 call Random - and 3 - cp 3 + and $3 + cp DARKNESS_F jr z, .loop2 ld bc, 2 * NUM_GRASSMON @@ -273,6 +275,7 @@ endr ld de, wMonOrItemNameBuffer ld bc, PKMN_NAME_LENGTH call CopyBytes + ; Now that we've chosen our wild Pokemon, ; let's recover the map index info and get its name. pop bc @@ -289,22 +292,7 @@ endr ld a, OAKS_POKEMON_TALK jp PrintRadioLine -.routes - map ROUTE_29 - map ROUTE_46 - map ROUTE_30 - map ROUTE_32 - map ROUTE_34 - map ROUTE_35 - map ROUTE_37 - map ROUTE_38 - map ROUTE_39 - map ROUTE_42 - map ROUTE_43 - map ROUTE_44 - map ROUTE_45 - map ROUTE_36 - map ROUTE_31 +INCLUDE "data/radio/oaks_pkmn_talk_routes.asm" OaksPkmnTalk5: ld hl, OPT_OakText2 @@ -361,7 +349,7 @@ OPT_MaryText1: OaksPkmnTalk8: call Random - and $f + and $f ; 0-15 are all the valid indexes into .Descriptors ld e, a ld d, 0 ld hl, .Descriptors @@ -473,7 +461,7 @@ OaksPkmnTalk8: OaksPkmnTalk9: call Random - and $f + and $f ; 0-15 are all the valid indexes into .Descriptors ld e, a ld d, 0 ld hl, .Descriptors @@ -652,7 +640,7 @@ OaksPkmnTalk14: ld hl, wRadioTextDelay dec [hl] ret nz - ld de, $1d + ld de, MUSIC_POKEMON_TALK callfar RadioMusicRestartDE ld hl, .terminator call PrintText @@ -1146,7 +1134,7 @@ PeoplePlaces2: PeoplePlaces3: ld hl, PnP_Text3 call Random - cp $7b ; 48 percent + cp 49 percent - 1 ld a, PLACES_AND_PEOPLE_4 ; People jr c, .ok ld a, PLACES_AND_PEOPLE_6 ; Places @@ -1175,15 +1163,15 @@ PeoplePlaces4: ; People cp NUM_TRAINER_CLASSES - 1 jr nc, PeoplePlaces4 push af - ld hl, .E4Names + ld hl, PnP_HiddenPeople ld a, [wStatusFlags] bit 6, a ; ENGINE_CREDITS_SKIP jr z, .ok - ld hl, .KantoLeaderNames + ld hl, PnP_HiddenPeople_BeatE4 ld a, [wKantoBadges] - cp %11111111 + cp %11111111 ; all badges jr nz, .ok - ld hl, .MiscNames + ld hl, PnP_HiddenPeople_BeatKanto .ok pop af ld c, a @@ -1203,10 +1191,7 @@ PeoplePlaces4: ; People ld a, PLACES_AND_PEOPLE_5 jp NextRadioLine -.E4Names: db WILL, BRUNO, KAREN, KOGA, CHAMPION -.KantoLeaderNames: db BROCK, MISTY, LT_SURGE, ERIKA, JANINE, SABRINA, BLAINE, BLUE -.MiscNames: db RIVAL1, POKEMON_PROF, CAL, RIVAL2, RED - db -1 +INCLUDE "data/radio/pnp_hidden_people.asm" PnP_Text4: ; @ @ @ @@ -1215,7 +1200,7 @@ PnP_Text4: PeoplePlaces5: call Random - and $f + and $f ; 0-15 are all the valid indexes into .Descriptors ld e, a ld d, 0 ld hl, .Descriptors @@ -1225,11 +1210,11 @@ PeoplePlaces5: ld h, [hl] ld l, a call Random - cp $a ; 6.25 percent + cp 4 percent ld a, PLACES_AND_PEOPLE jr c, .ok call Random - cp $7b ; 48 percent + cp 49 percent - 1 ld a, PLACES_AND_PEOPLE_4 ; People jr c, .ok ld a, PLACES_AND_PEOPLE_6 ; Places @@ -1336,9 +1321,9 @@ PnP_odd: PeoplePlaces6: ; Places call Random - cp 9 + cp (PnP_HiddenPlacesEnd - PnP_HiddenPlaces) / 2 jr nc, PeoplePlaces6 - ld hl, .Maps + ld hl, PnP_HiddenPlaces ld c, a ld b, 0 add hl, bc @@ -1353,16 +1338,7 @@ PeoplePlaces6: ; Places ld a, PLACES_AND_PEOPLE_7 jp NextRadioLine -.Maps: - map PALLET_TOWN - map ROUTE_22 - map PEWTER_CITY - map CERULEAN_POLICE_STATION - map ROUTE_12 - map ROUTE_11 - map ROUTE_16 - map ROUTE_14 - map CINNABAR_POKECENTER_2F_BETA +INCLUDE "data/radio/pnp_hidden_places.asm" PnP_Text5: ; @ @ @@ -1371,7 +1347,7 @@ PnP_Text5: PeoplePlaces7: call Random - and $f + and $f ; 0-15 are all the valid indexes into .Descriptors ld e, a ld d, 0 ld hl, .Descriptors @@ -1386,7 +1362,7 @@ PeoplePlaces7: ld a, PLACES_AND_PEOPLE jr c, .ok call Random - cp 1 + 48 percent + cp 49 percent - 1 ld a, PLACES_AND_PEOPLE_4 ; People jr c, .ok ld a, PLACES_AND_PEOPLE_6 ; Places @@ -1572,7 +1548,7 @@ BuenasPassword4: ld a, [wBuenasPassword] ; If we already generated the password today, we don't need to generate a new one. ld hl, wWeeklyFlags - bit 7, [hl] + bit 7, [hl] ; ENGINE_BUENAS_PASSWORD jr nz, .AlreadyGotIt ; There are only 11 groups to choose from. .greater_than_11 @@ -1586,7 +1562,7 @@ BuenasPassword4: ; For each group, choose one of the three passwords. .greater_than_three call Random - and $3 + maskbits NUM_PASSWORDS_PER_CATEGORY cp NUM_PASSWORDS_PER_CATEGORY jr nc, .greater_than_three ; The high nybble of wBuenasPassword will now contain the password group index, and the low nybble contains the actual password. @@ -1594,7 +1570,7 @@ BuenasPassword4: ld [wBuenasPassword], a ; Set the flag so that we don't generate a new password this week. ld hl, wWeeklyFlags - set 7, [hl] + set 7, [hl] ; ENGINE_BUENAS_PASSWORD .AlreadyGotIt: ld c, a call GetBuenasPassword @@ -1608,7 +1584,7 @@ GetBuenasPassword: ld a, c swap a and $f - ld hl, PasswordTable + ld hl, BuenasPasswordTable ld d, 0 ld e, a add hl, de @@ -1640,11 +1616,11 @@ GetBuenasPassword: ret .StringFunctionJumpTable: - dw .Mon - dw .Item - dw .Move - dw .RawString - +; entries correspond to BUENA_* constants + dw .Mon ; BUENA_MON + dw .Item ; BUENA_ITEM + dw .Move ; BUENA_MOVE + dw .RawString ; BUENA_STRING .Mon: call .GetTheIndex @@ -1693,30 +1669,7 @@ GetBuenasPassword: ld de, StringBuffer1 ret -PasswordTable: - dw .JohtoStarters - dw .Beverages - dw .HealingItems - dw .Balls - dw .Pokemon1 - dw .Pokemon2 - dw .JohtoTowns - dw .Types - dw .Moves - dw .XItems - dw .RadioStations - ; string type, points, option 1, option 2, option 3 -.JohtoStarters: db BUENA_MON, 10, CYNDAQUIL, TOTODILE, CHIKORITA -.Beverages: db BUENA_ITEM, 12, FRESH_WATER, SODA_POP, LEMONADE -.HealingItems: db BUENA_ITEM, 12, POTION, ANTIDOTE, PARLYZ_HEAL -.Balls: db BUENA_ITEM, 12, POKE_BALL, GREAT_BALL, ULTRA_BALL -.Pokemon1: db BUENA_MON, 10, PIKACHU, RATTATA, GEODUDE -.Pokemon2: db BUENA_MON, 10, HOOTHOOT, SPINARAK, DROWZEE -.JohtoTowns: db BUENA_STRING, 16, "NEW BARK TOWN@", "CHERRYGROVE CITY@", "AZALEA TOWN@" -.Types: db BUENA_STRING, 6, "FLYING@", "BUG@", "GRASS@" -.Moves: db BUENA_MOVE, 12, TACKLE, GROWL, MUD_SLAP -.XItems: db BUENA_ITEM, 12, X_ATTACK, X_DEFEND, X_SPEED -.RadioStations: db BUENA_STRING, 13, "#MON Talk@", "#MON Music@", "Lucky Channel@" +INCLUDE "data/radio/buenas_passwords.asm" BuenasPassword5: ld hl, BuenaRadioText5 @@ -1738,14 +1691,14 @@ BuenasPassword7: BuenasPasswordAfterMidnight: push hl ld hl, wWeeklyFlags - res 7, [hl] + res 7, [hl] ; ENGINE_BUENAS_PASSWORD pop hl ld a, BUENAS_PASSWORD_8 jp NextRadioLine BuenasPassword8: ld hl, wWeeklyFlags - res 7, [hl] + res 7, [hl] ; ENGINE_BUENAS_PASSWORD ld hl, BuenaRadioMidnightText10 ld a, BUENAS_PASSWORD_9 jp NextRadioLine @@ -1958,18 +1911,7 @@ StartRadioStation: callfar RadioMusicRestartDE ret -RadioChannelSongs: - dw MUSIC_POKEMON_TALK - dw MUSIC_POKEMON_CENTER - dw MUSIC_TITLE - dw MUSIC_GAME_CORNER - dw MUSIC_BUENAS_PASSWORD - dw MUSIC_VIRIDIAN_CITY - dw MUSIC_BICYCLE - dw MUSIC_ROCKET_OVERTURE - dw MUSIC_POKE_FLUTE_CHANNEL - dw MUSIC_RUINS_OF_ALPH_RADIO - dw MUSIC_LAKE_OF_RAGE_ROCKET_RADIO +INCLUDE "data/radio/channel_music.asm" NextRadioLine: push af