diff options
author | yenatch <yenatch@gmail.com> | 2015-10-13 19:23:12 -0400 |
---|---|---|
committer | yenatch <yenatch@gmail.com> | 2015-10-13 19:23:12 -0400 |
commit | d5f94e9ee5a2f5ec8fb26c29d74c02531fc79c5a (patch) | |
tree | 003a0d9a296095020d110e3cdc6b2127a3e20e38 /engine | |
parent | 7176eff7aafda5378305a593c459d158ac27601f (diff) | |
parent | d338a092c5a54d73e3e0a186569cc3b84e61c4ae (diff) |
Merge pull request #320 from PikalaxALT/master
More labels, including fns responsible for partymon generation
Diffstat (limited to 'engine')
-rw-r--r-- | engine/diploma.asm | 4 | ||||
-rw-r--r-- | engine/engine_flags.asm | 2 | ||||
-rw-r--r-- | engine/events.asm | 26 | ||||
-rw-r--r-- | engine/events_2.asm | 12 | ||||
-rw-r--r-- | engine/map_objects.asm | 20 | ||||
-rw-r--r-- | engine/map_setup.asm | 2 | ||||
-rw-r--r-- | engine/pokedex.asm | 30 | ||||
-rw-r--r-- | engine/predef.asm | 2 | ||||
-rw-r--r-- | engine/radio.asm | 786 | ||||
-rw-r--r-- | engine/radio2.asm | 404 | ||||
-rw-r--r-- | engine/scripting.asm | 22 | ||||
-rw-r--r-- | engine/specials.asm | 20 | ||||
-rwxr-xr-x | engine/time.asm | 22 |
13 files changed, 881 insertions, 471 deletions
diff --git a/engine/diploma.asm b/engine/diploma.asm index 420bff7f1..f56e4ec00 100644 --- a/engine/diploma.asm +++ b/engine/diploma.asm @@ -70,12 +70,12 @@ Function1dd7ae: ; 1dd7ae call PlaceString hlcoord 12, 15 ld de, GameTimeHours - ld bc, $0204 + lb bc, 2, 4 call PrintNum ld [hl], $67 inc hl ld de, GameTimeMinutes - ld bc, $8102 + lb bc, PRINTNUM_LEADINGZEROS | 1, 2 call PrintNum ret ; 1dd7f0 diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm index ff7948708..278c7c996 100644 --- a/engine/engine_flags.asm +++ b/engine/engine_flags.asm @@ -97,7 +97,7 @@ dwb VisitedSpawns + 3, %00000100 ; silver cave dwb VisitedSpawns + 3, %00010000 ; unused - dwb wdc9d, %00000001 ; lucky number show + dwb wLuckyNumberShowFlag, %00000001 ; lucky number show dwb StatusFlags2, %00001000 dwb DailyFlags, %00000001 ; kurt making balls ; $50 diff --git a/engine/events.asm b/engine/events.asm index 3fedf691d..b0f9fb769 100644 --- a/engine/events.asm +++ b/engine/events.asm @@ -121,7 +121,7 @@ StartMap: ; 96724 xor a ld [ScriptRunning], a ld hl, MapStatus - ld bc, $3e + ld bc, $3e ; 62 call ByteFill callba Function113e5 call ClearJoypad @@ -133,17 +133,17 @@ EnterMap: ; 9673e xor a ld [wd453], a ld [wd454], a - call Function968d1 + call SetUpFiveStepWildEncounterCooldown callba RunMapSetupScript call ClearAllScriptFlags3 - ld a, [$ff9f] + ld a, [hMapEntryMethod] cp $f7 jr nz, .dontset call SetAll_ScriptFlags3 .dontset - ld a, [$ff9f] + ld a, [hMapEntryMethod] cp $f3 jr nz, .dontresetpoison xor a @@ -151,7 +151,7 @@ EnterMap: ; 9673e .dontresetpoison xor a - ld [$ff9f], a + ld [hMapEntryMethod], a ld a, 2 ; HandleMap ld [MapStatus], a ret @@ -382,9 +382,9 @@ CheckTileEvent: ; 96874 call CheckBit4_ScriptFlags3 jr z, .ok - call RockSmashEncounter + call RandomEncounter ret c - jr .ok + jr .ok ; pointless .ok xor a @@ -419,8 +419,8 @@ CheckTileEvent: ; 96874 ; 968c7 -Function968c7:: ; 968c7 - ld hl, wd452 +CheckWildEncounterCooldown:: ; 968c7 + ld hl, wWildEncounterCooldown ld a, [hl] and a ret z @@ -430,9 +430,9 @@ Function968c7:: ; 968c7 ret ; 968d1 -Function968d1: ; 968d1 +SetUpFiveStepWildEncounterCooldown: ; 968d1 ld a, 5 - ld [wd452], a + ld [wWildEncounterCooldown], a ret ; 968d7 @@ -441,11 +441,11 @@ Function968d7: ; 968d7 ; 968d8 Function968d8: ; 968d8 - ld a, [wd452] + ld a, [wWildEncounterCooldown] cp 2 ret nc ld a, 2 - ld [wd452], a + ld [wWildEncounterCooldown], a ret ; 968e4 diff --git a/engine/events_2.asm b/engine/events_2.asm index 5a8ce7c2c..96ebfb515 100644 --- a/engine/events_2.asm +++ b/engine/events_2.asm @@ -95,10 +95,10 @@ CheckFacingTileEvent:: ; 97c5f ; 97cc0 -RockSmashEncounter:: ; 97cc0 -; Rock Smash encounter +RandomEncounter:: ; 97cc0 +; Random encounter - call Function968c7 + call CheckWildEncounterCooldown jr c, .nope call CanUseSweetScent jr nc, .nope @@ -120,8 +120,8 @@ RockSmashEncounter:: ; 97cc0 ret .ok - ld a, BANK(RockSmashBattleScript) - ld hl, RockSmashBattleScript + ld a, BANK(WildBattleScript) + ld hl, WildBattleScript jr .done .ok_bug_contest @@ -135,7 +135,7 @@ RockSmashEncounter:: ; 97cc0 ret ; 97cf9 -RockSmashBattleScript: ; 97cf9 +WildBattleScript: ; 97cf9 battlecheck startbattle returnafterbattle diff --git a/engine/map_objects.asm b/engine/map_objects.asm index 888952ab8..d9282d965 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -1499,7 +1499,7 @@ Function4af0: ; 4af0 add hl, bc ld [hl], 2 ld hl, wd4cf - ld a, [$ffaf] + ld a, [hConnectionStripLength] cp [hl] jr z, .ok ld hl, OBJECT_09 @@ -2508,7 +2508,7 @@ Function54b8: ; 54b8 ret z ld a, [wd4cd] ld d, a - ld a, [$ffaf] + ld a, [hConnectionStripLength] cp d ret nz ld a, e @@ -2651,7 +2651,7 @@ Function5565: ; 5565 Function5579: ; 5579 push bc - ld a, [$ffaf] + ld a, [hConnectionStripLength] ld c, a call Function5582 pop bc @@ -2712,7 +2712,7 @@ Function55b9: ; 55b9 ld [hli], a ld a, [de] ld [hli], a - ld a, [$ffaf] + ld a, [hConnectionStripLength] ld [hli], a push hl ld hl, OBJECT_MAP_X @@ -2737,7 +2737,7 @@ Function55e0:: ; 55e0 ld bc, ObjectStructs xor a .loop - ld [$ffaf], a + ld [hConnectionStripLength], a call GetObjectSprite jr z, .ok call Function565c @@ -2747,7 +2747,7 @@ Function55e0:: ; 55e0 add hl, bc ld b, h ld c, l - ld a, [$ffaf] + ld a, [hConnectionStripLength] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -2801,13 +2801,13 @@ Function5645: ; 5645 xor a ld bc, ObjectStructs .loop - ld [$ffaf], a + ld [hConnectionStripLength], a call Function5680 ld hl, OBJECT_STRUCT_LENGTH add hl, bc ld b, h ld c, l - ld a, [$ffaf] + ld a, [hConnectionStripLength] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -3032,7 +3032,7 @@ Function5781: ; 5781 ld bc, ObjectStructs xor a .loop - ld [$ffaf], a + ld [hConnectionStripLength], a call GetObjectSprite jr z, .next call Function437b @@ -3042,7 +3042,7 @@ Function5781: ; 5781 add hl, bc ld b, h ld c, l - ld a, [$ffaf] + ld a, [hConnectionStripLength] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop diff --git a/engine/map_setup.asm b/engine/map_setup.asm index 9ac712872..f89d68a19 100644 --- a/engine/map_setup.asm +++ b/engine/map_setup.asm @@ -1,6 +1,6 @@ RunMapSetupScript:: ; 15363 - ld a, [$ff9f] + ld a, [hMapEntryMethod] and $f dec a ld c, a diff --git a/engine/pokedex.asm b/engine/pokedex.asm index 066653777..970863675 100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -217,7 +217,7 @@ Function4013c: ; 4013c (10:413c) call ByteFill callba Function1de171 hlcoord 0, 17 - ld de, Unknown_407f2 + ld de, String_START_SEARCH call Function40acd ld a, $7 ld [wc7d3], a @@ -246,7 +246,7 @@ Function4013c: ; 4013c (10:413c) call Function41148 callba Function1de171 hlcoord 0, 17 - ld de, Unknown_407f2 + ld de, String_START_SEARCH call Function40acd ld a, $7 ld [wc7d3], a @@ -1068,7 +1068,7 @@ Function40741: ; 40741 Function4074c: ; 4074c (10:474c) hlcoord 0, 17 - ld de, Unknown_407f2 + ld de, String_START_SEARCH call Function40acd ld a, $32 hlcoord 0, 0 @@ -1081,27 +1081,27 @@ Function4074c: ; 4074c (10:474c) ld bc, $607 call Function40ad5 hlcoord 1, 11 - ld de, Unknown_407e1 + ld de, String_SEEN call Function40acd ld hl, PokedexSeen ; wdeb9 (aliases: EndPokedexSeen) ld b, EndPokedexSeen - PokedexSeen call CountSetBits ld de, wd265 hlcoord 5, 12 - ld bc, $103 + lb bc, 1, 3 call PrintNum hlcoord 1, 14 - ld de, Unknown_407e6 + ld de, String_OWN call Function40acd ld hl, PokedexCaught ld b, EndPokedexCaught - PokedexCaught call CountSetBits ld de, wd265 hlcoord 5, 15 - ld bc, $103 + lb bc, 1, 3 call PrintNum hlcoord 1, 17 - ld de, Unknown_407ea + ld de, String_SELECT_OPTION call Function40acd hlcoord 8, 1 ld b, $7 @@ -1123,13 +1123,13 @@ Function4074c: ; 4074c (10:474c) ret ; 407e1 (10:47e1) -Unknown_407e1: ; 407e1 +String_SEEN: ; 407e1 db "SEEN", $ff -Unknown_407e6: ; 407e6 +String_OWN: ; 407e6 db "OWN", $ff -Unknown_407ea: ; 407ea +String_SELECT_OPTION: ; 407ea db $3b, $48, $49, $4a, $44, $45, $46, $47 ; SELECT > OPTION -Unknown_407f2: ; 407f2 +String_START_SEARCH: ; 407f2 db $3c, $3b, $41, $42, $43, $4b, $4c, $4d, $4e, $3c, $ff ; START > SEARCH ; 407fd @@ -1270,7 +1270,7 @@ Function40962: ; 40962 (10:4962) call PlaceString ld de, wc7d7 hlcoord 1, 16 - ld bc, $103 + lb bc, 1, 3 call PrintNum hlcoord 8, 0 ld [hl], $59 @@ -1541,7 +1541,7 @@ Function40b6a: ; 40b6a (10:4b6a) ld de, -20 add hl, de ld de, wd265 - ld bc, $8103 + lb bc, PRINTNUM_LEADINGZEROS | 1, 3 call PrintNum pop hl ret @@ -2360,7 +2360,7 @@ Function413f5: ; 413f5 (10:53f5) ret Function413fe: ; 413fe (10:53fe) - jp Functionfb8 + jp FillBoxWithByte Function41401: ; 41401 (10:5401) ld a, [rSVBK] ; $ff00+$70 diff --git a/engine/predef.asm b/engine/predef.asm index 9ee46bf47..47bc2528a 100644 --- a/engine/predef.asm +++ b/engine/predef.asm @@ -36,7 +36,7 @@ PredefPointers:: ; 856b add_predef FlagPredef add_predef Functionc699 add_predef FillPP - add_predef Functiond88c + add_predef TryAddMonToParty add_predef Functionda96 add_predef Functiondb3f ; $8 add_predef SentPkmnIntoBox diff --git a/engine/radio.asm b/engine/radio.asm index 3503ecc13..4ebd0e1e8 100644 --- a/engine/radio.asm +++ b/engine/radio.asm @@ -38,8 +38,8 @@ RadioJumptable: ; b863a (2e:463a) dw FernMonMusic1 ; $06 dw RocketRadio1 ; $07 dw PokeFluteRadio ; $08 - dw EvolutionRadio ; $09 - dw UnownRadio ; $0a + dw UnownRadio ; $09 + dw EvolutionRadio ; $0a ; OaksPkmnTalk dw OaksPkmnTalk2 ; $0b dw OaksPkmnTalk3 ; $0c @@ -49,10 +49,10 @@ RadioJumptable: ; b863a (2e:463a) dw OaksPkmnTalk7 ; $10 dw OaksPkmnTalk8 ; $11 dw OaksPkmnTalk9 ; $12 - dw OaksPkmnTalk10 ; $13 - dw OaksPkmnTalk11 ; $14 - dw OaksPkmnTalk12 ; $15 - dw OaksPkmnTalk13 ; $16 + dw PokedexShow2 ; $13 + dw PokedexShow3 ; $14 + dw PokedexShow4 ; $15 + dw PokedexShow5 ; $16 ; Ben Music dw BenMonMusic2 ; $17 dw BenMonMusic3 ; $18 @@ -76,12 +76,13 @@ RadioJumptable: ; b863a (2e:463a) dw LuckyNumberShow13 ; $29 dw LuckyNumberShow14 ; $2a dw LuckyNumberShow15 ; $2b - dw LuckyNumberShow16 ; $2c - dw LuckyNumberShow17 ; $2d - dw LuckyNumberShow18 ; $2e - dw LuckyNumberShow19 ; $2f - dw LuckyNumberShow20 ; $30 - dw LuckyNumberShow21 ; $31 +; People & Places + dw PeoplePlaces2 ; $2c + dw PeoplePlaces3 ; $2d + dw PeoplePlaces4 ; $2e + dw PeoplePlaces5 ; $2f + dw PeoplePlaces6 ; $30 + dw PeoplePlaces7 ; $31 ; Rocket Radio dw RocketRadio2 ; $32 dw RocketRadio3 ; $33 @@ -93,11 +94,11 @@ RadioJumptable: ; b863a (2e:463a) dw RocketRadio9 ; $39 dw RocketRadio10 ; $3a ; More Pokemon Channel stuff - dw OaksPkmnTalk14 ; $3b - dw OaksPkmnTalk15 ; $3c - dw OaksPkmnTalk16 ; $3d - dw OaksPkmnTalk17 ; $3e - dw OaksPkmnTalk18 ; $3f + dw OaksPkmnTalk10 ; $3b + dw OaksPkmnTalk11 ; $3c + dw OaksPkmnTalk12 ; $3d + dw OaksPkmnTalk13 ; $3e + dw OaksPkmnTalk14 ; $3f ; Buenas Password dw BuenasPassword2 ; $40 dw BuenasPassword3 ; $41 @@ -121,9 +122,9 @@ RadioJumptable: ; b863a (2e:463a) dw BuenasPassword21 ; $53 dw RadioScroll ; $54 ; More Pokemon Channel stuff - dw OaksPkmnTalk19 ; $55 - dw OaksPkmnTalk20 ; $56 - dw OaksPkmnTalk21 ; $57 + dw PokedexShow6 ; $55 + dw PokedexShow7 ; $56 + dw PokedexShow8 ; $57 PrintRadioLine: ; b86ea (2e:46ea) @@ -144,17 +145,17 @@ PrintRadioLine: ; b86ea (2e:46ea) .print call PrintTextBoxText .skip - ld a, $54 + ld a, RADIO_SCROLL ld [wd002], a - ld a, $64 + ld a, 100 ld [wd004], a ret ; b8718 (2e:4718) -Functionb8718: ; b8718 +ReplacePeriodsWithSpaces: ; b8718 push hl ld b, SCREEN_WIDTH * 2 -.greater_than_10 +.loop ld a, [hl] cp "." jr nz, .next @@ -163,7 +164,7 @@ Functionb8718: ; b8718 .next inc hl dec b - jr nz, .greater_than_10 + jr nz, .loop pop hl ret ; b8728 @@ -188,26 +189,27 @@ OaksPkmnTalk1: ; b8742 (2e:4742) ld [wd006], a call StartRadioStation ld hl, UnknownText_0xb8820 - ld a, $b + ld a, OAKS_POKEMON_TALK_2 jp NextRadioLine OaksPkmnTalk2: ; b8752 (2e:4752) ld hl, UnknownText_0xb8825 - ld a, $c + ld a, OAKS_POKEMON_TALK_3 jp NextRadioLine OaksPkmnTalk3: ; b875a (2e:475a) ld hl, UnknownText_0xb882a - ld a, $d + ld a, OAKS_POKEMON_TALK_4 jp NextRadioLine OaksPkmnTalk4: ; b8762 (2e:4762) -; Choose a random root, and a random Pokemon from that route. +; Choose a random route, and a random Pokemon from that route. call Random and $1f cp $f jr nc, OaksPkmnTalk4 - ld hl, Unknown_b87f2 + ; We now have a number between 0 and 14. + ld hl, .routes ld c, a ld b, 0 rept 2 @@ -216,14 +218,16 @@ endr ld b, [hl] inc hl ld c, [hl] + ; bc now contains the chosen map's group and number indices. push bc + ; Search the JohtoGrassWildMons array for the chosen map. ld hl, JohtoGrassWildMons -.greater_than_10 +.loop ld a, BANK(JohtoGrassWildMons) call GetFarByte cp -1 - jr z, .done2 + jr z, .overflow inc hl cp b jr nz, .next @@ -233,62 +237,64 @@ endr jr z, .done .next dec hl - ld de, $2f + ld de, WILDMON_GRASS_STRUCTURE_LENGTH add hl, de - jr .greater_than_10 + jr .loop .done rept 4 inc hl endr - -.both_bits_set + ; Generate a number, either 0, 1, or 2, to choose a time of day. +.loop2 call Random and 3 cp 3 - jr z, .both_bits_set + jr z, .loop2 - ld bc, $e + ld bc, 2 * NUM_WILDMONS_PER_AREA_TIME_OF_DAY call AddNTimes -.greater_than_102 +.loop3 + ; Choose one of the middle three Pokemon. call Random - and 7 + and NUM_WILDMONS_PER_AREA_TIME_OF_DAY cp 2 - jr c, .greater_than_102 + jr c, .loop3 cp 5 - jr nc, .greater_than_102 + jr nc, .loop3 ld e, a ld d, 0 rept 2 add hl, de endr - inc hl + inc hl ; skip level ld a, BANK(JohtoGrassWildMons) call GetFarByte - ld [wd265], a + ld [wNamedObjectIndexBuffer], a ld [CurPartySpecies], a call GetPokemonName ld hl, StringBuffer1 ld de, wd050 - ld bc, $b + 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 call GetWorldMapLocation ld e, a callba GetLandmarkName ld hl, UnknownText_0xb882f call CopyRadioTextToRAM - ld a, $e + ld a, OAKS_POKEMON_TALK_5 jp PrintRadioLine -.done2 +.overflow pop bc ld a, $0 jp PrintRadioLine ; b87f2 (2e:47f2) -Unknown_b87f2: ; b87f2 +.routes: ; b87f2 map ROUTE_29 map ROUTE_46 map ROUTE_30 @@ -308,12 +314,12 @@ Unknown_b87f2: ; b87f2 OaksPkmnTalk5: ; b8810 (2e:4810) ld hl, UnknownText_0xb8834 - ld a, $f + ld a, OAKS_POKEMON_TALK_6 jp NextRadioLine OaksPkmnTalk6: ; b8818 (2e:4818) ld hl, UnknownText_0xb8839 - ld a, $10 + ld a, OAKS_POKEMON_TALK_7 jp NextRadioLine ; b8820 (2e:4820) @@ -358,7 +364,7 @@ OaksPkmnTalk7: ; b883e (2e:483e) ld [wd265], a call GetPokemonName ld hl, UnknownText_0xb884f - ld a, $11 + ld a, OAKS_POKEMON_TALK_8 jp NextRadioLine ; b884f (2e:484f) @@ -373,127 +379,127 @@ OaksPkmnTalk8: ; b8854 (2e:4854) and $f ld e, a ld d, 0 - ld hl, Unknown_b8869 + ld hl, .Descriptors rept 2 add hl, de endr ld a, [hli] ld h, [hl] ld l, a - ld a, $12 + ld a, OAKS_POKEMON_TALK_9 jp NextRadioLine ; b8869 (2e:4869) -Unknown_b8869: ; b8869 - dw UnknownText_0xb8889 - dw UnknownText_0xb888e - dw UnknownText_0xb8893 - dw UnknownText_0xb8898 - dw UnknownText_0xb889d - dw UnknownText_0xb88a2 - dw UnknownText_0xb88a7 - dw UnknownText_0xb88ac - dw UnknownText_0xb88b1 - dw UnknownText_0xb88b6 - dw UnknownText_0xb88bb - dw UnknownText_0xb88c0 - dw UnknownText_0xb88c5 - dw UnknownText_0xb88ca - dw UnknownText_0xb88cf - dw UnknownText_0xb88d4 +.Descriptors: ; b8869 + dw .sweetadorably + dw .wigglyslickly + dw .aptlynamed + dw .undeniablykindof + dw .unbearably + dw .wowimpressively + dw .almostpoisonously + dw .sensually + dw .mischievously + dw .topically + dw .addictively + dw .looksinwater + dw .evolutionmustbe + dw .provocatively + dw .flippedout + dw .heartmeltingly ; b8889 -UnknownText_0xb8889: ; 0xb8889 +.sweetadorably: ; 0xb8889 ; sweet and adorably text_jump UnknownText_0x1bc885 db "@" ; 0xb888e -UnknownText_0xb888e: ; 0xb888e +.wigglyslickly: ; 0xb888e ; wiggly and slickly text_jump UnknownText_0x1bc89a db "@" ; 0xb8893 -UnknownText_0xb8893: ; 0xb8893 +.aptlynamed: ; 0xb8893 ; aptly named and text_jump UnknownText_0x1bc8af db "@" ; 0xb8898 -UnknownText_0xb8898: ; 0xb8898 +.undeniablykindof: ; 0xb8898 ; undeniably kind of text_jump UnknownText_0x1bc8c1 db "@" ; 0xb889d -UnknownText_0xb889d: ; 0xb889d +.unbearably: ; 0xb889d ; so, so unbearably text_jump UnknownText_0x1bc8d6 db "@" ; 0xb88a2 -UnknownText_0xb88a2: ; 0xb88a2 +.wowimpressively: ; 0xb88a2 ; wow, impressively text_jump UnknownText_0x1bc8ea db "@" ; 0xb88a7 -UnknownText_0xb88a7: ; 0xb88a7 +.almostpoisonously: ; 0xb88a7 ; almost poisonously text_jump UnknownText_0x1bc8fe db "@" ; 0xb88ac -UnknownText_0xb88ac: ; 0xb88ac +.sensually: ; 0xb88ac ; ooh, so sensually text_jump UnknownText_0x1bc913 db "@" ; 0xb88b1 -UnknownText_0xb88b1: ; 0xb88b1 +.mischievously: ; 0xb88b1 ; so mischievously text_jump UnknownText_0x1bc927 db "@" ; 0xb88b6 -UnknownText_0xb88b6: ; 0xb88b6 +.topically: ; 0xb88b6 ; so very topically text_jump UnknownText_0x1bc93a db "@" ; 0xb88bb -UnknownText_0xb88bb: ; 0xb88bb +.addictively: ; 0xb88bb ; sure addictively text_jump UnknownText_0x1bc94e db "@" ; 0xb88c0 -UnknownText_0xb88c0: ; 0xb88c0 +.looksinwater: ; 0xb88c0 ; looks in water is text_jump UnknownText_0x1bc961 db "@" ; 0xb88c5 -UnknownText_0xb88c5: ; 0xb88c5 +.evolutionmustbe: ; 0xb88c5 ; evolution must be text_jump UnknownText_0x1bc975 db "@" ; 0xb88ca -UnknownText_0xb88ca: ; 0xb88ca +.provocatively: ; 0xb88ca ; provocatively text_jump UnknownText_0x1bc989 db "@" ; 0xb88cf -UnknownText_0xb88cf: ; 0xb88cf +.flippedout: ; 0xb88cf ; so flipped out and text_jump UnknownText_0x1bc999 db "@" ; 0xb88d4 -UnknownText_0xb88d4: ; 0xb88d4 +.heartmeltingly: ; 0xb88d4 ; heart-meltingly text_jump UnknownText_0x1bc9ae db "@" @@ -504,7 +510,7 @@ OaksPkmnTalk9: ; b88d9 (2e:48d9) and $f ld e, a ld d, 0 - ld hl, Unknown_b88fe + ld hl, .Descriptors rept 2 add hl, de endr @@ -514,140 +520,140 @@ endr ld a, [wd006] dec a ld [wd006], a - ld a, $d - jr nz, .nope + ld a, OAKS_POKEMON_TALK_4 + jr nz, .ok ld a, $5 ld [wd006], a - ld a, $3b -.nope + ld a, OAKS_POKEMON_TALK_10 +.ok jp NextRadioLine ; b88fe (2e:48fe) -Unknown_b88fe: ; b88fe - dw UnknownText_0xb891e - dw UnknownText_0xb8923 - dw UnknownText_0xb8928 - dw UnknownText_0xb892d - dw UnknownText_0xb8932 - dw UnknownText_0xb8937 - dw UnknownText_0xb893c - dw UnknownText_0xb8941 - dw UnknownText_0xb8946 - dw UnknownText_0xb894b - dw UnknownText_0xb8950 - dw UnknownText_0xb8955 - dw UnknownText_0xb895a - dw UnknownText_0xb895f - dw UnknownText_0xb8964 - dw UnknownText_0xb8969 +.Descriptors: ; b88fe + dw .cute + dw .weird + dw .pleasant + dw .boldsortof + dw .frightening + dw .suavedebonair + dw .powerful + dw .exciting + dw .groovy + dw .inspiring + dw .friendly + dw .hothothot + dw .stimulating + dw .guarded + dw .lovely + dw .speedy ; b891e -UnknownText_0xb891e: ; 0xb891e +.cute: ; 0xb891e ; cute. text_jump UnknownText_0x1bc9c0 db "@" ; 0xb8923 -UnknownText_0xb8923: ; 0xb8923 +.weird: ; 0xb8923 ; weird. text_jump UnknownText_0x1bc9c8 db "@" ; 0xb8928 -UnknownText_0xb8928: ; 0xb8928 +.pleasant: ; 0xb8928 ; pleasant. text_jump UnknownText_0x1bc9d1 db "@" ; 0xb892d -UnknownText_0xb892d: ; 0xb892d +.boldsortof: ; 0xb892d ; bold, sort of. text_jump UnknownText_0x1bc9dd db "@" ; 0xb8932 -UnknownText_0xb8932: ; 0xb8932 +.frightening: ; 0xb8932 ; frightening. text_jump UnknownText_0x1bc9ee db "@" ; 0xb8937 -UnknownText_0xb8937: ; 0xb8937 +.suavedebonair: ; 0xb8937 ; suave & debonair! text_jump UnknownText_0x1bc9fd db "@" ; 0xb893c -UnknownText_0xb893c: ; 0xb893c +.powerful: ; 0xb893c ; powerful. text_jump UnknownText_0x1bca11 db "@" ; 0xb8941 -UnknownText_0xb8941: ; 0xb8941 +.exciting: ; 0xb8941 ; exciting. text_jump UnknownText_0x1bca1d db "@" ; 0xb8946 -UnknownText_0xb8946: ; 0xb8946 +.groovy: ; 0xb8946 ; groovy! text_jump UnknownText_0x1bca29 db "@" ; 0xb894b -UnknownText_0xb894b: ; 0xb894b +.inspiring: ; 0xb894b ; inspiring. text_jump UnknownText_0x1bca33 db "@" ; 0xb8950 -UnknownText_0xb8950: ; 0xb8950 +.friendly: ; 0xb8950 ; friendly. text_jump UnknownText_0x1bca40 db "@" ; 0xb8955 -UnknownText_0xb8955: ; 0xb8955 +.hothothot: ; 0xb8955 ; hot, hot, hot! text_jump UnknownText_0x1bca4c db "@" ; 0xb895a -UnknownText_0xb895a: ; 0xb895a +.stimulating: ; 0xb895a ; stimulating. text_jump UnknownText_0x1bca5d db "@" ; 0xb895f -UnknownText_0xb895f: ; 0xb895f +.guarded: ; 0xb895f ; guarded. text_jump UnknownText_0x1bca6c db "@" ; 0xb8964 -UnknownText_0xb8964: ; 0xb8964 +.lovely: ; 0xb8964 ; lovely. text_jump UnknownText_0x1bca77 db "@" ; 0xb8969 -UnknownText_0xb8969: ; 0xb8969 +.speedy: ; 0xb8969 ; speedy. text_jump UnknownText_0x1bca81 db "@" ; 0xb896e -OaksPkmnTalk14: ; b896e (2e:496e) - callba Function91868 +OaksPkmnTalk10: ; b896e (2e:496e) + callba RadioMusicRestartPokemonChannel ld hl, UnknownText_0xb8993 call PrintText call WaitBGMap ld hl, UnknownText_0xb898e call PrintText - ld a, $3c + ld a, OAKS_POKEMON_TALK_11 ld [wd002], a - ld a, $64 + ld a, 100 ld [wd004], a ret ; b898e (2e:498e) @@ -662,74 +668,74 @@ UnknownText_0xb8993: ; 0xb8993 db "@" ; 0xb8994 -OaksPkmnTalk15: ; b8994 (2e:4994) +OaksPkmnTalk11: ; b8994 (2e:4994) ld hl, wd004 dec [hl] ret nz hlcoord 9, 14 - ld de, String_b89a4 - ld a, $3d - jp Functionb8a00 + ld de, .pokemon_string + ld a, OAKS_POKEMON_TALK_12 + jp PlaceRadioString ; b89a4 (2e:49a4) -String_b89a4: +.pokemon_string: db "#MON@" ; b89a9 -OaksPkmnTalk16: ; b89a9 (2e:49a9) +OaksPkmnTalk12: ; b89a9 (2e:49a9) ld hl, wd004 dec [hl] ret nz hlcoord 1, 16 - ld de, String_b89b9 - ld a, $3e - jp Functionb8a00 + ld de, .pokemon_channel_string + ld a, OAKS_POKEMON_TALK_13 + jp PlaceRadioString ; b89b9 (2e:49b9) -String_b89b9: +.pokemon_channel_string: db "#MON Channel@" ; b89c6 -OaksPkmnTalk17: ; b89c6 (2e:49c6) +OaksPkmnTalk13: ; b89c6 (2e:49c6) ld hl, wd004 dec [hl] ret nz hlcoord 12, 16 - ld de, String_b89d6 - ld a, $3f - jp Functionb8a00 + ld de, .terminator + ld a, OAKS_POKEMON_TALK_14 + jp PlaceRadioString ; b89d6 (2e:49d6) -String_b89d6: +.terminator: db "@" ; b89d7 -OaksPkmnTalk18: ; b89d7 (2e:49d7) +OaksPkmnTalk14: ; b89d7 (2e:49d7) ld hl, wd004 dec [hl] ret nz ld de, $1d - callab RadioMusicNone - ld hl, UnknownText_0xb89ff + callab RadioMusicRestartDE + ld hl, .terminator call PrintText - ld a, $d + ld a, OAKS_POKEMON_TALK_4 ld [wd003], a xor a ld [wd005], a - ld a, $54 + ld a, RADIO_SCROLL ld [wd002], a - ld a, $a + ld a, 10 ld [wd004], a ret ; b89ff (2e:49ff) -UnknownText_0xb89ff: ; 0xb89ff +.terminator: ; 0xb89ff db "@" ; 0xb8a00 -Functionb8a00: ; b8a00 (2e:4a00) +PlaceRadioString: ; b8a00 (2e:4a00) ld [wd002], a - ld a, $64 + ld a, 100 ld [wd004], a jp PlaceString @@ -749,7 +755,7 @@ ClearBottomLine: ; b8a17 (2e:4a17) ld a, " " jp ByteFill -Functionb8a2d: ; b8a2d (2e:4a2d) +PokedexShow_GetDexEntryBank: ; b8a2d (2e:4a2d) push hl push de ld a, [CurPartySpecies] @@ -776,26 +782,26 @@ Functionb8a2d: ; b8a2d (2e:4a2d) PokedexShow1: ; b8a46 (2e:4a46) call StartRadioStation -.asm_b8a49 +.loop call Random cp CELEBI - jr nc, .asm_b8a49 + jr nc, .loop ld c, a push bc ld a, c call CheckCaughtMon pop bc - jr z, .asm_b8a49 + jr z, .loop inc c ld a, c ld [CurPartySpecies], a ld [wd265], a call GetPokemonName ld hl, UnknownText_0xb8b30 - ld a, $13 + ld a, POKEDEX_SHOW_2 jp NextRadioLine -OaksPkmnTalk10: ; b8a6c (2e:4a6c) +PokedexShow2: ; b8a6c (2e:4a6c) ld a, [CurPartySpecies] dec a ld hl, PokedexDataPointerTable @@ -806,17 +812,17 @@ rept 2 endr ld a, BANK(PokedexDataPointerTable) call GetFarHalfword - call Functionb8a2d + call PokedexShow_GetDexEntryBank push af push hl - call Functionb8af3 + call CopyDexEntryPart1 dec hl ld [hl], $57 ld hl, wd26b call CopyRadioTextToRAM pop hl pop af - call Functionb8b11 + call CopyDexEntryPart2 rept 4 inc hl endr @@ -824,40 +830,40 @@ endr ld [wd26b], a ld a, h ld [wd26c], a - ld a, $14 + ld a, POKEDEX_SHOW_3 jp PrintRadioLine -OaksPkmnTalk11: ; b8aa4 (2e:4aa4) - call Functionb8ad4 - ld a, $15 +PokedexShow3: ; b8aa4 (2e:4aa4) + call CopyDexEntry + ld a, POKEDEX_SHOW_4 jp PrintRadioLine -OaksPkmnTalk12: ; b8aac (2e:4aac) - call Functionb8ad4 - ld a, $16 +PokedexShow4: ; b8aac (2e:4aac) + call CopyDexEntry + ld a, POKEDEX_SHOW_5 jp PrintRadioLine -OaksPkmnTalk13: ; b8ab4 (2e:4ab4) - call Functionb8ad4 - ld a, $55 +PokedexShow5: ; b8ab4 (2e:4ab4) + call CopyDexEntry + ld a, POKEDEX_SHOW_6 jp PrintRadioLine -OaksPkmnTalk19: ; b8abc (2e:4abc) - call Functionb8ad4 - ld a, $56 +PokedexShow6: ; b8abc (2e:4abc) + call CopyDexEntry + ld a, POKEDEX_SHOW_7 jp PrintRadioLine -OaksPkmnTalk20: ; b8ac4 (2e:4ac4) - call Functionb8ad4 - ld a, $57 +PokedexShow7: ; b8ac4 (2e:4ac4) + call CopyDexEntry + ld a, POKEDEX_SHOW_8 jp PrintRadioLine -OaksPkmnTalk21: ; b8acc (2e:4acc) - call Functionb8ad4 - ld a, $1 +PokedexShow8: ; b8acc (2e:4acc) + call CopyDexEntry + ld a, POKEDEX_SHOW jp PrintRadioLine -Functionb8ad4: ; b8ad4 (2e:4ad4) +CopyDexEntry: ; b8ad4 (2e:4ad4) ld a, [wd26b] ld l, a ld a, [wd26c] @@ -865,48 +871,48 @@ Functionb8ad4: ; b8ad4 (2e:4ad4) ld a, [wd26d] push af push hl - call Functionb8af3 + call CopyDexEntryPart1 dec hl - ld [hl], $57 + ld [hl], "<DONE>" ld hl, wd26b call CopyRadioTextToRAM pop hl pop af - call Functionb8b11 + call CopyDexEntryPart2 ret -Functionb8af3: ; b8af3 (2e:4af3) +CopyDexEntryPart1: ; b8af3 (2e:4af3) ld de, wd26d - ld bc, $13 + ld bc, SCREEN_WIDTH - 1 call FarCopyBytes ld hl, wd26b - ld [hl], $0 + ld [hl], "<START>" inc hl - ld [hl], $4f + ld [hl], "<LINE>" inc hl -.asm_b8b05 +.loop ld a, [hli] - cp $50 + cp "@" ret z - cp $4e + cp "<NEXT>" ret z - cp $5f + cp "<DEXEND>" ret z - jr .asm_b8b05 + jr .loop -Functionb8b11: ; b8b11 (2e:4b11) +CopyDexEntryPart2: ; b8b11 (2e:4b11) ld d, a -.asm_b8b12 +.loop ld a, d call GetFarByte inc hl - cp $50 - jr z, .asm_b8b23 - cp $4e - jr z, .asm_b8b23 - cp $5f - jr nz, .asm_b8b12 -.asm_b8b23 + cp "@" + jr z, .okay + cp "<NEXT>" + jr z, .okay + cp "<DEXEND>" + jr nz, .loop +.okay ld a, l ld [wd26b], a ld a, h @@ -923,70 +929,70 @@ UnknownText_0xb8b30: ; 0xb8b30 ; 0xb8b35 BenMonMusic1: ; b8b35 (2e:4b35) - call Functionb8b90 + call StartPokemonMusicChannel ld hl, UnknownText_0xb8baa - ld a, $17 + ld a, POKEMON_MUSIC_2 jp NextRadioLine BenMonMusic2: ; b8b40 (2e:4b40) ld hl, UnknownText_0xb8baf - ld a, $18 + ld a, POKEMON_MUSIC_3 jp NextRadioLine BenMonMusic3: ; b8b48 (2e:4b48) ld hl, UnknownText_0xb8bb4 - ld a, $19 + ld a, POKEMON_MUSIC_4 jp NextRadioLine FernMonMusic1: ; b8b50 (2e:4b50) - call Functionb8b90 + call StartPokemonMusicChannel ld hl, UnknownText_0xb8bb9 - ld a, $1d + ld a, LETS_ALL_SING_2 jp NextRadioLine FernMonMusic2: ; b8b5b (2e:4b5b) ld hl, UnknownText_0xb8bbe - ld a, $19 + ld a, POKEMON_MUSIC_4 jp NextRadioLine BenFernMusic4: ; b8b63 (2e:4b63) ld hl, UnknownText_0xb8bc3 - ld a, $1a + ld a, POKEMON_MUSIC_5 jp NextRadioLine BenFernMusic5: ; b8b6b (2e:4b6b) call GetWeekday and 1 ld hl, UnknownText_0xb8bc8 - jr z, .asm_b8b78 + jr z, .SunTueThurSun ld hl, UnknownText_0xb8bcd -.asm_b8b78 - ld a, $1b +.SunTueThurSun + ld a, POKEMON_MUSIC_6 jp NextRadioLine BenFernMusic6: ; b8b7d (2e:4b7d) call GetWeekday and 1 ld hl, UnknownText_0xb8bd2 - jr z, .asm_b8b8a + jr z, .SunTueThurSun ld hl, UnknownText_0xb8bd7 -.asm_b8b8a - ld a, $1c +.SunTueThurSun + ld a, POKEMON_MUSIC_7 jp NextRadioLine BenFernMusic7: ; b8b8f (2e:4b8f) ret -Functionb8b90: ; b8b90 (2e:4b90) +StartPokemonMusicChannel: ; b8b90 (2e:4b90) call RadioTerminator call PrintText ld de, MUSIC_POKEMON_MARCH call GetWeekday and 1 - jr z, .done + jr z, .SunTueThurSun ld de, MUSIC_POKEMON_LULLABY -.done - callab RadioMusicNone +.SunTueThurSun + callab RadioMusicRestartDE ret ; b8baa (2e:4baa) @@ -1052,93 +1058,93 @@ UnknownText_0xb8bd7: ; 0xb8bd7 LuckyNumberShow1: ; b8bdc (2e:4bdc) call StartRadioStation - callab Functionc434 - jr nc, .asm_b8bed - callab Functionc422 -.asm_b8bed + callab Special_CheckLuckyNumberShowFlag + jr nc, .dontreset + callab Special_ResetLuckyNumberShowFlag +.dontreset ld hl, UnknownText_0xb8c7e - ld a, $1e + ld a, LUCKY_NUMBER_SHOW_2 jp NextRadioLine LuckyNumberShow2: ; b8bf5 (2e:4bf5) ld hl, UnknownText_0xb8c83 - ld a, $1f + ld a, LUCKY_NUMBER_SHOW_3 jp NextRadioLine LuckyNumberShow3: ; b8bfd (2e:4bfd) ld hl, UnknownText_0xb8c88 - ld a, $20 + ld a, LUCKY_NUMBER_SHOW_4 jp NextRadioLine LuckyNumberShow4: ; b8c05 (2e:4c05) ld hl, UnknownText_0xb8c8d - ld a, $21 + ld a, LUCKY_NUMBER_SHOW_5 jp NextRadioLine LuckyNumberShow5: ; b8c0d (2e:4c0d) ld hl, UnknownText_0xb8c92 - ld a, $22 + ld a, LUCKY_NUMBER_SHOW_6 jp NextRadioLine LuckyNumberShow6: ; b8c15 (2e:4c15) ld hl, UnknownText_0xb8c97 - ld a, $23 + ld a, LUCKY_NUMBER_SHOW_7 jp NextRadioLine LuckyNumberShow7: ; b8c1d (2e:4c1d) ld hl, UnknownText_0xb8c9c - ld a, $24 + ld a, LUCKY_NUMBER_SHOW_8 jp NextRadioLine LuckyNumberShow8: ; b8c25 (2e:4c25) ld hl, StringBuffer1 - ld de, wdc9f - ld bc, $8205 + ld de, wLuckyIDNumber + lb bc, PRINTNUM_LEADINGZEROS | 2, 5 call PrintNum - ld a, $50 + ld a, "@" ld [StringBuffer1 + 5], a ld hl, UnknownText_0xb8ca1 - ld a, $25 + ld a, LUCKY_NUMBER_SHOW_9 jp NextRadioLine LuckyNumberShow9: ; b8c3e (2e:4c3e) ld hl, UnknownText_0xb8ca6 - ld a, $26 + ld a, LUCKY_NUMBER_SHOW_10 jp NextRadioLine LuckyNumberShow10: ; b8c46 (2e:4c46) ld hl, UnknownText_0xb8c9c - ld a, $27 + ld a, LUCKY_NUMBER_SHOW_11 jp NextRadioLine LuckyNumberShow11: ; b8c4e (2e:4c4e) ld hl, UnknownText_0xb8ca1 - ld a, $28 + ld a, LUCKY_NUMBER_SHOW_12 jp NextRadioLine LuckyNumberShow12: ; b8c56 (2e:4c56) ld hl, UnknownText_0xb8cab - ld a, $29 + ld a, LUCKY_NUMBER_SHOW_13 jp NextRadioLine LuckyNumberShow13: ; b8c5e (2e:4c5e) ld hl, UnknownText_0xb8cb0 call Random and a - ld a, $3 - jr nz, .asm_b8c6b - ld a, $2a -.asm_b8c6b + ld a, LUCKY_CHANNEL + jr nz, .okay + ld a, LUCKY_NUMBER_SHOW_14 +.okay jp NextRadioLine LuckyNumberShow14: ; b8c6e (2e:4c6e) ld hl, UnknownText_0xb8cb5 - ld a, $2b + ld a, LUCKY_NUMBER_SHOW_15 jp NextRadioLine LuckyNumberShow15: ; b8c76 (2e:4c76) ld hl, UnknownText_0xb8cba - ld a, $3 + ld a, LUCKY_CHANNEL jp NextRadioLine ; b8c7e (2e:4c7e) @@ -1223,22 +1229,22 @@ UnknownText_0xb8cba: ; 0xb8cba PeoplePlaces1: ; b8cbf (2e:4cbf) call StartRadioStation ld hl, UnknownText_0xb8ce3 - ld a, $2c + ld a, PLACES_AND_PEOPLE_2 jp NextRadioLine -LuckyNumberShow16: ; b8cca (2e:4cca) +PeoplePlaces2: ; b8cca (2e:4cca) ld hl, UnknownText_0xb8ce8 - ld a, $2d + ld a, PLACES_AND_PEOPLE_3 jp NextRadioLine -LuckyNumberShow17: ; b8cd2 (2e:4cd2) +PeoplePlaces3: ; b8cd2 (2e:4cd2) ld hl, UnknownText_0xb8ced call Random - cp $7b - ld a, $2e - jr c, .asm_b8ce0 - ld a, $30 -.asm_b8ce0 + cp $7b ; 48 percent + ld a, PLACES_AND_PEOPLE_4 ; People + jr c, .ok + ld a, PLACES_AND_PEOPLE_6 ; Places +.ok jp NextRadioLine ; b8ce3 (2e:4ce3) @@ -1260,46 +1266,46 @@ UnknownText_0xb8ced: ; 0xb8ced db "@" ; 0xb8cf2 -LuckyNumberShow18: ; b8cf2 (2e:4cf2) +PeoplePlaces4: ; People call Random - and " " + and $7f inc a - cp $43 - jr nc, LuckyNumberShow18 + cp NUM_TRAINER_CLASSES - 1 + jr nc, PeoplePlaces4 push af - ld hl, Unknown_b8d3e + ld hl, .E4Names ld a, [StatusFlags] - bit 6, a - jr z, .NotMet - ld hl, Unknown_b8d43 + bit 6, a ; ENGINE_CREDITS_SKIP + jr z, .ok + ld hl, .KantoLeaderNames ld a, [KantoBadges] cp %11111111 - jr nz, .NotMet - ld hl, Unknown_b8d4b -.NotMet + jr nz, .ok + ld hl, .MiscNames +.ok pop af ld c, a - ld de, $1 + ld de, 1 push bc call IsInArray pop bc - jr c, LuckyNumberShow18 + jr c, PeoplePlaces4 push bc callab GetTrainerClassName ld de, StringBuffer1 call CopyName1 pop bc - ld b, $1 + ld b, 1 callab GetTrainerName ld hl, UnknownText_0xb8d51 - ld a, $2f + ld a, PLACES_AND_PEOPLE_5 jp NextRadioLine ; b8d3e (2e:4d3e) -Unknown_b8d3e: db $0b, $0d, $0e, $0f, $10 -Unknown_b8d43: db $11, $12, $13, $15, $1a, $23, $2e, $40 -Unknown_b8d4b: db $09, $0a, $0c, $2a, $3f - db $ff +.E4Names: db WILL, BRUNO, KAREN, KOGA, CHAMPION ; $0b, $0d, $0e, $0f, $10 +.KantoLeaderNames: db BROCK, MISTY, LT_SURGE, ERIKA, JANINE, SABRINA, BLAINE, BLUE ; $11, $12, $13, $15, $1a, $23, $2e, $40 +.MiscNames: db RIVAL1, POKEMON_PROF, CAL, RIVAL2, RED ; $09, $0a, $0c, $2a, $3f + db -1 ; b8d51 UnknownText_0xb8d51: ; 0xb8d51 @@ -1308,12 +1314,12 @@ UnknownText_0xb8d51: ; 0xb8d51 db "@" ; 0xb8d56 -LuckyNumberShow19: ; b8d56 (2e:4d56) +PeoplePlaces5: ; b8d56 (2e:4d56) call Random and $f ld e, a ld d, 0 - ld hl, Unknown_b8d7d + ld hl, .Descriptors rept 2 add hl, de endr @@ -1321,138 +1327,138 @@ endr ld h, [hl] ld l, a call Random - cp $a - ld a, $5 - jr c, .asm_b8d7a + cp $a ; 6.25 percent + ld a, PLACES_AND_PEOPLE + jr c, .ok call Random - cp $7b - ld a, $2e - jr c, .asm_b8d7a - ld a, $30 -.asm_b8d7a + cp $7b ; 48 percent + ld a, PLACES_AND_PEOPLE_4 ; People + jr c, .ok + ld a, PLACES_AND_PEOPLE_6 ; Places +.ok jp NextRadioLine ; b8d7d (2e:4d7d) -Unknown_b8d7d: ; b8d7d - dw UnknownText_0xb8d9d - dw UnknownText_0xb8da2 - dw UnknownText_0xb8da7 - dw UnknownText_0xb8dac - dw UnknownText_0xb8db1 - dw UnknownText_0xb8db6 - dw UnknownText_0xb8dbb - dw UnknownText_0xb8dc0 - dw UnknownText_0xb8dc5 - dw UnknownText_0xb8dca - dw UnknownText_0xb8dcf - dw UnknownText_0xb8dd4 - dw UnknownText_0xb8dd9 - dw UnknownText_0xb8dde - dw UnknownText_0xb8de3 - dw UnknownText_0xb8de8 +.Descriptors: ; b8d7d + dw PnP_cute + dw PnP_lazy + dw PnP_happy + dw PnP_noisy + dw PnP_precocious + dw PnP_bold + dw PnP_picky + dw PnP_sortofok + dw PnP_justsoso + dw PnP_actuallygreat + dw PnP_justmytype + dw PnP_socool + dw PnP_inspiring + dw PnP_weird + dw PnP_rightforme + dw PnP_odd ; b8d9d -UnknownText_0xb8d9d: ; 0xb8d9d +PnP_cute: ; 0xb8d9d ; is cute. text_jump UnknownText_0x1bcc80 db "@" ; 0xb8da2 -UnknownText_0xb8da2: ; 0xb8da2 +PnP_lazy: ; 0xb8da2 ; is sort of lazy. text_jump UnknownText_0x1bcc8b db "@" ; 0xb8da7 -UnknownText_0xb8da7: ; 0xb8da7 +PnP_happy: ; 0xb8da7 ; is always happy. text_jump UnknownText_0x1bcc9e db "@" ; 0xb8dac -UnknownText_0xb8dac: ; 0xb8dac +PnP_noisy: ; 0xb8dac ; is quite noisy. text_jump UnknownText_0x1bccb1 db "@" ; 0xb8db1 -UnknownText_0xb8db1: ; 0xb8db1 +PnP_precocious: ; 0xb8db1 ; is precocious. text_jump UnknownText_0x1bccc3 db "@" ; 0xb8db6 -UnknownText_0xb8db6: ; 0xb8db6 +PnP_bold: ; 0xb8db6 ; is somewhat bold. text_jump UnknownText_0x1bccd4 db "@" ; 0xb8dbb -UnknownText_0xb8dbb: ; 0xb8dbb +PnP_picky: ; 0xb8dbb ; is too picky! text_jump UnknownText_0x1bcce8 db "@" ; 0xb8dc0 -UnknownText_0xb8dc0: ; 0xb8dc0 +PnP_sortofok: ; 0xb8dc0 ; is sort of OK. text_jump UnknownText_0x1bccf8 db "@" ; 0xb8dc5 -UnknownText_0xb8dc5: ; 0xb8dc5 +PnP_justsoso: ; 0xb8dc5 ; is just so-so. text_jump UnknownText_0x1bcd09 db "@" ; 0xb8dca -UnknownText_0xb8dca: ; 0xb8dca +PnP_actuallygreat: ; 0xb8dca ; is actually great. text_jump UnknownText_0x1bcd1a db "@" ; 0xb8dcf -UnknownText_0xb8dcf: ; 0xb8dcf +PnP_justmytype: ; 0xb8dcf ; is just my type. text_jump UnknownText_0x1bcd2f db "@" ; 0xb8dd4 -UnknownText_0xb8dd4: ; 0xb8dd4 +PnP_socool: ; 0xb8dd4 ; is so cool, no? text_jump UnknownText_0x1bcd42 db "@" ; 0xb8dd9 -UnknownText_0xb8dd9: ; 0xb8dd9 +PnP_inspiring: ; 0xb8dd9 ; is inspiring! text_jump UnknownText_0x1bcd54 db "@" ; 0xb8dde -UnknownText_0xb8dde: ; 0xb8dde +PnP_weird: ; 0xb8dde ; is kind of weird. text_jump UnknownText_0x1bcd64 db "@" ; 0xb8de3 -UnknownText_0xb8de3: ; 0xb8de3 +PnP_rightforme: ; 0xb8de3 ; is right for me? text_jump UnknownText_0x1bcd78 db "@" ; 0xb8de8 -UnknownText_0xb8de8: ; 0xb8de8 +PnP_odd: ; 0xb8de8 ; is definitely odd! text_jump UnknownText_0x1bcd8b db "@" ; 0xb8ded -LuckyNumberShow20: ; b8ded (2e:4ded) +PeoplePlaces6: ; Places call Random - cp $9 - jr nc, LuckyNumberShow20 - ld hl, Unknown_b8e11 + cp 9 + jr nc, PeoplePlaces6 + ld hl, .Maps ld c, a ld b, 0 rept 2 @@ -1465,11 +1471,11 @@ endr ld e, a callba GetLandmarkName ld hl, UnknownText_0xb8e23 - ld a, $31 + ld a, PLACES_AND_PEOPLE_7 jp NextRadioLine ; b8e11 (2e:4e11) -Unknown_b8e11: ; b8e11 +.Maps: ; b8e11 map PALLET_TOWN map ROUTE_22 map PEWTER_CITY @@ -1487,12 +1493,12 @@ UnknownText_0xb8e23: ; 0xb8e23 db "@" ; 0xb8e28 -LuckyNumberShow21: ; b8e28 (2e:4e28) +PeoplePlaces7: ; b8e28 (2e:4e28) call Random and $f ld e, a ld d, 0 - ld hl, Unknown_b8e52 + ld hl, .Descriptors rept 2 add hl, de endr @@ -1501,86 +1507,86 @@ endr ld l, a call CopyRadioTextToRAM call Random - cp $a - ld a, $5 - jr c, .asm_b8e4f + cp $a ; 6.25 percent + ld a, PLACES_AND_PEOPLE + jr c, .ok call Random - cp $7b - ld a, $2e - jr c, .asm_b8e4f - ld a, $30 -.asm_b8e4f + cp $7b ; 48 percent + ld a, PLACES_AND_PEOPLE_4 ; People + jr c, .ok + ld a, PLACES_AND_PEOPLE_6 ; Places +.ok jp PrintRadioLine ; b8e52 (2e:4e52) -Unknown_b8e52: ; b8e52 - dw UnknownText_0xb8d9d - dw UnknownText_0xb8da2 - dw UnknownText_0xb8da7 - dw UnknownText_0xb8dac - dw UnknownText_0xb8db1 - dw UnknownText_0xb8db6 - dw UnknownText_0xb8dbb - dw UnknownText_0xb8dc0 - dw UnknownText_0xb8dc5 - dw UnknownText_0xb8dca - dw UnknownText_0xb8dcf - dw UnknownText_0xb8dd4 - dw UnknownText_0xb8dd9 - dw UnknownText_0xb8dde - dw UnknownText_0xb8de3 - dw UnknownText_0xb8de8 +.Descriptors: ; b8e52 + dw PnP_cute + dw PnP_lazy + dw PnP_happy + dw PnP_noisy + dw PnP_precocious + dw PnP_bold + dw PnP_picky + dw PnP_sortofok + dw PnP_justsoso + dw PnP_actuallygreat + dw PnP_justmytype + dw PnP_socool + dw PnP_inspiring + dw PnP_weird + dw PnP_rightforme + dw PnP_odd ; b8e72 RocketRadio1: ; b8e72 (2e:4e72) call StartRadioStation ld hl, UnknownText_0xb8ec5 - ld a, $32 + ld a, ROCKET_RADIO_2 jp NextRadioLine RocketRadio2: ; b8e7d (2e:4e7d) ld hl, UnknownText_0xb8eca - ld a, $33 + ld a, ROCKET_RADIO_3 jp NextRadioLine RocketRadio3: ; b8e85 (2e:4e85) ld hl, UnknownText_0xb8ecf - ld a, $34 + ld a, ROCKET_RADIO_4 jp NextRadioLine RocketRadio4: ; b8e8d (2e:4e8d) ld hl, UnknownText_0xb8ed4 - ld a, $35 + ld a, ROCKET_RADIO_5 jp NextRadioLine RocketRadio5: ; b8e95 (2e:4e95) ld hl, UnknownText_0xb8ed9 - ld a, $36 + ld a, ROCKET_RADIO_6 jp NextRadioLine RocketRadio6: ; b8e9d (2e:4e9d) ld hl, UnknownText_0xb8ede - ld a, $37 + ld a, ROCKET_RADIO_7 jp NextRadioLine RocketRadio7: ; b8ea5 (2e:4ea5) ld hl, UnknownText_0xb8ee3 - ld a, $38 + ld a, ROCKET_RADIO_8 jp NextRadioLine RocketRadio8: ; b8ead (2e:4ead) ld hl, UnknownText_0xb8ee8 - ld a, $39 + ld a, ROCKET_RADIO_9 jp NextRadioLine RocketRadio9: ; b8eb5 (2e:4eb5) ld hl, UnknownText_0xb8eed - ld a, $3a + ld a, ROCKET_RADIO_10 jp NextRadioLine RocketRadio10: ; b8ebd (2e:4ebd) ld hl, UnknownText_0xb8ef2 - ld a, $7 + ld a, ROCKET_RADIO jp NextRadioLine ; b8ec5 (2e:4ec5) @@ -1646,32 +1652,32 @@ UnknownText_0xb8ef2: ; 0xb8ef2 PokeFluteRadio: ; b8ef7 (2e:4ef7) call StartRadioStation - ld a, $1 + ld a, 1 ld [wd005], a ret -EvolutionRadio: ; b8f00 (2e:4f00) +UnownRadio: ; b8f00 (2e:4f00) call StartRadioStation - ld a, $1 + ld a, 1 ld [wd005], a ret -UnownRadio: ; b8f09 (2e:4f09) +EvolutionRadio: ; b8f09 (2e:4f09) call StartRadioStation - ld a, $1 + ld a, 1 ld [wd005], a ret BuenasPassword1: ; b8f12 (2e:4f12) ; Determine if we need to be here call BuenasPasswordCheckMidnight - jp nc, Functionb8f22 + jp nc, .PlayPassword ld a, [wd005] and a jp z, BuenasPassword20 jp BuenasPassword8 -Functionb8f22: ; b8f22 (2e:4f22) +.PlayPassword: ; b8f22 (2e:4f22) call StartRadioStation ld a, [hBGMapMode] ; $ff00+$d4 push af @@ -1683,19 +1689,19 @@ Functionb8f22: ; b8f22 (2e:4f22) pop af ld [hBGMapMode], a ; $ff00+$d4 ld hl, UnknownText_0xb9182 - ld a, $40 + ld a, BUENAS_PASSWORD_2 jp NextRadioLine BuenasPassword2: ; b8f3f (2e:4f3f) ld hl, UnknownText_0xb9187 - ld a, $41 + ld a, BUENAS_PASSWORD_3 jp NextRadioLine BuenasPassword3: ; b8f47 (2e:4f47) call BuenasPasswordCheckMidnight ld hl, UnknownText_0xb918c jp c, BuenasPasswordAfterMidnight - ld a, $42 + ld a, BUENAS_PASSWORD_4 jp NextRadioLine BuenasPassword4: ; b8f55 (2e:4f55) @@ -1731,7 +1737,7 @@ BuenasPassword4: ; b8f55 (2e:4f55) ld c, a call GetBuenasPassword ld hl, UnknownText_0xb9191 - ld a, $43 + ld a, BUENAS_PASSWORD_5 jp NextRadioLine GetBuenasPassword: ; b8f8f @@ -1859,19 +1865,19 @@ PasswordTable: ; b8ff9 BuenasPassword5: ; b909c (2e:509c) ld hl, UnknownText_0xb9196 - ld a, $44 + ld a, BUENAS_PASSWORD_6 jp NextRadioLine BuenasPassword6: ; b90a4 (2e:50a4) ld hl, UnknownText_0xb919b - ld a, $45 + ld a, BUENAS_PASSWORD_7 jp NextRadioLine BuenasPassword7: ; b90ac (2e:50ac) call BuenasPasswordCheckMidnight ld hl, UnknownText_0xb91a0 jr c, BuenasPasswordAfterMidnight - ld a, $4 + ld a, BUENAS_PASSWORD jp NextRadioLine BuenasPasswordAfterMidnight: ; b90b9 (2e:50b9) @@ -1879,69 +1885,69 @@ BuenasPasswordAfterMidnight: ; b90b9 (2e:50b9) ld hl, WeeklyFlags res 7, [hl] pop hl - ld a, $46 + ld a, BUENAS_PASSWORD_8 jp NextRadioLine BuenasPassword8: ; b90c5 (2e:50c5) ld hl, WeeklyFlags res 7, [hl] ld hl, UnknownText_0xb91d2 - ld a, $47 + ld a, BUENAS_PASSWORD_9 jp NextRadioLine BuenasPassword9: ; b90d2 (2e:50d2) ld hl, UnknownText_0xb91a5 - ld a, $48 + ld a, BUENAS_PASSWORD_10 jp NextRadioLine BuenasPassword10: ; b90da (2e:50da) ld hl, UnknownText_0xb91aa - ld a, $49 + ld a, BUENAS_PASSWORD_11 jp NextRadioLine BuenasPassword11: ; b90e2 (2e:50e2) ld hl, UnknownText_0xb91af - ld a, $4a + ld a, BUENAS_PASSWORD_12 jp NextRadioLine BuenasPassword12: ; b90ea (2e:50ea) ld hl, UnknownText_0xb91b4 - ld a, $4b + ld a, BUENAS_PASSWORD_13 jp NextRadioLine BuenasPassword13: ; b90f2 (2e:50f2) ld hl, UnknownText_0xb91b9 - ld a, $4c + ld a, BUENAS_PASSWORD_14 jp NextRadioLine BuenasPassword14: ; b90fa (2e:50fa) ld hl, UnknownText_0xb91be - ld a, $4d + ld a, BUENAS_PASSWORD_15 jp NextRadioLine BuenasPassword15: ; b9102 (2e:5102) ld hl, UnknownText_0xb91c3 - ld a, $4e + ld a, BUENAS_PASSWORD_16 jp NextRadioLine BuenasPassword16: ; b910a (2e:510a) ld hl, UnknownText_0xb91c8 - ld a, $4f + ld a, BUENAS_PASSWORD_17 jp NextRadioLine BuenasPassword17: ; b9112 (2e:5112) ld hl, UnknownText_0xb91cd - ld a, $50 + ld a, BUENAS_PASSWORD_18 jp NextRadioLine BuenasPassword18: ; b911a (2e:511a) ld hl, UnknownText_0xb91d2 - ld a, $51 + ld a, BUENAS_PASSWORD_19 jp NextRadioLine BuenasPassword19: ; b9122 (2e:5122) ld hl, UnknownText_0xb91d2 - ld a, $52 + ld a, BUENAS_PASSWORD_20 jp NextRadioLine BuenasPassword20: ; b912a (2e:512a) @@ -1958,7 +1964,7 @@ BuenasPassword20: ; b912a (2e:512a) xor a ld [wd005], a ld hl, UnknownText_0xb91d7 - ld a, $53 + ld a, BUENAS_PASSWORD_21 jp NextRadioLine BuenasPassword21: ; b9152 (2e:5152) @@ -1969,7 +1975,7 @@ BuenasPassword21: ; b9152 (2e:5152) call BuenasPasswordCheckMidnight jp nc, BuenasPassword1 ld hl, UnknownText_0xb91d7 - ld a, $53 + ld a, BUENAS_PASSWORD_21 jp NextRadioLine BuenasPasswordCheckMidnight: ; b9169 (2e:5169) @@ -2115,7 +2121,7 @@ endr ld e, [hl] inc hl ld d, [hl] - callab RadioMusicNone + callab RadioMusicRestartDE ret ; b920b (2e:520b) diff --git a/engine/radio2.asm b/engine/radio2.asm new file mode 100644 index 000000000..b843315d4 --- /dev/null +++ b/engine/radio2.asm @@ -0,0 +1,404 @@ +_UpdateRadioStation: ; 9163e (24:563e) + jr UpdateRadioStation + +Function91640: ; 91640 (24:5640) + push bc + call .TuningKnob + pop bc + ld a, [wRadioTuningKnob] + ld hl, $6 + add hl, bc + ld [hl], a + ret + +.TuningKnob: ; 9164e (24:564e) + ld hl, hJoyLast + ld a, [hl] + and D_DOWN + jr nz, .down + ld a, [hl] + and D_UP + jr nz, .up + ret + +.down + ld hl, wRadioTuningKnob + ld a, [hl] + and a + ret z +rept 2 + dec [hl] +endr + jr .update + +.up + ld hl, wRadioTuningKnob + ld a, [hl] + cp 80 + ret nc +rept 2 + inc [hl] +endr + +.update + +UpdateRadioStation: ; 9166f (24:566f) + ld hl, wRadioTuningKnob + ld d, [hl] + ld hl, RadioChannels +.loop + ld a, [hli] + cp -1 + jr z, .nostation + cp d + jr z, .foundstation +rept 2 + inc hl +endr + jr .loop + +.nostation + call NoRadioStation + ret + +.foundstation + ld a, [hli] + ld h, [hl] + ld l, a + ld de, .returnafterstation + push de + jp [hl] +.returnafterstation + ld a, [wc6d9] + and a + ret z + xor a + ld [hBGMapMode], a + hlcoord 2, 9 + call PlaceString + ld a, $1 + ld [hBGMapMode], a + ret +; 916a1 (24:56a1) + +Function916a1: ; 916a1 + ld [wc6d9], a + ld a, [hli] + ld [wc6da], a + ld a, [hli] + ld [wc6db], a + ret +; 916ad + + +RadioChannels: +; frequencies and the shows that play on them. +; frequency value given here = 4 × ingame_frequency − 2 + dbw 16, .PkmnTalkAndPokedexShow + dbw 28, .PokemonMusic + dbw 32, .LuckyChannel + dbw 40, .BuenasPassword + dbw 52, .RuinsOfAlphRadio + dbw 64, .PlacesAndPeople + dbw 72, .LetsAllSing + dbw 78, .PokeFluteRadio + dbw 80, .EvolutionRadio + db $ff + +.PkmnTalkAndPokedexShow +; Pokédex Show in the morning +; Oak's Pokémon Talk in the afternoon and evening + call .InJohto + jr nc, .NoSignal + ld a, [TimeOfDay] + and a + jp z, LoadStation_PokedexShow + jp LoadStation_OaksPokemonTalk + +.PokemonMusic + call .InJohto + jr nc, .NoSignal + jp LoadStation_PokemonMusic + +.LuckyChannel + call .InJohto + jr nc, .NoSignal + jp LoadStation_LuckyChannel + +.BuenasPassword + call .InJohto + jr nc, .NoSignal + jp LoadStation_BuenasPassword + +.RuinsOfAlphRadio + ld a, [wc6d8] + cp RUINS_OF_ALPH + jr nz, .NoSignal + jp LoadStation_UnownRadio + +.PlacesAndPeople + call .InJohto + jr c, .NoSignal + ld a, [wPokegearFlags] + bit 3, a + jr z, .NoSignal + jp LoadStation_PlacesAndPeople + +.LetsAllSing + call .InJohto + jr c, .NoSignal + ld a, [wPokegearFlags] + bit 3, a + jr z, .NoSignal + jp LoadStation_LetsAllSing + +.PokeFluteRadio + call .InJohto + jr c, .NoSignal + ld a, [wPokegearFlags] + bit 3, a + jr z, .NoSignal + jp LoadStation_PokeFluteRadio + +.EvolutionRadio +; This station airs in the Lake of Rage area when Rocket are still in Mahogany. + + ld a, [StatusFlags] + bit 4, a + jr z, .NoSignal + + ld a, [wc6d8] + cp MAHOGANY_TOWN + jr z, .ok + cp ROUTE_43 + jr z, .ok + cp LAKE_OF_RAGE + jr nz, .NoSignal +.ok + jp LoadStation_EvolutionRadio + +.NoSignal + call NoRadioStation + ret + +.InJohto +; if in Johto or on the S.S. Aqua, set carry +; otherwise clear carry + ld a, [wc6d8] + cp FAST_SHIP + jr z, .johto + cp KANTO_LANDMARK + jr c, .johto +.kanto + and a + ret +.johto + scf + ret + + + +LoadStation_OaksPokemonTalk: ; 91753 (24:5753) + xor a ; OAKS_POKEMON_TALK + ld [wd002], a + ld [wd005], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, OaksPkmnTalkName + ret + +LoadStation_PokedexShow: ; 91766 (24:5766) + ld a, POKEDEX_SHOW + ld [wd002], a + xor a + ld [wd005], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, PokedexShowName + ret + +LoadStation_PokemonMusic: ; 9177b (24:577b) + ld a, POKEMON_MUSIC + ld [wd002], a + xor a + ld [wd005], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, PokemonMusicName + ret + +LoadStation_LuckyChannel: ; 91790 (24:5790) + ld a, LUCKY_CHANNEL + ld [wd002], a + xor a + ld [wd005], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, LuckyChannelName + ret + +LoadStation_BuenasPassword: ; 917a5 (24:57a5) + ld a, BUENAS_PASSWORD + ld [wd002], a + xor a + ld [wd005], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, NotBuenasPasswordName + ld a, [StatusFlags2] + bit 0, a + ret z + ld de, BuenasPasswordName + ret +; 917c3 (24:57c3) + +BuenasPasswordName: db "BUENA'S PASSWORD@" +NotBuenasPasswordName: db "@" + +LoadStation_UnownRadio: ; 917d5 (24:57d5) + ld a, UNOWN_RADIO + ld [wd002], a + xor a + ld [wd005], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, UnknownStationName + ret + +LoadStation_PlacesAndPeople: ; 917ea (24:57ea) + ld a, PLACES_AND_PEOPLE + ld [wd002], a + xor a + ld [wd005], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, PlacesAndPeopleName + ret + +LoadStation_LetsAllSing: ; 917ff (24:57ff) + ld a, LETS_ALL_SING + ld [wd002], a + xor a + ld [wd005], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, LetsAllSingName + ret +; 91814 (24:5814) + +LoadStation_RocketRadio: ; 91814 + ld a, ROCKET_RADIO + ld [wd002], a + xor a + ld [wd005], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, LetsAllSingName + ret +; 91829 + +LoadStation_PokeFluteRadio: ; 91829 (24:5829) + ld a, POKE_FLUTE_RADIO + ld [wd002], a + xor a + ld [wd005], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, PokeFluteStationName + ret + +LoadStation_EvolutionRadio: ; 9183e (24:583e) + ld a, EVOLUTION_RADIO + ld [wd002], a + xor a + ld [wd005], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, UnknownStationName + ret +; 91853 (24:5853) + +LoadStation_Dummy: ; 91853 + ret + +RadioMusicRestartDE: ; 91854 (24:5854) + push de + ld a, e + ld [wc6dc], a + ld de, MUSIC_NONE + call PlayMusic + pop de + ld a, e + ld [wMapMusic], a + call PlayMusic + ret + +RadioMusicRestartPokemonChannel: ; 91868 (24:5868) + push de + ld a, $fe + ld [wc6dc], a + ld de, MUSIC_NONE + call PlayMusic + pop de + ld de, MUSIC_POKEMON_CHANNEL + call PlayMusic + ret + +Radio_BackUpFarCallParams: ; 9187c (24:587c) + ld [wc6d9], a + ld a, l + ld [wc6da], a + ld a, h + ld [wc6db], a + ret + +NoRadioStation: ; 91888 (24:5888) + call NoRadioMusic + call NoRadioName + xor a + ld [wc6d9], a + ld [wc6da], a + ld [wc6db], a + ld a, $1 + ld [hBGMapMode], a ; $ff00+$d4 + ret + +NoRadioMusic: ; 9189d (24:589d) + ld de, MUSIC_NONE + call PlayMusic + ld a, $ff + ld [wc6dc], a + ret + +NoRadioName: ; 918a9 (24:58a9) + xor a + ld [hBGMapMode], a ; $ff00+$d4 + hlcoord 1, 8 + ld bc, $312 + call ClearBox + hlcoord 0, 12 + ld bc, $412 + call TextBox + ret +; 918bf + +OaksPkmnTalkName: db "OAK's <PK><MN> Talk@" +PokedexShowName: db "#DEX Show@" +PokemonMusicName: db "#MON Music@" +LuckyChannelName: db "Lucky Channel@" +UnknownStationName: db "?????@" +PlacesAndPeopleName: db "Places & People@" +LetsAllSingName: db "Let's All Sing!@" +PokeFluteStationName: db "# FLUTE@" +; 9191c diff --git a/engine/scripting.asm b/engine/scripting.asm index 3ef1c3853..f8ac4cc0c 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -1258,7 +1258,7 @@ Script_appear: ; 0x972dd call GetScriptByte call GetScriptPerson call _CopyObjectStruct - ld a, [$ffaf] + ld a, [hConnectionStripLength] ld b, 0 ; clear call ApplyEventActionAppearDisappear ret @@ -1276,7 +1276,7 @@ Script_disappear: ; 0x972ee ld a, [hLastTalked] .ok call DeleteObjectStruct - ld a, [$ffaf] + ld a, [hConnectionStripLength] ld b, 1 ; set call ApplyEventActionAppearDisappear callba RefreshMapAppearDisappear @@ -1584,7 +1584,7 @@ Script_reloadmap: ; 0x97491 xor a ld [wd459], a ld a, $f3 - ld [$ff9f], a + ld [hMapEntryMethod], a ld a, $1 call LoadMapStatus call StopScript @@ -2232,7 +2232,7 @@ Script_readmoney: ; 0x97732 call ResetStringBuffer1 call GetMoneyAccount ld hl, StringBuffer1 - ld bc, $4306 + lb bc, PRINTNUM_RIGHTALIGN | 3, 6 call PrintNum ld de, StringBuffer1 jp ConvertMemToText @@ -2246,7 +2246,7 @@ Script_readcoins: ; 0x97747 call ResetStringBuffer1 ld hl, StringBuffer1 ld de, Coins - ld bc, $4206 + lb bc, PRINTNUM_RIGHTALIGN | 2, 6 call PrintNum ld de, StringBuffer1 jp ConvertMemToText @@ -2260,7 +2260,7 @@ Script_RAM2MEM: ; 0x9775c call ResetStringBuffer1 ld de, ScriptVar ld hl, StringBuffer1 - ld bc, $4103 + lb bc, PRINTNUM_RIGHTALIGN | 1, 3 call PrintNum ld de, StringBuffer1 jp ConvertMemToText @@ -2656,7 +2656,7 @@ Script_giveegg: ; 0x97968 ; level (DecimalParam) ; if no room in the party, return 0 in ScriptVar; else, return 2 - xor a + xor a ; PARTYMON ld [ScriptVar], a ld [MonType], a call GetScriptByte @@ -2839,7 +2839,7 @@ Script_warp: ; 0x97a1d ld a, -1 ld [wd001], a ld a, -15 - ld [$ff9f], a + ld [hMapEntryMethod], a ld a, 1 call LoadMapStatus call StopScript @@ -2851,7 +2851,7 @@ Script_warp: ; 0x97a1d ld a, -1 ld [wd001], a ld a, -5 - ld [$ff9f], a + ld [hMapEntryMethod], a ld a, 1 call LoadMapStatus call StopScript @@ -2994,7 +2994,7 @@ Script_newloadmap: ; 0x97b08 ; which_method (SingleByteParam) call GetScriptByte - ld [$ff9f], a + ld [hMapEntryMethod], a ld a, 1 call LoadMapStatus call StopScript @@ -3198,7 +3198,7 @@ Script_halloffame: ; 0x97bd5 Script_credits: ; 0x97bf3 ; script command 0xa2 - callba Function86455 + callba RedCredits ; fallthrough DisplayCredits: diff --git a/engine/specials.asm b/engine/specials.asm index 58cf5d646..41b0d9e9a 100644 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -102,9 +102,9 @@ SpecialsPointers:: ; c029 add_special Function24b25 add_special Function24b4e add_special Function24ae8 - add_special Function4d87a - add_special Functionc434 - add_special Functionc422 + add_special Special_CheckForLuckyNumberWinners + add_special Special_CheckLuckyNumberShowFlag + add_special Special_ResetLuckyNumberShowFlag add_special Function4d9d3 add_special Function88018 add_special SpecialNameRater @@ -117,9 +117,9 @@ SpecialsPointers:: ; c029 add_special RunCallback_04 add_special Functionfb841 add_special SpecialSnorlaxAwake - add_special Function7413 - add_special Function7418 - add_special Function741d + add_special Special_YoungerHaircutBrother + add_special Special_OlderHaircutBrother + add_special Special_DaisyMassage add_special Functionc472 add_special ProfOaksPCBoot add_special SpecialGameboyCheck @@ -522,15 +522,15 @@ SpecialCheckPokerus: ; c419 jp ScriptReturnCarry ; c422 -Functionc422: ; c422 +Special_ResetLuckyNumberShowFlag: ; c422 callba Function1152b - ld hl, wdc9d + ld hl, wLuckyNumberShowFlag res 0, [hl] - callba Function5d33 + callba LoadOrRegenerateLuckyIDNumber ret ; c434 -Functionc434: ; c434 +Special_CheckLuckyNumberShowFlag: ; c434 callba Function11542 jp ScriptReturnCarry ; c43d diff --git a/engine/time.asm b/engine/time.asm index d47c4fbaa..8b3f5d758 100755 --- a/engine/time.asm +++ b/engine/time.asm @@ -5,7 +5,7 @@ Function113d6: ; 113d6 Function113da: ; 113da xor a - ld [wdc2d], a + ld [wLuckyNumberDayBuffer], a ld [wdc3a], a ld [wdc1c], a ret @@ -242,28 +242,28 @@ Function11522: ; 11522 ; 1152b Function1152b: ; 1152b - call Function11534 - ld hl, wdc2d + call .GetDaysUntilNextFriday + ld hl, wLuckyNumberDayBuffer jp Function11415 ; 11534 -Function11534: ; 11534 +.GetDaysUntilNextFriday: ; 11534 call GetWeekday ld c, a - ld a, $5 + ld a, FRIDAY sub c - jr z, .asm_1153f - jr nc, .asm_11541 + jr z, .friday_saturday + jr nc, .earlier ; should've done "ret nc" -.asm_1153f - add $7 +.friday_saturday + add 7 -.asm_11541 +.earlier ret ; 11542 Function11542: ; 11542 - ld hl, wdc2d + ld hl, wLuckyNumberDayBuffer jp Function11420 ; 11548 |