diff options
| author | JimB16 <f1@jimb.de> | 2015-10-19 16:25:15 +0200 | 
|---|---|---|
| committer | JimB16 <f1@jimb.de> | 2015-10-19 16:25:15 +0200 | 
| commit | 3b9a3cc3bee8934e45f5e4d3fd9704b3fa619560 (patch) | |
| tree | b402ddfd95a21402d2ab76368d44b9f04f937725 /engine | |
| parent | 3ef626d37864f4dae26f115c26e448351f19da7c (diff) | |
| parent | f399315a489c7eff28ec1941c41d12264fb38039 (diff) | |
merge conflicts resolved
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 f14ac383d..eff2ff5f1 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 0ca77e67f..e0770b7a0 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 44189d7bd..494d796a3 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 fb0a157db..4284d5adf 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 AddPkmnToParty +	add_predef TryAddMonToParty  	add_predef Functionda96  	add_predef SentGetPkmnIntoFromBox  	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 | 
