diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2015-07-22 15:57:02 -0400 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2015-07-22 15:57:02 -0400 |
commit | c8960dd2c8043d9a10e961379996fa18fef34033 (patch) | |
tree | 7103b7349bc60badb883fb9385c213bcdfcad71b /engine | |
parent | d5ddd9e54ec2422d6f1cd7c561c1750512d0a81d (diff) |
Various annotations
Annotated the SGB functions in predef/sgb.asm, and some of the map scripts. Renamed several functions in home. Renamed six WRAM addresses corresponding to party icon animations, and renamed several others relative to these.
Diffstat (limited to 'engine')
-rw-r--r-- | engine/color.asm | 8 | ||||
-rw-r--r-- | engine/credits.asm | 6 | ||||
-rw-r--r-- | engine/diploma.asm | 12 | ||||
-rw-r--r-- | engine/engine_flags.asm | 6 | ||||
-rw-r--r-- | engine/pack.asm | 6 | ||||
-rw-r--r-- | engine/pokedex.asm | 16 | ||||
-rw-r--r-- | engine/predef.asm | 2 | ||||
-rw-r--r-- | engine/radio.asm | 4256 | ||||
-rw-r--r-- | engine/scripting.asm | 12 | ||||
-rw-r--r-- | engine/specials.asm | 4 |
10 files changed, 2177 insertions, 2151 deletions
diff --git a/engine/color.asm b/engine/color.asm index 1a28e1104..0e932f786 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -297,7 +297,7 @@ Function8bec: ; 8bec ld a, [EnemyLightScreenCount] ld c, a ld a, [EnemyReflectCount] - ld hl, AttrMap + hlcoord 0, 0, AttrMap ld de, $0014 .asm_8c04 and a @@ -661,8 +661,8 @@ endr Function9699: ; 9699 - ld hl, AttrMap - ld bc, $0168 + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT xor a call ByteFill ret @@ -694,7 +694,7 @@ Function96b3: ; 96b3 ret .asm_96d0 - ld hl, AttrMap + hlcoord 0, 0, AttrMap ld de, VBGMap0 ld b, $12 ld a, $1 diff --git a/engine/credits.asm b/engine/credits.asm index 2be947bf3..3454e00b5 100644 --- a/engine/credits.asm +++ b/engine/credits.asm @@ -527,7 +527,7 @@ Function109a95: ; 109a95 (42:5a95) ld a, $c ld [hBGMapAddress], a ; $ff00+$d6 ld a, $28 - ld hl, TileMap + hlcoord 0, 0 ld bc, $168 call ByteFill ld a, $7f @@ -540,7 +540,7 @@ Function109a95: ; 109a95 (42:5a95) hlcoord 0, 17 ld a, $20 call Function109b1d - ld hl, AttrMap + hlcoord 0, 0, AttrMap ld bc, $50 xor a call ByteFill @@ -560,7 +560,7 @@ Function109a95: ; 109a95 (42:5a95) xor a ld [hBGMapMode], a ; $ff00+$d4 ld [hBGMapAddress], a ; $ff00+$d6 - ld hl, TileMap + hlcoord 0, 0 call Function109aff call Function3200 ret diff --git a/engine/diploma.asm b/engine/diploma.asm index bf6e89fa8..420bff7f1 100644 --- a/engine/diploma.asm +++ b/engine/diploma.asm @@ -14,8 +14,8 @@ Function1dd709: ; 1dd709 ld de, VTiles2 call Decompress ld hl, Tilemap_1ddc4b - ld de, TileMap - ld bc, $0168 + decoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyBytes ld de, String_1dd760 hlcoord 2, 5 @@ -54,13 +54,13 @@ String_1dd768: ; 1dd7ae Function1dd7ae: ; 1dd7ae - ld hl, TileMap - ld bc, $0168 + hlcoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, $7f call ByteFill ld hl, Tilemap_1dddb3 - ld de, TileMap - ld bc, $0168 + decoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyBytes ld de, String_1dd7fa hlcoord 8, 0 diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm index 87fbd987d..87d802d30 100644 --- a/engine/engine_flags.asm +++ b/engine/engine_flags.asm @@ -29,9 +29,9 @@ dwb StatusFlags, %01000000 ; credits skip dwb StatusFlags, %10000000 ; bug contest on ; $10 dwb StatusFlags2, %00000100 ; bug contest timer - dwb StatusFlags2, %00000010 ; rockets in radio tower - dwb StatusFlags2, %00000001 ; bike shop call enabled (1024 bike steps reqd) - dwb StatusFlags2, %00010000 + dwb StatusFlags2, %00000010 + dwb StatusFlags2, %00000001 ; rockets in radio tower + dwb StatusFlags2, %00010000 ; bike shop call enabled (1024 bike steps reqd) dwb StatusFlags2, %00100000 ; give pokerus; berry -> berry juice when trading? dwb StatusFlags2, %01000000 dwb StatusFlags2, %10000000 ; rockets in mahogany diff --git a/engine/pack.asm b/engine/pack.asm index 62796ed3f..a50612bb8 100644 --- a/engine/pack.asm +++ b/engine/pack.asm @@ -1404,7 +1404,7 @@ Function10955: ; 10955 hlcoord 5, 1 lb bc, 11, 15 call ClearBox - ld hl, TileMap + hlcoord 0, 0 ld a, $28 ld c, $14 .asm_1098a @@ -1489,8 +1489,8 @@ Function10a1d: ; 10a1d ; 10a2a Function10a2a: ; 10a2a - ld hl, TileMap - ld bc, $0168 + hlcoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, $7f call ByteFill ret diff --git a/engine/pokedex.asm b/engine/pokedex.asm index 25b291ffb..c48030501 100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -212,7 +212,7 @@ Function4013c: ; 4013c (10:413c) ld [hBGMapMode], a ; $ff00+$d4 call ClearSprites xor a - ld hl, AttrMap + hlcoord 0, 0, AttrMap ld bc, $168 call ByteFill callba Function1de171 @@ -725,7 +725,7 @@ Function4050a: ; 4050a (10:450a) xor a ld [hBGMapMode], a ; $ff00+$d4 xor a - ld hl, AttrMap + hlcoord 0, 0, AttrMap ld bc, $168 call ByteFill call Function41ae1 @@ -1071,10 +1071,10 @@ Function4074c: ; 4074c (10:474c) ld de, Unknown_407f2 call Function40acd ld a, $32 - ld hl, TileMap + hlcoord 0, 0 ld bc, $168 call ByteFill - ld hl, TileMap + hlcoord 0, 0 lb bc, 7, 7 call Function40ad5 hlcoord 0, 9 @@ -1135,7 +1135,7 @@ Unknown_407f2: ; 407f2 Function407fd: ; 407fd call Function40aa6 - ld hl, TileMap + hlcoord 0, 0 ld bc, $0f12 call Function40ad5 hlcoord 19, 0 @@ -1259,7 +1259,7 @@ String_4094c: ; 4094c Function40962: ; 40962 (10:4962) call Function40aa6 - ld hl, TileMap + hlcoord 0, 0 lb bc, 7, 7 call Function40ad5 hlcoord 0, 11 @@ -1387,9 +1387,9 @@ Unknown_40a3e: ; 40a3e ; 40aa6 Function40aa6: ; 40aa6 - ld hl, TileMap + hlcoord 0, 0 ld a, $32 - ld bc, $0168 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call ByteFill ret ; 40ab2 diff --git a/engine/predef.asm b/engine/predef.asm index c886e4a84..22e323246 100644 --- a/engine/predef.asm +++ b/engine/predef.asm @@ -79,7 +79,7 @@ PredefPointers:: ; 856b add_predef Functioncbcdd add_predef Predef2F add_predef Function9853 ; $30 - add_predef Function864c + add_predef Predef_LoadSGBLayout add_predef Function91d11 add_predef CheckContestMon add_predef Function8c20f diff --git a/engine/radio.asm b/engine/radio.asm index 35117668f..74d0383e7 100644 --- a/engine/radio.asm +++ b/engine/radio.asm @@ -1,2115 +1,2141 @@ -PlayRadioShow: ; b8612
- ld a, [wd002]
- cp 8
- jr nc, .ok
- ld a, [StatusFlags2]
- bit 0, a
- jr z, .ok
- call IsInJohto
- and a
- jr nz, .ok
- ld a, 7
- ld [wd002], a
-.ok
- ld a, [wd002]
- ld e, a
- ld d, 0
- ld hl, RadioJumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-
-RadioJumptable: ; b863a (2e:463a)
- dw MaryOakShow1
- dw MaryOakShow2
- dw BenMonMusic1
- dw DJReed1
- dw Functionb8f12
- dw Functionb8cbf
- dw Functionb8b50
- dw Functionb8e72
- dw Functionb8ef7
- dw Functionb8f00
- dw Functionb8f09
- dw Functionb8752
- dw Functionb875a
- dw Functionb8762
- dw Functionb8810
- dw Functionb8818
- dw Functionb883e
- dw Functionb8854
- dw Functionb88d9
- dw Functionb8a6c
- dw Functionb8aa4
- dw Functionb8aac
- dw Functionb8ab4
- dw Functionb8b40
- dw Functionb8b48
- dw Functionb8b63
- dw Functionb8b6b
- dw Functionb8b7d
- dw Functionb8b8f
- dw Functionb8b5b
- dw Functionb8bf5
- dw Functionb8bfd
- dw Functionb8c05
- dw Functionb8c0d
- dw Functionb8c15
- dw Functionb8c1d
- dw Functionb8c25
- dw Functionb8c3e
- dw Functionb8c46
- dw Functionb8c4e
- dw Functionb8c56
- dw Functionb8c5e
- dw Functionb8c6e
- dw Functionb8c76
- dw Functionb8cca
- dw Functionb8cd2
- dw Functionb8cf2
- dw Functionb8d56
- dw Functionb8ded
- dw Functionb8e28
- dw Functionb8e7d
- dw Functionb8e85
- dw Functionb8e8d
- dw Functionb8e95
- dw Functionb8e9d
- dw Functionb8ea5
- dw Functionb8ead
- dw Functionb8eb5
- dw Functionb8ebd
- dw Functionb896e
- dw Functionb8994
- dw Functionb89a9
- dw Functionb89c6
- dw Functionb89d7
- dw Functionb8f3f
- dw Functionb8f47
- dw Functionb8f55
- dw Functionb909c
- dw Functionb90a4
- dw Functionb90ac
- dw Functionb90c5
- dw Functionb90d2
- dw Functionb90da
- dw Functionb90e2
- dw Functionb90ea
- dw Functionb90f2
- dw Functionb90fa
- dw Functionb9102
- dw Functionb910a
- dw Functionb9112
- dw Functionb911a
- dw Functionb9122
- dw Functionb912a
- dw Functionb9152
- dw Functionb8728
- dw Functionb8abc
- dw Functionb8ac4
- dw Functionb8acc
-
-
-Functionb86ea: ; b86ea (2e:46ea)
- ld [wd003], a
- ld hl, wd00c
- ld a, [wd005]
- cp $2
- jr nc, .asm_b870a
- inc hl
- ld [hl], $0
- inc a
- ld [wd005], a
- cp $2
- jr nz, .asm_b870a
- bccoord 1, 16
- call Function13e5
- jr .asm_b870d
-.asm_b870a
- call PrintTextBoxText
-.asm_b870d
- ld a, $54
- ld [wd002], a
- ld a, $64
- ld [wd004], a
- ret
-; b8718 (2e:4718)
-
-Functionb8718: ; b8718
- push hl
- ld b, $28
-.asm_b871b
- ld a, [hl]
- cp $e8
- jr nz, .asm_b8722
- ld [hl], $7f
-
-.asm_b8722
- inc hl
- dec b
- jr nz, .asm_b871b
- pop hl
- ret
-; b8728
-
-Functionb8728: ; b8728 (2e:4728)
- ld hl, wd004
- ld a, [hl]
- and a
- jr z, .asm_b8731
- dec [hl]
- ret
-.asm_b8731
- ld a, [wd003]
- ld [wd002], a
- ld a, [wd005]
- cp $1
- call nz, Functionb8a0b
- jp Functionb8a17
-
-MaryOakShow1: ; b8742 (2e:4742)
- ld a, $5
- ld [wd006], a
- call Functionb91eb
- ld hl, UnknownText_0xb8820
- ld a, $b
- jp NextRadioLine
-
-Functionb8752: ; b8752 (2e:4752)
- ld hl, UnknownText_0xb8825
- ld a, $c
- jp NextRadioLine
-
-Functionb875a: ; b875a (2e:475a)
- ld hl, UnknownText_0xb882a
- ld a, $d
- jp NextRadioLine
-
-Functionb8762: ; b8762 (2e:4762)
- call Random
- and $1f
- cp $f
- jr nc, Functionb8762
- ld hl, Unknown_b87f2
- ld c, a
- ld b, 0
-rept 2
- add hl, bc
-endr
- ld b, [hl]
- inc hl
- ld c, [hl]
- push bc
-
- ld hl, WildMons1
-.loop
- ld a, BANK(WildMons1)
- call GetFarByte
- cp $ff
- jr z, .done2
- inc hl
- cp b
- jr nz, .next
- ld a, BANK(WildMons1)
- call GetFarByte
- cp c
- jr z, .done
-.next
- dec hl
- ld de, $2f
- add hl, de
- jr .loop
-
-.done
-rept 4
- inc hl
-endr
-
-.not3
- call Random
- and 3
- cp 3
- jr z, .not3
-
- ld bc, $e
- call AddNTimes
-.loop2
- call Random
- and 7
- cp 2
- jr c, .loop2
- cp 5
- jr nc, .loop2
- ld e, a
- ld d, 0
-rept 2
- add hl, de
-endr
- inc hl
- ld a, BANK(WildMons1)
- call GetFarByte
- ld [wd265], a
- ld [CurPartySpecies], a
- call GetPokemonName
- ld hl, StringBuffer1
- ld de, wd050
- ld bc, $b
- call CopyBytes
-
- pop bc
- call GetWorldMapLocation
- ld e, a
- callba GetLandmarkName
- ld hl, UnknownText_0xb882f
- call Functionb91dc
- ld a, $e
- jp Functionb86ea
-
-.done2
- pop bc
- ld a, $0
- jp Functionb86ea
-; b87f2 (2e:47f2)
-
-Unknown_b87f2: ; b87f2
- map ROUTE_29
- map ROUTE_46
- map ROUTE_30
- map ROUTE_32
- map ROUTE_34
- map ROUTE_35
- map ROUTE_37
- map ROUTE_38
- map ROUTE_39
- map ROUTE_42
- map ROUTE_43
- map ROUTE_44
- map ROUTE_45
- map ROUTE_36
- map ROUTE_31
-; b8810
-
-Functionb8810: ; b8810 (2e:4810)
- ld hl, UnknownText_0xb8834
- ld a, $f
- jp NextRadioLine
-
-Functionb8818: ; b8818 (2e:4818)
- ld hl, UnknownText_0xb8839
- ld a, $10
- jp NextRadioLine
-; b8820 (2e:4820)
-
-UnknownText_0xb8820: ; 0xb8820
- ; MARY: PROF.OAK'S
- text_jump UnknownText_0x1bc81a
- db "@"
-; 0xb8825
-
-UnknownText_0xb8825: ; 0xb8825
- ; #MON TALK!
- text_jump UnknownText_0x1bc82d
- db "@"
-; 0xb882a
-
-UnknownText_0xb882a: ; 0xb882a
- ; With me, MARY!
- text_jump UnknownText_0x1bc83a
- db "@"
-; 0xb882f
-
-UnknownText_0xb882f: ; 0xb882f
- ; OAK: @ @
- text_jump UnknownText_0x1bc84b
- db "@"
-; 0xb8834
-
-UnknownText_0xb8834: ; 0xb8834
- ; may be seen around
- text_jump UnknownText_0x1bc858
- db "@"
-; 0xb8839
-
-UnknownText_0xb8839: ; 0xb8839
- ; @ .
- text_jump UnknownText_0x1bc86d
- db "@"
-; 0xb883e
-
-Functionb883e: ; b883e (2e:483e)
- ld a, [CurPartySpecies]
- ld [wd265], a
- call GetPokemonName
- ld hl, UnknownText_0xb884f
- ld a, $11
- jp NextRadioLine
-; b884f (2e:484f)
-
-UnknownText_0xb884f: ; 0xb884f
- ; MARY: @ 's
- text_jump UnknownText_0x1bc876
- db "@"
-; 0xb8854
-
-Functionb8854: ; b8854 (2e:4854)
- call Random
- and $f
- ld e, a
- ld d, 0
- ld hl, Unknown_b8869
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, $12
- 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
-; b8889
-
-UnknownText_0xb8889: ; 0xb8889
- ; sweet and adorably
- text_jump UnknownText_0x1bc885
- db "@"
-; 0xb888e
-
-UnknownText_0xb888e: ; 0xb888e
- ; wiggly and slickly
- text_jump UnknownText_0x1bc89a
- db "@"
-; 0xb8893
-
-UnknownText_0xb8893: ; 0xb8893
- ; aptly named and
- text_jump UnknownText_0x1bc8af
- db "@"
-; 0xb8898
-
-UnknownText_0xb8898: ; 0xb8898
- ; undeniably kind of
- text_jump UnknownText_0x1bc8c1
- db "@"
-; 0xb889d
-
-UnknownText_0xb889d: ; 0xb889d
- ; so, so unbearably
- text_jump UnknownText_0x1bc8d6
- db "@"
-; 0xb88a2
-
-UnknownText_0xb88a2: ; 0xb88a2
- ; wow, impressively
- text_jump UnknownText_0x1bc8ea
- db "@"
-; 0xb88a7
-
-UnknownText_0xb88a7: ; 0xb88a7
- ; almost poisonously
- text_jump UnknownText_0x1bc8fe
- db "@"
-; 0xb88ac
-
-UnknownText_0xb88ac: ; 0xb88ac
- ; ooh, so sensually
- text_jump UnknownText_0x1bc913
- db "@"
-; 0xb88b1
-
-UnknownText_0xb88b1: ; 0xb88b1
- ; so mischievously
- text_jump UnknownText_0x1bc927
- db "@"
-; 0xb88b6
-
-UnknownText_0xb88b6: ; 0xb88b6
- ; so very topically
- text_jump UnknownText_0x1bc93a
- db "@"
-; 0xb88bb
-
-UnknownText_0xb88bb: ; 0xb88bb
- ; sure addictively
- text_jump UnknownText_0x1bc94e
- db "@"
-; 0xb88c0
-
-UnknownText_0xb88c0: ; 0xb88c0
- ; looks in water is
- text_jump UnknownText_0x1bc961
- db "@"
-; 0xb88c5
-
-UnknownText_0xb88c5: ; 0xb88c5
- ; evolution must be
- text_jump UnknownText_0x1bc975
- db "@"
-; 0xb88ca
-
-UnknownText_0xb88ca: ; 0xb88ca
- ; provocatively
- text_jump UnknownText_0x1bc989
- db "@"
-; 0xb88cf
-
-UnknownText_0xb88cf: ; 0xb88cf
- ; so flipped out and
- text_jump UnknownText_0x1bc999
- db "@"
-; 0xb88d4
-
-UnknownText_0xb88d4: ; 0xb88d4
- ; heart-meltingly
- text_jump UnknownText_0x1bc9ae
- db "@"
-; 0xb88d9
-
-Functionb88d9: ; b88d9 (2e:48d9)
- call Random
- and $f
- ld e, a
- ld d, 0
- ld hl, Unknown_b88fe
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [wd006]
- dec a
- ld [wd006], a
- ld a, $d
- jr nz, .asm_b88fb
- ld a, $5
- ld [wd006], a
- ld a, $3b
-.asm_b88fb
- 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
-; b891e
-
-UnknownText_0xb891e: ; 0xb891e
- ; cute.
- text_jump UnknownText_0x1bc9c0
- db "@"
-; 0xb8923
-
-UnknownText_0xb8923: ; 0xb8923
- ; weird.
- text_jump UnknownText_0x1bc9c8
- db "@"
-; 0xb8928
-
-UnknownText_0xb8928: ; 0xb8928
- ; pleasant.
- text_jump UnknownText_0x1bc9d1
- db "@"
-; 0xb892d
-
-UnknownText_0xb892d: ; 0xb892d
- ; bold, sort of.
- text_jump UnknownText_0x1bc9dd
- db "@"
-; 0xb8932
-
-UnknownText_0xb8932: ; 0xb8932
- ; frightening.
- text_jump UnknownText_0x1bc9ee
- db "@"
-; 0xb8937
-
-UnknownText_0xb8937: ; 0xb8937
- ; suave & debonair!
- text_jump UnknownText_0x1bc9fd
- db "@"
-; 0xb893c
-
-UnknownText_0xb893c: ; 0xb893c
- ; powerful.
- text_jump UnknownText_0x1bca11
- db "@"
-; 0xb8941
-
-UnknownText_0xb8941: ; 0xb8941
- ; exciting.
- text_jump UnknownText_0x1bca1d
- db "@"
-; 0xb8946
-
-UnknownText_0xb8946: ; 0xb8946
- ; groovy!
- text_jump UnknownText_0x1bca29
- db "@"
-; 0xb894b
-
-UnknownText_0xb894b: ; 0xb894b
- ; inspiring.
- text_jump UnknownText_0x1bca33
- db "@"
-; 0xb8950
-
-UnknownText_0xb8950: ; 0xb8950
- ; friendly.
- text_jump UnknownText_0x1bca40
- db "@"
-; 0xb8955
-
-UnknownText_0xb8955: ; 0xb8955
- ; hot, hot, hot!
- text_jump UnknownText_0x1bca4c
- db "@"
-; 0xb895a
-
-UnknownText_0xb895a: ; 0xb895a
- ; stimulating.
- text_jump UnknownText_0x1bca5d
- db "@"
-; 0xb895f
-
-UnknownText_0xb895f: ; 0xb895f
- ; guarded.
- text_jump UnknownText_0x1bca6c
- db "@"
-; 0xb8964
-
-UnknownText_0xb8964: ; 0xb8964
- ; lovely.
- text_jump UnknownText_0x1bca77
- db "@"
-; 0xb8969
-
-UnknownText_0xb8969: ; 0xb8969
- ; speedy.
- text_jump UnknownText_0x1bca81
- db "@"
-; 0xb896e
-
-Functionb896e: ; b896e (2e:496e)
- callba Function91868
- ld hl, UnknownText_0xb8993
- call PrintText
- call WaitBGMap
- ld hl, UnknownText_0xb898e
- call PrintText
- ld a, $3c
- ld [wd002], a
- ld a, $64
- ld [wd004], a
- ret
-; b898e (2e:498e)
-
-UnknownText_0xb898e: ; 0xb898e
- ; #MON
- text_jump UnknownText_0x1bca8b
- db "@"
-; 0xb8993
-
-UnknownText_0xb8993: ; 0xb8993
- db "@"
-; 0xb8994
-
-Functionb8994: ; b8994 (2e:4994)
- ld hl, wd004
- dec [hl]
- ret nz
- hlcoord 9, 14
- ld de, String_b89a4
- ld a, $3d
- jp Functionb8a00
-; b89a4 (2e:49a4)
-
-String_b89a4:
- db "#MON@"
-; b89a9
-
-Functionb89a9: ; b89a9 (2e:49a9)
- ld hl, wd004
- dec [hl]
- ret nz
- hlcoord 1, 16
- ld de, String_b89b9
- ld a, $3e
- jp Functionb8a00
-; b89b9 (2e:49b9)
-
-String_b89b9:
- db "#MON Channel@"
-; b89c6
-
-Functionb89c6: ; b89c6 (2e:49c6)
- ld hl, wd004
- dec [hl]
- ret nz
- hlcoord 12, 16
- ld de, String_b89d6
- ld a, $3f
- jp Functionb8a00
-; b89d6 (2e:49d6)
-
-String_b89d6:
- db "@"
-; b89d7
-
-Functionb89d7: ; b89d7 (2e:49d7)
- ld hl, wd004
- dec [hl]
- ret nz
- ld de, $1d
- callab Function91854
- ld hl, UnknownText_0xb89ff
- call PrintText
- ld a, $d
- ld [wd003], a
- xor a
- ld [wd005], a
- ld a, $54
- ld [wd002], a
- ld a, $a
- ld [wd004], a
- ret
-; b89ff (2e:49ff)
-
-UnknownText_0xb89ff: ; 0xb89ff
- db "@"
-; 0xb8a00
-
-Functionb8a00: ; b8a00 (2e:4a00)
- ld [wd002], a
- ld a, $64
- ld [wd004], a
- jp PlaceString
-
-Functionb8a0b: ; b8a0b (2e:4a0b)
- hlcoord 0, 15
- decoord 0, 13
- ld bc, $28
- jp CopyBytes
-
-Functionb8a17: ; b8a17 (2e:4a17)
- hlcoord 1, 15
- ld bc, $12
- ld a, $7f
- call ByteFill
- hlcoord 1, 16
- ld bc, $12
- ld a, $7f
- jp ByteFill
-
-Functionb8a2d: ; b8a2d (2e:4a2d)
- push hl
- push de
- ld a, [CurPartySpecies]
- dec a
- rlca
- rlca
- and 3
- ld hl, .pokedexbanks
- ld d, 0
- ld e, a
- add hl, de
- ld a, [hl]
- pop de
- pop hl
- ret
-; b8a42 (2e:4a42)
-
-.pokedexbanks
- db BANK(PokedexEntries1)
- db BANK(PokedexEntries2)
- db BANK(PokedexEntries3)
- db BANK(PokedexEntries4)
-; b8a46
-
-MaryOakShow2: ; b8a46 (2e:4a46)
- call Functionb91eb
-.asm_b8a49
- call Random
- cp CELEBI
- jr nc, .asm_b8a49
- ld c, a
- push bc
- ld a, c
- call CheckCaughtMon
- pop bc
- jr z, .asm_b8a49
- inc c
- ld a, c
- ld [CurPartySpecies], a
- ld [wd265], a
- call GetPokemonName
- ld hl, UnknownText_0xb8b30
- ld a, $13
- jp NextRadioLine
-
-Functionb8a6c: ; b8a6c (2e:4a6c)
- ld a, [CurPartySpecies]
- dec a
- ld hl, PokedexDataPointerTable
- ld c, a
- ld b, 0
-rept 2
- add hl, bc
-endr
- ld a, BANK(PokedexDataPointerTable)
- call GetFarHalfword
- call Functionb8a2d
- push af
- push hl
- call Functionb8af3
- dec hl
- ld [hl], $57
- ld hl, wd26b
- call Functionb91dc
- pop hl
- pop af
- call Functionb8b11
-rept 4
- inc hl
-endr
- ld a, l
- ld [wd26b], a
- ld a, h
- ld [wd26c], a
- ld a, $14
- jp Functionb86ea
-
-Functionb8aa4: ; b8aa4 (2e:4aa4)
- call Functionb8ad4
- ld a, $15
- jp Functionb86ea
-
-Functionb8aac: ; b8aac (2e:4aac)
- call Functionb8ad4
- ld a, $16
- jp Functionb86ea
-
-Functionb8ab4: ; b8ab4 (2e:4ab4)
- call Functionb8ad4
- ld a, $55
- jp Functionb86ea
-
-Functionb8abc: ; b8abc (2e:4abc)
- call Functionb8ad4
- ld a, $56
- jp Functionb86ea
-
-Functionb8ac4: ; b8ac4 (2e:4ac4)
- call Functionb8ad4
- ld a, $57
- jp Functionb86ea
-
-Functionb8acc: ; b8acc (2e:4acc)
- call Functionb8ad4
- ld a, $1
- jp Functionb86ea
-
-Functionb8ad4: ; b8ad4 (2e:4ad4)
- ld a, [wd26b]
- ld l, a
- ld a, [wd26c]
- ld h, a
- ld a, [wd26d]
- push af
- push hl
- call Functionb8af3
- dec hl
- ld [hl], $57
- ld hl, wd26b
- call Functionb91dc
- pop hl
- pop af
- call Functionb8b11
- ret
-
-Functionb8af3: ; b8af3 (2e:4af3)
- ld de, wd26d
- ld bc, $13
- call FarCopyBytes
- ld hl, wd26b
- ld [hl], $0
- inc hl
- ld [hl], $4f
- inc hl
-.asm_b8b05
- ld a, [hli]
- cp $50
- ret z
- cp $4e
- ret z
- cp $5f
- ret z
- jr .asm_b8b05
-
-Functionb8b11: ; b8b11 (2e:4b11)
- ld d, a
-.asm_b8b12
- 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
- ld a, l
- ld [wd26b], a
- ld a, h
- ld [wd26c], a
- ld a, d
- ld [wd26d], a
- ret
-; b8b30 (2e:4b30)
-
-UnknownText_0xb8b30: ; 0xb8b30
- ; @ @
- text_jump UnknownText_0x1bca91
- db "@"
-; 0xb8b35
-
-BenMonMusic1: ; b8b35 (2e:4b35)
- call Functionb8b90
- ld hl, UnknownText_0xb8baa
- ld a, $17
- jp NextRadioLine
-
-Functionb8b40: ; b8b40 (2e:4b40)
- ld hl, UnknownText_0xb8baf
- ld a, $18
- jp NextRadioLine
-
-Functionb8b48: ; b8b48 (2e:4b48)
- ld hl, UnknownText_0xb8bb4
- ld a, $19
- jp NextRadioLine
-
-Functionb8b50: ; b8b50 (2e:4b50)
- call Functionb8b90
- ld hl, UnknownText_0xb8bb9
- ld a, $1d
- jp NextRadioLine
-
-Functionb8b5b: ; b8b5b (2e:4b5b)
- ld hl, UnknownText_0xb8bbe
- ld a, $19
- jp NextRadioLine
-
-Functionb8b63: ; b8b63 (2e:4b63)
- ld hl, UnknownText_0xb8bc3
- ld a, $1a
- jp NextRadioLine
-
-Functionb8b6b: ; b8b6b (2e:4b6b)
- call GetWeekday
- and 1
- ld hl, UnknownText_0xb8bc8
- jr z, .asm_b8b78
- ld hl, UnknownText_0xb8bcd
-.asm_b8b78
- ld a, $1b
- jp NextRadioLine
-
-Functionb8b7d: ; b8b7d (2e:4b7d)
- call GetWeekday
- and 1
- ld hl, UnknownText_0xb8bd2
- jr z, .asm_b8b8a
- ld hl, UnknownText_0xb8bd7
-.asm_b8b8a
- ld a, $1c
- jp NextRadioLine
-
-Functionb8b8f: ; b8b8f (2e:4b8f)
- ret
-
-Functionb8b90: ; b8b90 (2e:4b90)
- call Function1052
- call PrintText
- ld de, MUSIC_POKEMON_MARCH
- call GetWeekday
- and 1
- jr z, .done
- ld de, MUSIC_POKEMON_LULLABY
-.done
- callab Function91854
- ret
-; b8baa (2e:4baa)
-
-UnknownText_0xb8baa: ; 0xb8baa
- ; BEN: #MON MUSIC
- text_jump UnknownText_0x1bca99
- db "@"
-; 0xb8baf
-
-UnknownText_0xb8baf: ; 0xb8baf
- ; CHANNEL!
- text_jump UnknownText_0x1bcaab
- db "@"
-; 0xb8bb4
-
-UnknownText_0xb8bb4: ; 0xb8bb4
- ; It's me, DJ BEN!
- text_jump UnknownText_0x1bcab6
- db "@"
-; 0xb8bb9
-
-UnknownText_0xb8bb9: ; 0xb8bb9
- ; FERN: #MUSIC!
- text_jump UnknownText_0x1bcac8
- db "@"
-; 0xb8bbe
-
-UnknownText_0xb8bbe: ; 0xb8bbe
- ; With DJ FERN!
- text_jump UnknownText_0x1bcad8
- db "@"
-; 0xb8bc3
-
-UnknownText_0xb8bc3: ; 0xb8bc3
- ; Today's @ ,
- text_jump UnknownText_0x1bcae8
- db "@"
-; 0xb8bc8
-
-UnknownText_0xb8bc8: ; 0xb8bc8
- ; so let us jam to
- text_jump UnknownText_0x1bcaf6
- db "@"
-; 0xb8bcd
-
-UnknownText_0xb8bcd: ; 0xb8bcd
- ; so chill out to
- text_jump UnknownText_0x1bcb09
- db "@"
-; 0xb8bd2
-
-UnknownText_0xb8bd2: ; 0xb8bd2
- ; #MON March!
- text_jump UnknownText_0x1bcb1b
- db "@"
-; 0xb8bd7
-
-UnknownText_0xb8bd7: ; 0xb8bd7
- ; #MON Lullaby!
- text_jump UnknownText_0x1bcb29
- db "@"
-; 0xb8bdc
-
-DJReed1: ; b8bdc (2e:4bdc)
- call Functionb91eb
- callab Functionc434
- jr nc, .asm_b8bed
- callab Functionc422
-.asm_b8bed
- ld hl, UnknownText_0xb8c7e
- ld a, $1e
- jp NextRadioLine
-
-Functionb8bf5: ; b8bf5 (2e:4bf5)
- ld hl, UnknownText_0xb8c83
- ld a, $1f
- jp NextRadioLine
-
-Functionb8bfd: ; b8bfd (2e:4bfd)
- ld hl, UnknownText_0xb8c88
- ld a, $20
- jp NextRadioLine
-
-Functionb8c05: ; b8c05 (2e:4c05)
- ld hl, UnknownText_0xb8c8d
- ld a, $21
- jp NextRadioLine
-
-Functionb8c0d: ; b8c0d (2e:4c0d)
- ld hl, UnknownText_0xb8c92
- ld a, $22
- jp NextRadioLine
-
-Functionb8c15: ; b8c15 (2e:4c15)
- ld hl, UnknownText_0xb8c97
- ld a, $23
- jp NextRadioLine
-
-Functionb8c1d: ; b8c1d (2e:4c1d)
- ld hl, UnknownText_0xb8c9c
- ld a, $24
- jp NextRadioLine
-
-Functionb8c25: ; b8c25 (2e:4c25)
- ld hl, StringBuffer1
- ld de, wdc9f
- ld bc, $8205
- call PrintNum
- ld a, $50
- ld [StringBuffer1 + 5], a
- ld hl, UnknownText_0xb8ca1
- ld a, $25
- jp NextRadioLine
-
-Functionb8c3e: ; b8c3e (2e:4c3e)
- ld hl, UnknownText_0xb8ca6
- ld a, $26
- jp NextRadioLine
-
-Functionb8c46: ; b8c46 (2e:4c46)
- ld hl, UnknownText_0xb8c9c
- ld a, $27
- jp NextRadioLine
-
-Functionb8c4e: ; b8c4e (2e:4c4e)
- ld hl, UnknownText_0xb8ca1
- ld a, $28
- jp NextRadioLine
-
-Functionb8c56: ; b8c56 (2e:4c56)
- ld hl, UnknownText_0xb8cab
- ld a, $29
- jp NextRadioLine
-
-Functionb8c5e: ; b8c5e (2e:4c5e)
- ld hl, UnknownText_0xb8cb0
- call Random
- and a
- ld a, $3
- jr nz, .asm_b8c6b
- ld a, $2a
-.asm_b8c6b
- jp NextRadioLine
-
-Functionb8c6e: ; b8c6e (2e:4c6e)
- ld hl, UnknownText_0xb8cb5
- ld a, $2b
- jp NextRadioLine
-
-Functionb8c76: ; b8c76 (2e:4c76)
- ld hl, UnknownText_0xb8cba
- ld a, $3
- jp NextRadioLine
-; b8c7e (2e:4c7e)
-
-UnknownText_0xb8c7e: ; 0xb8c7e
- ; REED: Yeehaw! How
- text_jump UnknownText_0x1bcb39
- db "@"
-; 0xb8c83
-
-UnknownText_0xb8c83: ; 0xb8c83
- ; y'all doin' now?
- text_jump UnknownText_0x1bcb4d
- db "@"
-; 0xb8c88
-
-UnknownText_0xb8c88: ; 0xb8c88
- ; Whether you're up
- text_jump UnknownText_0x1bcb60
- db "@"
-; 0xb8c8d
-
-UnknownText_0xb8c8d: ; 0xb8c8d
- ; or way down low,
- text_jump UnknownText_0x1bcb73
- db "@"
-; 0xb8c92
-
-UnknownText_0xb8c92: ; 0xb8c92
- ; don't you miss the
- text_jump UnknownText_0x1bcb86
- db "@"
-; 0xb8c97
-
-UnknownText_0xb8c97: ; 0xb8c97
- ; LUCKY NUMBER SHOW!
- text_jump UnknownText_0x1bcb9a
- db "@"
-; 0xb8c9c
-
-UnknownText_0xb8c9c: ; 0xb8c9c
- ; This week's Lucky
- text_jump UnknownText_0x1bcbaf
- db "@"
-; 0xb8ca1
-
-UnknownText_0xb8ca1: ; 0xb8ca1
- ; Number is @ !
- text_jump UnknownText_0x1bcbc2
- db "@"
-; 0xb8ca6
-
-UnknownText_0xb8ca6: ; 0xb8ca6
- ; I'll repeat that!
- text_jump UnknownText_0x1bcbd6
- db "@"
-; 0xb8cab
-
-UnknownText_0xb8cab: ; 0xb8cab
- ; Match it and go to
- text_jump UnknownText_0x1bcbe9
- db "@"
-; 0xb8cb0
-
-UnknownText_0xb8cb0: ; 0xb8cb0
- ; the RADIO TOWER!
- text_jump UnknownText_0x1bcbfe
- db "@"
-; 0xb8cb5
-
-UnknownText_0xb8cb5: ; 0xb8cb5
- ; …Repeating myself
- text_jump UnknownText_0x1bcc11
- db "@"
-; 0xb8cba
-
-UnknownText_0xb8cba: ; 0xb8cba
- ; gets to be a drag…
- text_jump UnknownText_0x1bcc25
- db "@"
-; 0xb8cbf
-
-Functionb8cbf: ; b8cbf (2e:4cbf)
- call Functionb91eb
- ld hl, UnknownText_0xb8ce3
- ld a, $2c
- jp NextRadioLine
-
-Functionb8cca: ; b8cca (2e:4cca)
- ld hl, UnknownText_0xb8ce8
- ld a, $2d
- jp NextRadioLine
-
-Functionb8cd2: ; b8cd2 (2e:4cd2)
- ld hl, UnknownText_0xb8ced
- call Random
- cp $7b
- ld a, $2e
- jr c, .asm_b8ce0
- ld a, $30
-.asm_b8ce0
- jp NextRadioLine
-; b8ce3 (2e:4ce3)
-
-UnknownText_0xb8ce3: ; 0xb8ce3
- ; PLACES AND PEOPLE!
- text_jump UnknownText_0x1bcc3a
- db "@"
-; 0xb8ce8
-
-UnknownText_0xb8ce8: ; 0xb8ce8
- ; Brought to you by
- text_jump UnknownText_0x1bcc4f
- db "@"
-; 0xb8ced
-
-UnknownText_0xb8ced: ; 0xb8ced
- ; me, DJ LILY!
- text_jump UnknownText_0x1bcc63
- db "@"
-; 0xb8cf2
-
-Functionb8cf2: ; b8cf2 (2e:4cf2)
- call Random
- and $7f
- inc a
- cp $43
- jr nc, Functionb8cf2
- push af
- ld hl, Unknown_b8d3e
- ld a, [StatusFlags]
- bit 6, a
- jr z, .NotMet
- ld hl, Unknown_b8d43
- ld a, [KantoBadges]
- cp %11111111
- jr nz, .NotMet
- ld hl, Unknown_b8d4b
-.NotMet
- pop af
- ld c, a
- ld de, $1
- push bc
- call IsInArray
- pop bc
- jr c, Functionb8cf2
- push bc
- callab Function3952d
- ld de, StringBuffer1
- call CopyName1
- pop bc
- ld b, $1
- callab GetTrainerName
- ld hl, UnknownText_0xb8d51
- ld a, $2f
- 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
-; b8d51
-
-UnknownText_0xb8d51: ; 0xb8d51
- ; @ @ @
- text_jump UnknownText_0x1bcc72
- db "@"
-; 0xb8d56
-
-Functionb8d56: ; b8d56 (2e:4d56)
- call Random
- and $f
- ld e, a
- ld d, 0
- ld hl, Unknown_b8d7d
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call Random
- cp $a
- ld a, $5
- jr c, .asm_b8d7a
- call Random
- cp $7b
- ld a, $2e
- jr c, .asm_b8d7a
- ld a, $30
-.asm_b8d7a
- 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
-; b8d9d
-
-UnknownText_0xb8d9d: ; 0xb8d9d
- ; is cute.
- text_jump UnknownText_0x1bcc80
- db "@"
-; 0xb8da2
-
-UnknownText_0xb8da2: ; 0xb8da2
- ; is sort of lazy.
- text_jump UnknownText_0x1bcc8b
- db "@"
-; 0xb8da7
-
-UnknownText_0xb8da7: ; 0xb8da7
- ; is always happy.
- text_jump UnknownText_0x1bcc9e
- db "@"
-; 0xb8dac
-
-UnknownText_0xb8dac: ; 0xb8dac
- ; is quite noisy.
- text_jump UnknownText_0x1bccb1
- db "@"
-; 0xb8db1
-
-UnknownText_0xb8db1: ; 0xb8db1
- ; is precocious.
- text_jump UnknownText_0x1bccc3
- db "@"
-; 0xb8db6
-
-UnknownText_0xb8db6: ; 0xb8db6
- ; is somewhat bold.
- text_jump UnknownText_0x1bccd4
- db "@"
-; 0xb8dbb
-
-UnknownText_0xb8dbb: ; 0xb8dbb
- ; is too picky!
- text_jump UnknownText_0x1bcce8
- db "@"
-; 0xb8dc0
-
-UnknownText_0xb8dc0: ; 0xb8dc0
- ; is sort of OK.
- text_jump UnknownText_0x1bccf8
- db "@"
-; 0xb8dc5
-
-UnknownText_0xb8dc5: ; 0xb8dc5
- ; is just so-so.
- text_jump UnknownText_0x1bcd09
- db "@"
-; 0xb8dca
-
-UnknownText_0xb8dca: ; 0xb8dca
- ; is actually great.
- text_jump UnknownText_0x1bcd1a
- db "@"
-; 0xb8dcf
-
-UnknownText_0xb8dcf: ; 0xb8dcf
- ; is just my type.
- text_jump UnknownText_0x1bcd2f
- db "@"
-; 0xb8dd4
-
-UnknownText_0xb8dd4: ; 0xb8dd4
- ; is so cool, no?
- text_jump UnknownText_0x1bcd42
- db "@"
-; 0xb8dd9
-
-UnknownText_0xb8dd9: ; 0xb8dd9
- ; is inspiring!
- text_jump UnknownText_0x1bcd54
- db "@"
-; 0xb8dde
-
-UnknownText_0xb8dde: ; 0xb8dde
- ; is kind of weird.
- text_jump UnknownText_0x1bcd64
- db "@"
-; 0xb8de3
-
-UnknownText_0xb8de3: ; 0xb8de3
- ; is right for me?
- text_jump UnknownText_0x1bcd78
- db "@"
-; 0xb8de8
-
-UnknownText_0xb8de8: ; 0xb8de8
- ; is definitely odd!
- text_jump UnknownText_0x1bcd8b
- db "@"
-; 0xb8ded
-
-Functionb8ded: ; b8ded (2e:4ded)
- call Random
- cp $9
- jr nc, Functionb8ded
- ld hl, Unknown_b8e11
- ld c, a
- ld b, 0
-rept 2
- add hl, bc
-endr
- ld b, [hl]
- inc hl
- ld c, [hl]
- call GetWorldMapLocation
- ld e, a
- callba GetLandmarkName
- ld hl, UnknownText_0xb8e23
- ld a, $31
- jp NextRadioLine
-; b8e11 (2e:4e11)
-
-Unknown_b8e11: ; b8e11
- map PALLET_TOWN
- map ROUTE_22
- map PEWTER_CITY
- map CERULEAN_POLICE_STATION
- map ROUTE_12
- map ROUTE_11
- map ROUTE_16
- map ROUTE_14
- map CINNABAR_POKECENTER_2F_BETA
-; b8e23
-
-UnknownText_0xb8e23: ; 0xb8e23
- ; @ @
- text_jump UnknownText_0x1bcda0
- db "@"
-; 0xb8e28
-
-Functionb8e28: ; b8e28 (2e:4e28)
- call Random
- and $f
- ld e, a
- ld d, 0
- ld hl, Unknown_b8e52
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call Functionb91dc
- call Random
- cp $a
- ld a, $5
- jr c, .asm_b8e4f
- call Random
- cp $7b
- ld a, $2e
- jr c, .asm_b8e4f
- ld a, $30
-.asm_b8e4f
- jp Functionb86ea
-; 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
-; b8e72
-
-Functionb8e72: ; b8e72 (2e:4e72)
- call Functionb91eb
- ld hl, UnknownText_0xb8ec5
- ld a, $32
- jp NextRadioLine
-
-Functionb8e7d: ; b8e7d (2e:4e7d)
- ld hl, UnknownText_0xb8eca
- ld a, $33
- jp NextRadioLine
-
-Functionb8e85: ; b8e85 (2e:4e85)
- ld hl, UnknownText_0xb8ecf
- ld a, $34
- jp NextRadioLine
-
-Functionb8e8d: ; b8e8d (2e:4e8d)
- ld hl, UnknownText_0xb8ed4
- ld a, $35
- jp NextRadioLine
-
-Functionb8e95: ; b8e95 (2e:4e95)
- ld hl, UnknownText_0xb8ed9
- ld a, $36
- jp NextRadioLine
-
-Functionb8e9d: ; b8e9d (2e:4e9d)
- ld hl, UnknownText_0xb8ede
- ld a, $37
- jp NextRadioLine
-
-Functionb8ea5: ; b8ea5 (2e:4ea5)
- ld hl, UnknownText_0xb8ee3
- ld a, $38
- jp NextRadioLine
-
-Functionb8ead: ; b8ead (2e:4ead)
- ld hl, UnknownText_0xb8ee8
- ld a, $39
- jp NextRadioLine
-
-Functionb8eb5: ; b8eb5 (2e:4eb5)
- ld hl, UnknownText_0xb8eed
- ld a, $3a
- jp NextRadioLine
-
-Functionb8ebd: ; b8ebd (2e:4ebd)
- ld hl, UnknownText_0xb8ef2
- ld a, $7
- jp NextRadioLine
-; b8ec5 (2e:4ec5)
-
-UnknownText_0xb8ec5: ; 0xb8ec5
- ; … …Ahem, we are
- text_jump UnknownText_0x1bcda8
- db "@"
-; 0xb8eca
-
-UnknownText_0xb8eca: ; 0xb8eca
- ; TEAM ROCKET!
- text_jump UnknownText_0x1bcdba
- db "@"
-; 0xb8ecf
-
-UnknownText_0xb8ecf: ; 0xb8ecf
- ; After three years
- text_jump UnknownText_0x1bcdc9
- db "@"
-; 0xb8ed4
-
-UnknownText_0xb8ed4: ; 0xb8ed4
- ; of preparation, we
- text_jump UnknownText_0x1bcddd
- db "@"
-; 0xb8ed9
-
-UnknownText_0xb8ed9: ; 0xb8ed9
- ; have risen again
- text_jump UnknownText_0x1bcdf2
- db "@"
-; 0xb8ede
-
-UnknownText_0xb8ede: ; 0xb8ede
- ; from the ashes!
- text_jump UnknownText_0x1bce05
- db "@"
-; 0xb8ee3
-
-UnknownText_0xb8ee3: ; 0xb8ee3
- ; GIOVANNI! @ Can you
- text_jump UnknownText_0x1bce17
- db "@"
-; 0xb8ee8
-
-UnknownText_0xb8ee8: ; 0xb8ee8
- ; hear?@ We did it!
- text_jump UnknownText_0x1bce2e
- db "@"
-; 0xb8eed
-
-UnknownText_0xb8eed: ; 0xb8eed
- ; @ Where is our boss?
- text_jump UnknownText_0x1bce44
- db "@"
-; 0xb8ef2
-
-UnknownText_0xb8ef2: ; 0xb8ef2
- ; @ Is he listening?
- text_jump UnknownText_0x1bce5c
- db "@"
-; 0xb8ef7
-
-Functionb8ef7: ; b8ef7 (2e:4ef7)
- call Functionb91eb
- ld a, $1
- ld [wd005], a
- ret
-
-Functionb8f00: ; b8f00 (2e:4f00)
- call Functionb91eb
- ld a, $1
- ld [wd005], a
- ret
-
-Functionb8f09: ; b8f09 (2e:4f09)
- call Functionb91eb
- ld a, $1
- ld [wd005], a
- ret
-
-Functionb8f12: ; b8f12 (2e:4f12)
- call Functionb9169
- jp nc, Functionb8f22
- ld a, [wd005]
- and a
- jp z, Functionb912a
- jp Functionb90c5
-
-Functionb8f22: ; b8f22 (2e:4f22)
- call Functionb91eb
- ld a, [hBGMapMode] ; $ff00+$d4
- push af
- xor a
- ld [hBGMapMode], a ; $ff00+$d4
- ld de, String_b9171
- hlcoord 2, 9
- call PlaceString
- pop af
- ld [hBGMapMode], a ; $ff00+$d4
- ld hl, UnknownText_0xb9182
- ld a, $40
- jp NextRadioLine
-
-Functionb8f3f: ; b8f3f (2e:4f3f)
- ld hl, UnknownText_0xb9187
- ld a, $41
- jp NextRadioLine
-
-Functionb8f47: ; b8f47 (2e:4f47)
- call Functionb9169
- ld hl, UnknownText_0xb918c
- jp c, Functionb90b9
- ld a, $42
- jp NextRadioLine
-
-Functionb8f55: ; b8f55 (2e:4f55)
- call Functionb9169
- jp c, Functionb90c5
- ld a, [wdc4a]
- ld hl, WeeklyFlags
- bit 7, [hl]
- jr nz, .asm_b8f83
-.asm_b8f65
- call Random
- and $f
- cp $b
- jr nc, .asm_b8f65
- swap a
- ld e, a
-.asm_b8f71
- call Random
- and $3
- cp $3
- jr nc, .asm_b8f71
- add e
- ld [wdc4a], a
- ld hl, WeeklyFlags
- set 7, [hl]
-.asm_b8f83
- ld c, a
- call Functionb8f8f
- ld hl, UnknownText_0xb9191
- ld a, $43
- jp NextRadioLine
-
-Functionb8f8f: ; b8f8f
- ld a, c
- swap a
- and $f
- ld hl, Unknown_b8ff9
- ld d, 0
- ld e, a
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [hli]
- ld b, a
- push hl
- inc hl
- ld a, c
- and $f
- ld c, a
- push hl
- ld hl, Jumptable_b8fb8
- ld e, b
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- pop de
- call _hl_
- pop hl
- ld c, [hl]
- ret
-; b8fb8
-
-
-Jumptable_b8fb8: ; b8fb8 (2e:4fb8)
- dw Functionb8fc0
- dw Functionb8fc7
- dw Functionb8fce
- dw Functionb8fde
-
-
-Functionb8fc0: ; b8fc0 (2e:4fc0)
- call Functionb8fd5
- call GetPokemonName
- ret
-
-Functionb8fc7: ; b8fc7 (2e:4fc7)
- call Functionb8fd5
- call GetItemName
- ret
-
-Functionb8fce: ; b8fce (2e:4fce)
- call Functionb8fd5
- call GetMoveName
- ret
-
-Functionb8fd5: ; b8fd5 (2e:4fd5)
- ld h, 0
- ld l, c
- add hl, de
- ld a, [hl]
- ld [wd265], a
- ret
-
-Functionb8fde: ; b8fde (2e:4fde)
- ld a, c
- and a
- jr z, .asm_b8feb
-.asm_b8fe2
- ld a, [de]
- inc de
- cp $50
- jr nz, .asm_b8fe2
- dec c
- jr nz, .asm_b8fe2
-.asm_b8feb
- ld hl, StringBuffer1
-.asm_b8fee
- ld a, [de]
- inc de
- ld [hli], a
- cp $50
- jr nz, .asm_b8fee
- ld de, StringBuffer1
- ret
-; b8ff9 (2e:4ff9)
-
-Unknown_b8ff9: ; b8ff9
- dw Unknown_b900f
- dw Unknown_b9014
- dw Unknown_b9019
- dw Unknown_b901e
- dw Unknown_b9023
- dw Unknown_b9028
- dw Unknown_b902d
- dw Unknown_b905a
- dw Unknown_b906d
- dw Unknown_b9072
- dw Unknown_b9077
-; b900f
-
-Unknown_b900f: db 0, 10, CYNDAQUIL, TOTODILE, CHIKORITA
-Unknown_b9014: db 1, 12, FRESH_WATER, SODA_POP, LEMONADE
-Unknown_b9019: db 1, 12, POTION, ANTIDOTE, PARLYZ_HEAL
-Unknown_b901e: db 1, 12, POKE_BALL, GREAT_BALL, ULTRA_BALL
-Unknown_b9023: db 0, 10, PIKACHU, RATTATA, GEODUDE
-Unknown_b9028: db 0, 10, HOOTHOOT, SPINARAK, DROWZEE
-Unknown_b902d: db 3, 16, "NEW BARK TOWN@", "CHERRYGROVE CITY@", "AZALEA TOWN@"
-Unknown_b905a: db 3, 6, "FLYING@", "BUG@", "GRASS@"
-Unknown_b906d: db 2, 12, TACKLE, GROWL, MUD_SLAP
-Unknown_b9072: db 1, 12, X_ATTACK, X_DEFEND, X_SPEED
-Unknown_b9077: db 3, 13, "#MON Talk@", "#MON Music@", "Lucky Channel@"
-; b909c
-
-Functionb909c: ; b909c (2e:509c)
- ld hl, UnknownText_0xb9196
- ld a, $44
- jp NextRadioLine
-
-Functionb90a4: ; b90a4 (2e:50a4)
- ld hl, UnknownText_0xb919b
- ld a, $45
- jp NextRadioLine
-
-Functionb90ac: ; b90ac (2e:50ac)
- call Functionb9169
- ld hl, UnknownText_0xb91a0
- jr c, Functionb90b9
- ld a, $4
- jp NextRadioLine
-
-Functionb90b9: ; b90b9 (2e:50b9)
- push hl
- ld hl, WeeklyFlags
- res 7, [hl]
- pop hl
- ld a, $46
- jp NextRadioLine
-
-Functionb90c5: ; b90c5 (2e:50c5)
- ld hl, WeeklyFlags
- res 7, [hl]
- ld hl, UnknownText_0xb91d2
- ld a, $47
- jp NextRadioLine
-
-Functionb90d2: ; b90d2 (2e:50d2)
- ld hl, UnknownText_0xb91a5
- ld a, $48
- jp NextRadioLine
-
-Functionb90da: ; b90da (2e:50da)
- ld hl, UnknownText_0xb91aa
- ld a, $49
- jp NextRadioLine
-
-Functionb90e2: ; b90e2 (2e:50e2)
- ld hl, UnknownText_0xb91af
- ld a, $4a
- jp NextRadioLine
-
-Functionb90ea: ; b90ea (2e:50ea)
- ld hl, UnknownText_0xb91b4
- ld a, $4b
- jp NextRadioLine
-
-Functionb90f2: ; b90f2 (2e:50f2)
- ld hl, UnknownText_0xb91b9
- ld a, $4c
- jp NextRadioLine
-
-Functionb90fa: ; b90fa (2e:50fa)
- ld hl, UnknownText_0xb91be
- ld a, $4d
- jp NextRadioLine
-
-Functionb9102: ; b9102 (2e:5102)
- ld hl, UnknownText_0xb91c3
- ld a, $4e
- jp NextRadioLine
-
-Functionb910a: ; b910a (2e:510a)
- ld hl, UnknownText_0xb91c8
- ld a, $4f
- jp NextRadioLine
-
-Functionb9112: ; b9112 (2e:5112)
- ld hl, UnknownText_0xb91cd
- ld a, $50
- jp NextRadioLine
-
-Functionb911a: ; b911a (2e:511a)
- ld hl, UnknownText_0xb91d2
- ld a, $51
- jp NextRadioLine
-
-Functionb9122: ; b9122 (2e:5122)
- ld hl, UnknownText_0xb91d2
- ld a, $52
- jp NextRadioLine
-
-Functionb912a: ; b912a (2e:512a)
- ld a, [hBGMapMode] ; $ff00+$d4
- push af
- callba NoRadioMusic
- callba NoRadioName
- pop af
- ld [hBGMapMode], a ; $ff00+$d4
- ld hl, WeeklyFlags
- res 7, [hl]
- ld a, $4
- ld [wd002], a
- xor a
- ld [wd005], a
- ld hl, UnknownText_0xb91d7
- ld a, $53
- jp NextRadioLine
-
-Functionb9152: ; b9152 (2e:5152)
- ld a, $4
- ld [wd002], a
- xor a
- ld [wd005], a
- call Functionb9169
- jp nc, Functionb8f12
- ld hl, UnknownText_0xb91d7
- ld a, $53
- jp NextRadioLine
-
-Functionb9169: ; b9169 (2e:5169)
- call UpdateTime
- ld a, [hHours] ; $ff00+$94
- cp $12
- ret
-; b9171 (2e:5171)
-
-String_b9171:
- db "BUENA'S PASSWORD@"
-; b9182
-
-UnknownText_0xb9182: ; 0xb9182
- ; BUENA: BUENA here!
- text_jump UnknownText_0x1bce72
- db "@"
-; 0xb9187
-
-UnknownText_0xb9187: ; 0xb9187
- ; Today's password!
- text_jump UnknownText_0x1bce87
- db "@"
-; 0xb918c
-
-UnknownText_0xb918c: ; 0xb918c
- ; Let me think… It's
- text_jump UnknownText_0x1bce9a
- db "@"
-; 0xb9191
-
-UnknownText_0xb9191: ; 0xb9191
- ; @ !
- text_jump UnknownText_0x1bceae
- db "@"
-; 0xb9196
-
-UnknownText_0xb9196: ; 0xb9196
- ; Don't forget it!
- text_jump UnknownText_0x1bceb7
- db "@"
-; 0xb919b
-
-UnknownText_0xb919b: ; 0xb919b
- ; I'm in GOLDENROD's
- text_jump UnknownText_0x1bcec9
- db "@"
-; 0xb91a0
-
-UnknownText_0xb91a0: ; 0xb91a0
- ; RADIO TOWER!
- text_jump UnknownText_0x1bcedc
- db "@"
-; 0xb91a5
-
-UnknownText_0xb91a5: ; 0xb91a5
- ; BUENA: Oh my…
- text_jump UnknownText_0x1bceeb
- db "@"
-; 0xb91aa
-
-UnknownText_0xb91aa: ; 0xb91aa
- ; It's midnight! I
- text_jump UnknownText_0x1bcefb
- db "@"
-; 0xb91af
-
-UnknownText_0xb91af: ; 0xb91af
- ; have to shut down!
- text_jump UnknownText_0x1bcf0d
- db "@"
-; 0xb91b4
-
-UnknownText_0xb91b4: ; 0xb91b4
- ; Thanks for tuning
- text_jump UnknownText_0x1bcf22
- db "@"
-; 0xb91b9
-
-UnknownText_0xb91b9: ; 0xb91b9
- ; in to the end! But
- text_jump UnknownText_0x1bcf36
- db "@"
-; 0xb91be
-
-UnknownText_0xb91be: ; 0xb91be
- ; don't stay up too
- text_jump UnknownText_0x1bcf4b
- db "@"
-; 0xb91c3
-
-UnknownText_0xb91c3: ; 0xb91c3
- ; late! Presented to
- text_jump UnknownText_0x1bcf5e
- db "@"
-; 0xb91c8
-
-UnknownText_0xb91c8: ; 0xb91c8
- ; you by DJ BUENA!
- text_jump UnknownText_0x1bcf73
- db "@"
-; 0xb91cd
-
-UnknownText_0xb91cd: ; 0xb91cd
- ; I'm outta here!
- text_jump UnknownText_0x1bcf86
- db "@"
-; 0xb91d2
-
-UnknownText_0xb91d2: ; 0xb91d2
- ; …
- text_jump UnknownText_0x1bcf96
- db "@"
-; 0xb91d7
-
-UnknownText_0xb91d7: ; 0xb91d7
- ;
- text_jump UnknownText_0x1bcf99
- db "@"
-; 0xb91dc
-
-Functionb91dc: ; b91dc (2e:51dc)
- ld a, [hl]
- cp $16 ; TX_FAR
- jp z, FarJumpText
- ld de, wd00c
- ld bc, $28
- jp CopyBytes
-
-Functionb91eb: ; b91eb (2e:51eb)
- ld a, [wd005]
- and a
- ret nz
- call Function1052
- call PrintText
- ld hl, RadioChannelSongs
- ld a, [wd002]
- ld c, a
- ld b, 0
-rept 2
- add hl, bc
-endr
- ld e, [hl]
- inc hl
- ld d, [hl]
- callab Function91854
- ret
-; b920b (2e:520b)
-
-RadioChannelSongs: ; b920b
- dw MUSIC_POKEMON_TALK
- dw MUSIC_POKEMON_CENTER
- dw MUSIC_TITLE
- dw MUSIC_GAME_CORNER
- dw MUSIC_BUENAS_PASSWORD
- dw MUSIC_VIRIDIAN_CITY
- dw MUSIC_BICYCLE
- dw MUSIC_ROCKET_OVERTURE
- dw MUSIC_POKE_FLUTE_CHANNEL
- dw MUSIC_RUINS_OF_ALPH_RADIO
- dw MUSIC_LAKE_OF_RAGE_ROCKET_RADIO
-; b9221
-
-NextRadioLine: ; b9221 (2e:5221)
- push af
- call Functionb91dc
- pop af
- jp Functionb86ea
-; b9229
+PlayRadioShow: ; b8612 +; If we're already in the radio program proper, we don't need to be here. + ld a, [wd002] + cp 8 + jr nc, .ok +; If Team Rocket is not occupying the radio tower, we don't need to be here. + ld a, [StatusFlags2] + bit 0, a ; checkflag ENGINE_ROCKETS_IN_RADIO_TOWER + jr z, .ok +; If we're in Kanto, we don't need to be here. + call IsInJohto + and a + jr nz, .ok +; Team Rocket broadcasts on all stations. + ld a, 7 + ld [wd002], a +.ok +; Jump to the currently loaded station. The index to which we need to jump is in wd002. + ld a, [wd002] + ld e, a + ld d, 0 + ld hl, RadioJumptable +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +RadioJumptable: ; b863a (2e:463a) + dw OaksPkmnTalk1 ; $00 + dw PokedexShow1 ; $01 + dw BenMonMusic1 ; $02 + dw LuckyNumberShow1 ; $03 + dw BuenasPassword1 ; $04 + dw PeoplePlaces1 ; $05 + dw FernMonMusic1 ; $06 + dw RocketRadio1 ; $07 + dw PokeFluteRadio ; $08 + dw EvolutionRadio ; $09 + dw UnownRadio ; $0a +; OaksPkmnTalk + dw OaksPkmnTalk2 ; $0b + dw OaksPkmnTalk3 ; $0c + dw OaksPkmnTalk4 ; $0d + dw OaksPkmnTalk5 ; $0e + dw OaksPkmnTalk6 ; $0f + dw OaksPkmnTalk7 ; $10 + dw OaksPkmnTalk8 ; $11 + dw OaksPkmnTalk9 ; $12 + dw OaksPkmnTalk10 ; $13 + dw OaksPkmnTalk11 ; $14 + dw OaksPkmnTalk12 ; $15 + dw OaksPkmnTalk13 ; $16 +; Ben Music + dw BenMonMusic2 ; $17 + dw BenMonMusic3 ; $18 + dw BenFernMusic4 ; $19 + dw BenFernMusic5 ; $1a + dw BenFernMusic6 ; $1b + dw BenFernMusic7 ; $1c + dw FernMonMusic2 ; $1d +; Lucky Number Show + dw LuckyNumberShow2 ; $1e + dw LuckyNumberShow3 ; $1f + dw LuckyNumberShow4 ; $20 + dw LuckyNumberShow5 ; $21 + dw LuckyNumberShow6 ; $22 + dw LuckyNumberShow7 ; $23 + dw LuckyNumberShow8 ; $24 + dw LuckyNumberShow9 ; $25 + dw LuckyNumberShow10 ; $26 + dw LuckyNumberShow11 ; $27 + dw LuckyNumberShow12 ; $28 + 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 +; Rocket Radio + dw RocketRadio2 ; $32 + dw RocketRadio3 ; $33 + dw RocketRadio4 ; $34 + dw RocketRadio5 ; $35 + dw RocketRadio6 ; $36 + dw RocketRadio7 ; $37 + dw RocketRadio8 ; $38 + 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 +; Buenas Password + dw BuenasPassword2 ; $40 + dw BuenasPassword3 ; $41 + dw BuenasPassword4 ; $42 + dw BuenasPassword5 ; $43 + dw BuenasPassword6 ; $44 + dw BuenasPassword7 ; $45 + dw BuenasPassword8 ; $46 + dw BuenasPassword9 ; $47 + dw BuenasPassword10 ; $48 + dw BuenasPassword11 ; $49 + dw BuenasPassword12 ; $4a + dw BuenasPassword13 ; $4b + dw BuenasPassword14 ; $4c + dw BuenasPassword15 ; $4d + dw BuenasPassword16 ; $4e + dw BuenasPassword17 ; $4f + dw BuenasPassword18 ; $50 + dw BuenasPassword19 ; $51 + dw BuenasPassword20 ; $52 + dw BuenasPassword21 ; $53 + dw RadioScroll ; $54 +; More Pokemon Channel stuff + dw OaksPkmnTalk19 ; $55 + dw OaksPkmnTalk20 ; $56 + dw OaksPkmnTalk21 ; $57 + + +PrintRadioLine: ; b86ea (2e:46ea) + ld [wd003], a + ld hl, wd00c + ld a, [wd005] + cp $2 + jr nc, .print + inc hl + ld [hl], $0 + inc a + ld [wd005], a + cp $2 + jr nz, .print + bccoord 1, 16 + call PlaceWholeStringInBoxAtOnce + jr .skip +.print + call PrintTextBoxText +.skip + ld a, $54 + ld [wd002], a + ld a, $64 + ld [wd004], a + ret +; b8718 (2e:4718) + +Functionb8718: ; b8718 + push hl + ld b, SCREEN_WIDTH * 2 +.greater_than_10 + ld a, [hl] + cp "." + jr nz, .next + ld [hl], " " + +.next + inc hl + dec b + jr nz, .greater_than_10 + pop hl + ret +; b8728 + +RadioScroll: ; b8728 (2e:4728) + ld hl, wd004 + ld a, [hl] + and a + jr z, .proceed + dec [hl] + ret +.proceed + ld a, [wd003] + ld [wd002], a + ld a, [wd005] + cp 1 + call nz, CopyBottomLineToTopLine + jp ClearBottomLine + +OaksPkmnTalk1: ; b8742 (2e:4742) + ld a, $5 + ld [wd006], a + call StartRadioStation + ld hl, UnknownText_0xb8820 + ld a, $b + jp NextRadioLine + +OaksPkmnTalk2: ; b8752 (2e:4752) + ld hl, UnknownText_0xb8825 + ld a, $c + jp NextRadioLine + +OaksPkmnTalk3: ; b875a (2e:475a) + ld hl, UnknownText_0xb882a + ld a, $d + jp NextRadioLine + +OaksPkmnTalk4: ; b8762 (2e:4762) +; Choose a random root, and a random Pokemon from that route. + call Random + and $1f + cp $f + jr nc, OaksPkmnTalk4 + ld hl, Unknown_b87f2 + ld c, a + ld b, 0 +rept 2 + add hl, bc +endr + ld b, [hl] + inc hl + ld c, [hl] + push bc + + ld hl, WildMons1 +.greater_than_10 + ld a, BANK(WildMons1) + call GetFarByte + cp -1 + jr z, .done2 + inc hl + cp b + jr nz, .next + ld a, BANK(WildMons1) + call GetFarByte + cp c + jr z, .done +.next + dec hl + ld de, $2f + add hl, de + jr .greater_than_10 + +.done +rept 4 + inc hl +endr + +.both_bits_set + call Random + and 3 + cp 3 + jr z, .both_bits_set + + ld bc, $e + call AddNTimes +.greater_than_102 + call Random + and 7 + cp 2 + jr c, .greater_than_102 + cp 5 + jr nc, .greater_than_102 + ld e, a + ld d, 0 +rept 2 + add hl, de +endr + inc hl + ld a, BANK(WildMons1) + call GetFarByte + ld [wd265], a + ld [CurPartySpecies], a + call GetPokemonName + ld hl, StringBuffer1 + ld de, wd050 + ld bc, $b + call CopyBytes + + pop bc + call GetWorldMapLocation + ld e, a + callba GetLandmarkName + ld hl, UnknownText_0xb882f + call CopyRadioTextToRAM + ld a, $e + jp PrintRadioLine + +.done2 + pop bc + ld a, $0 + jp PrintRadioLine +; b87f2 (2e:47f2) + +Unknown_b87f2: ; b87f2 + map ROUTE_29 + map ROUTE_46 + map ROUTE_30 + map ROUTE_32 + map ROUTE_34 + map ROUTE_35 + map ROUTE_37 + map ROUTE_38 + map ROUTE_39 + map ROUTE_42 + map ROUTE_43 + map ROUTE_44 + map ROUTE_45 + map ROUTE_36 + map ROUTE_31 +; b8810 + +OaksPkmnTalk5: ; b8810 (2e:4810) + ld hl, UnknownText_0xb8834 + ld a, $f + jp NextRadioLine + +OaksPkmnTalk6: ; b8818 (2e:4818) + ld hl, UnknownText_0xb8839 + ld a, $10 + jp NextRadioLine +; b8820 (2e:4820) + +UnknownText_0xb8820: ; 0xb8820 + ; MARY: PROF.OAK'S + text_jump UnknownText_0x1bc81a + db "@" +; 0xb8825 + +UnknownText_0xb8825: ; 0xb8825 + ; #MON TALK! + text_jump UnknownText_0x1bc82d + db "@" +; 0xb882a + +UnknownText_0xb882a: ; 0xb882a + ; With me, MARY! + text_jump UnknownText_0x1bc83a + db "@" +; 0xb882f + +UnknownText_0xb882f: ; 0xb882f + ; OAK: @ @ + text_jump UnknownText_0x1bc84b + db "@" +; 0xb8834 + +UnknownText_0xb8834: ; 0xb8834 + ; may be seen around + text_jump UnknownText_0x1bc858 + db "@" +; 0xb8839 + +UnknownText_0xb8839: ; 0xb8839 + ; @ . + text_jump UnknownText_0x1bc86d + db "@" +; 0xb883e + +OaksPkmnTalk7: ; b883e (2e:483e) + ld a, [CurPartySpecies] + ld [wd265], a + call GetPokemonName + ld hl, UnknownText_0xb884f + ld a, $11 + jp NextRadioLine +; b884f (2e:484f) + +UnknownText_0xb884f: ; 0xb884f + ; MARY: @ 's + text_jump UnknownText_0x1bc876 + db "@" +; 0xb8854 + +OaksPkmnTalk8: ; b8854 (2e:4854) + call Random + and $f + ld e, a + ld d, 0 + ld hl, Unknown_b8869 +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $12 + 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 +; b8889 + +UnknownText_0xb8889: ; 0xb8889 + ; sweet and adorably + text_jump UnknownText_0x1bc885 + db "@" +; 0xb888e + +UnknownText_0xb888e: ; 0xb888e + ; wiggly and slickly + text_jump UnknownText_0x1bc89a + db "@" +; 0xb8893 + +UnknownText_0xb8893: ; 0xb8893 + ; aptly named and + text_jump UnknownText_0x1bc8af + db "@" +; 0xb8898 + +UnknownText_0xb8898: ; 0xb8898 + ; undeniably kind of + text_jump UnknownText_0x1bc8c1 + db "@" +; 0xb889d + +UnknownText_0xb889d: ; 0xb889d + ; so, so unbearably + text_jump UnknownText_0x1bc8d6 + db "@" +; 0xb88a2 + +UnknownText_0xb88a2: ; 0xb88a2 + ; wow, impressively + text_jump UnknownText_0x1bc8ea + db "@" +; 0xb88a7 + +UnknownText_0xb88a7: ; 0xb88a7 + ; almost poisonously + text_jump UnknownText_0x1bc8fe + db "@" +; 0xb88ac + +UnknownText_0xb88ac: ; 0xb88ac + ; ooh, so sensually + text_jump UnknownText_0x1bc913 + db "@" +; 0xb88b1 + +UnknownText_0xb88b1: ; 0xb88b1 + ; so mischievously + text_jump UnknownText_0x1bc927 + db "@" +; 0xb88b6 + +UnknownText_0xb88b6: ; 0xb88b6 + ; so very topically + text_jump UnknownText_0x1bc93a + db "@" +; 0xb88bb + +UnknownText_0xb88bb: ; 0xb88bb + ; sure addictively + text_jump UnknownText_0x1bc94e + db "@" +; 0xb88c0 + +UnknownText_0xb88c0: ; 0xb88c0 + ; looks in water is + text_jump UnknownText_0x1bc961 + db "@" +; 0xb88c5 + +UnknownText_0xb88c5: ; 0xb88c5 + ; evolution must be + text_jump UnknownText_0x1bc975 + db "@" +; 0xb88ca + +UnknownText_0xb88ca: ; 0xb88ca + ; provocatively + text_jump UnknownText_0x1bc989 + db "@" +; 0xb88cf + +UnknownText_0xb88cf: ; 0xb88cf + ; so flipped out and + text_jump UnknownText_0x1bc999 + db "@" +; 0xb88d4 + +UnknownText_0xb88d4: ; 0xb88d4 + ; heart-meltingly + text_jump UnknownText_0x1bc9ae + db "@" +; 0xb88d9 + +OaksPkmnTalk9: ; b88d9 (2e:48d9) + call Random + and $f + ld e, a + ld d, 0 + ld hl, Unknown_b88fe +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wd006] + dec a + ld [wd006], a + ld a, $d + jr nz, .nope + ld a, $5 + ld [wd006], a + ld a, $3b +.nope + 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 +; b891e + +UnknownText_0xb891e: ; 0xb891e + ; cute. + text_jump UnknownText_0x1bc9c0 + db "@" +; 0xb8923 + +UnknownText_0xb8923: ; 0xb8923 + ; weird. + text_jump UnknownText_0x1bc9c8 + db "@" +; 0xb8928 + +UnknownText_0xb8928: ; 0xb8928 + ; pleasant. + text_jump UnknownText_0x1bc9d1 + db "@" +; 0xb892d + +UnknownText_0xb892d: ; 0xb892d + ; bold, sort of. + text_jump UnknownText_0x1bc9dd + db "@" +; 0xb8932 + +UnknownText_0xb8932: ; 0xb8932 + ; frightening. + text_jump UnknownText_0x1bc9ee + db "@" +; 0xb8937 + +UnknownText_0xb8937: ; 0xb8937 + ; suave & debonair! + text_jump UnknownText_0x1bc9fd + db "@" +; 0xb893c + +UnknownText_0xb893c: ; 0xb893c + ; powerful. + text_jump UnknownText_0x1bca11 + db "@" +; 0xb8941 + +UnknownText_0xb8941: ; 0xb8941 + ; exciting. + text_jump UnknownText_0x1bca1d + db "@" +; 0xb8946 + +UnknownText_0xb8946: ; 0xb8946 + ; groovy! + text_jump UnknownText_0x1bca29 + db "@" +; 0xb894b + +UnknownText_0xb894b: ; 0xb894b + ; inspiring. + text_jump UnknownText_0x1bca33 + db "@" +; 0xb8950 + +UnknownText_0xb8950: ; 0xb8950 + ; friendly. + text_jump UnknownText_0x1bca40 + db "@" +; 0xb8955 + +UnknownText_0xb8955: ; 0xb8955 + ; hot, hot, hot! + text_jump UnknownText_0x1bca4c + db "@" +; 0xb895a + +UnknownText_0xb895a: ; 0xb895a + ; stimulating. + text_jump UnknownText_0x1bca5d + db "@" +; 0xb895f + +UnknownText_0xb895f: ; 0xb895f + ; guarded. + text_jump UnknownText_0x1bca6c + db "@" +; 0xb8964 + +UnknownText_0xb8964: ; 0xb8964 + ; lovely. + text_jump UnknownText_0x1bca77 + db "@" +; 0xb8969 + +UnknownText_0xb8969: ; 0xb8969 + ; speedy. + text_jump UnknownText_0x1bca81 + db "@" +; 0xb896e + +OaksPkmnTalk14: ; b896e (2e:496e) + callba Function91868 + ld hl, UnknownText_0xb8993 + call PrintText + call WaitBGMap + ld hl, UnknownText_0xb898e + call PrintText + ld a, $3c + ld [wd002], a + ld a, $64 + ld [wd004], a + ret +; b898e (2e:498e) + +UnknownText_0xb898e: ; 0xb898e + ; #MON + text_jump UnknownText_0x1bca8b + db "@" +; 0xb8993 + +UnknownText_0xb8993: ; 0xb8993 + db "@" +; 0xb8994 + +OaksPkmnTalk15: ; b8994 (2e:4994) + ld hl, wd004 + dec [hl] + ret nz + hlcoord 9, 14 + ld de, String_b89a4 + ld a, $3d + jp Functionb8a00 +; b89a4 (2e:49a4) + +String_b89a4: + db "#MON@" +; b89a9 + +OaksPkmnTalk16: ; b89a9 (2e:49a9) + ld hl, wd004 + dec [hl] + ret nz + hlcoord 1, 16 + ld de, String_b89b9 + ld a, $3e + jp Functionb8a00 +; b89b9 (2e:49b9) + +String_b89b9: + db "#MON Channel@" +; b89c6 + +OaksPkmnTalk17: ; b89c6 (2e:49c6) + ld hl, wd004 + dec [hl] + ret nz + hlcoord 12, 16 + ld de, String_b89d6 + ld a, $3f + jp Functionb8a00 +; b89d6 (2e:49d6) + +String_b89d6: + db "@" +; b89d7 + +OaksPkmnTalk18: ; b89d7 (2e:49d7) + ld hl, wd004 + dec [hl] + ret nz + ld de, $1d + callab RadioMusicNone + ld hl, UnknownText_0xb89ff + call PrintText + ld a, $d + ld [wd003], a + xor a + ld [wd005], a + ld a, $54 + ld [wd002], a + ld a, $a + ld [wd004], a + ret +; b89ff (2e:49ff) + +UnknownText_0xb89ff: ; 0xb89ff + db "@" +; 0xb8a00 + +Functionb8a00: ; b8a00 (2e:4a00) + ld [wd002], a + ld a, $64 + ld [wd004], a + jp PlaceString + +CopyBottomLineToTopLine: ; b8a0b (2e:4a0b) + hlcoord 0, 15 + decoord 0, 13 + ld bc, SCREEN_WIDTH * 2 + jp CopyBytes + +ClearBottomLine: ; b8a17 (2e:4a17) + hlcoord 1, 15 + ld bc, $12 + ld a, " " + call ByteFill + hlcoord 1, 16 + ld bc, $12 + ld a, " " + jp ByteFill + +Functionb8a2d: ; b8a2d (2e:4a2d) + push hl + push de + ld a, [CurPartySpecies] + dec a + rlca + rlca + and 3 + ld hl, .pokedexbanks + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + pop de + pop hl + ret +; b8a42 (2e:4a42) + +.pokedexbanks + db BANK(PokedexEntries1) + db BANK(PokedexEntries2) + db BANK(PokedexEntries3) + db BANK(PokedexEntries4) +; b8a46 + +PokedexShow1: ; b8a46 (2e:4a46) + call StartRadioStation +.asm_b8a49 + call Random + cp CELEBI + jr nc, .asm_b8a49 + ld c, a + push bc + ld a, c + call CheckCaughtMon + pop bc + jr z, .asm_b8a49 + inc c + ld a, c + ld [CurPartySpecies], a + ld [wd265], a + call GetPokemonName + ld hl, UnknownText_0xb8b30 + ld a, $13 + jp NextRadioLine + +OaksPkmnTalk10: ; b8a6c (2e:4a6c) + ld a, [CurPartySpecies] + dec a + ld hl, PokedexDataPointerTable + ld c, a + ld b, 0 +rept 2 + add hl, bc +endr + ld a, BANK(PokedexDataPointerTable) + call GetFarHalfword + call Functionb8a2d + push af + push hl + call Functionb8af3 + dec hl + ld [hl], $57 + ld hl, wd26b + call CopyRadioTextToRAM + pop hl + pop af + call Functionb8b11 +rept 4 + inc hl +endr + ld a, l + ld [wd26b], a + ld a, h + ld [wd26c], a + ld a, $14 + jp PrintRadioLine + +OaksPkmnTalk11: ; b8aa4 (2e:4aa4) + call Functionb8ad4 + ld a, $15 + jp PrintRadioLine + +OaksPkmnTalk12: ; b8aac (2e:4aac) + call Functionb8ad4 + ld a, $16 + jp PrintRadioLine + +OaksPkmnTalk13: ; b8ab4 (2e:4ab4) + call Functionb8ad4 + ld a, $55 + jp PrintRadioLine + +OaksPkmnTalk19: ; b8abc (2e:4abc) + call Functionb8ad4 + ld a, $56 + jp PrintRadioLine + +OaksPkmnTalk20: ; b8ac4 (2e:4ac4) + call Functionb8ad4 + ld a, $57 + jp PrintRadioLine + +OaksPkmnTalk21: ; b8acc (2e:4acc) + call Functionb8ad4 + ld a, $1 + jp PrintRadioLine + +Functionb8ad4: ; b8ad4 (2e:4ad4) + ld a, [wd26b] + ld l, a + ld a, [wd26c] + ld h, a + ld a, [wd26d] + push af + push hl + call Functionb8af3 + dec hl + ld [hl], $57 + ld hl, wd26b + call CopyRadioTextToRAM + pop hl + pop af + call Functionb8b11 + ret + +Functionb8af3: ; b8af3 (2e:4af3) + ld de, wd26d + ld bc, $13 + call FarCopyBytes + ld hl, wd26b + ld [hl], $0 + inc hl + ld [hl], $4f + inc hl +.asm_b8b05 + ld a, [hli] + cp $50 + ret z + cp $4e + ret z + cp $5f + ret z + jr .asm_b8b05 + +Functionb8b11: ; b8b11 (2e:4b11) + ld d, a +.asm_b8b12 + 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 + ld a, l + ld [wd26b], a + ld a, h + ld [wd26c], a + ld a, d + ld [wd26d], a + ret +; b8b30 (2e:4b30) + +UnknownText_0xb8b30: ; 0xb8b30 + ; @ @ + text_jump UnknownText_0x1bca91 + db "@" +; 0xb8b35 + +BenMonMusic1: ; b8b35 (2e:4b35) + call Functionb8b90 + ld hl, UnknownText_0xb8baa + ld a, $17 + jp NextRadioLine + +BenMonMusic2: ; b8b40 (2e:4b40) + ld hl, UnknownText_0xb8baf + ld a, $18 + jp NextRadioLine + +BenMonMusic3: ; b8b48 (2e:4b48) + ld hl, UnknownText_0xb8bb4 + ld a, $19 + jp NextRadioLine + +FernMonMusic1: ; b8b50 (2e:4b50) + call Functionb8b90 + ld hl, UnknownText_0xb8bb9 + ld a, $1d + jp NextRadioLine + +FernMonMusic2: ; b8b5b (2e:4b5b) + ld hl, UnknownText_0xb8bbe + ld a, $19 + jp NextRadioLine + +BenFernMusic4: ; b8b63 (2e:4b63) + ld hl, UnknownText_0xb8bc3 + ld a, $1a + jp NextRadioLine + +BenFernMusic5: ; b8b6b (2e:4b6b) + call GetWeekday + and 1 + ld hl, UnknownText_0xb8bc8 + jr z, .asm_b8b78 + ld hl, UnknownText_0xb8bcd +.asm_b8b78 + ld a, $1b + jp NextRadioLine + +BenFernMusic6: ; b8b7d (2e:4b7d) + call GetWeekday + and 1 + ld hl, UnknownText_0xb8bd2 + jr z, .asm_b8b8a + ld hl, UnknownText_0xb8bd7 +.asm_b8b8a + ld a, $1c + jp NextRadioLine + +BenFernMusic7: ; b8b8f (2e:4b8f) + ret + +Functionb8b90: ; b8b90 (2e:4b90) + call RadioTerminator + call PrintText + ld de, MUSIC_POKEMON_MARCH + call GetWeekday + and 1 + jr z, .done + ld de, MUSIC_POKEMON_LULLABY +.done + callab RadioMusicNone + ret +; b8baa (2e:4baa) + +UnknownText_0xb8baa: ; 0xb8baa + ; BEN: #MON MUSIC + text_jump UnknownText_0x1bca99 + db "@" +; 0xb8baf + +UnknownText_0xb8baf: ; 0xb8baf + ; CHANNEL! + text_jump UnknownText_0x1bcaab + db "@" +; 0xb8bb4 + +UnknownText_0xb8bb4: ; 0xb8bb4 + ; It's me, DJ BEN! + text_jump UnknownText_0x1bcab6 + db "@" +; 0xb8bb9 + +UnknownText_0xb8bb9: ; 0xb8bb9 + ; FERN: #MUSIC! + text_jump UnknownText_0x1bcac8 + db "@" +; 0xb8bbe + +UnknownText_0xb8bbe: ; 0xb8bbe + ; With DJ FERN! + text_jump UnknownText_0x1bcad8 + db "@" +; 0xb8bc3 + +UnknownText_0xb8bc3: ; 0xb8bc3 + ; Today's @ , + text_jump UnknownText_0x1bcae8 + db "@" +; 0xb8bc8 + +UnknownText_0xb8bc8: ; 0xb8bc8 + ; so let us jam to + text_jump UnknownText_0x1bcaf6 + db "@" +; 0xb8bcd + +UnknownText_0xb8bcd: ; 0xb8bcd + ; so chill out to + text_jump UnknownText_0x1bcb09 + db "@" +; 0xb8bd2 + +UnknownText_0xb8bd2: ; 0xb8bd2 + ; #MON March! + text_jump UnknownText_0x1bcb1b + db "@" +; 0xb8bd7 + +UnknownText_0xb8bd7: ; 0xb8bd7 + ; #MON Lullaby! + text_jump UnknownText_0x1bcb29 + db "@" +; 0xb8bdc + +LuckyNumberShow1: ; b8bdc (2e:4bdc) + call StartRadioStation + callab Functionc434 + jr nc, .asm_b8bed + callab Functionc422 +.asm_b8bed + ld hl, UnknownText_0xb8c7e + ld a, $1e + jp NextRadioLine + +LuckyNumberShow2: ; b8bf5 (2e:4bf5) + ld hl, UnknownText_0xb8c83 + ld a, $1f + jp NextRadioLine + +LuckyNumberShow3: ; b8bfd (2e:4bfd) + ld hl, UnknownText_0xb8c88 + ld a, $20 + jp NextRadioLine + +LuckyNumberShow4: ; b8c05 (2e:4c05) + ld hl, UnknownText_0xb8c8d + ld a, $21 + jp NextRadioLine + +LuckyNumberShow5: ; b8c0d (2e:4c0d) + ld hl, UnknownText_0xb8c92 + ld a, $22 + jp NextRadioLine + +LuckyNumberShow6: ; b8c15 (2e:4c15) + ld hl, UnknownText_0xb8c97 + ld a, $23 + jp NextRadioLine + +LuckyNumberShow7: ; b8c1d (2e:4c1d) + ld hl, UnknownText_0xb8c9c + ld a, $24 + jp NextRadioLine + +LuckyNumberShow8: ; b8c25 (2e:4c25) + ld hl, StringBuffer1 + ld de, wdc9f + ld bc, $8205 + call PrintNum + ld a, $50 + ld [StringBuffer1 + 5], a + ld hl, UnknownText_0xb8ca1 + ld a, $25 + jp NextRadioLine + +LuckyNumberShow9: ; b8c3e (2e:4c3e) + ld hl, UnknownText_0xb8ca6 + ld a, $26 + jp NextRadioLine + +LuckyNumberShow10: ; b8c46 (2e:4c46) + ld hl, UnknownText_0xb8c9c + ld a, $27 + jp NextRadioLine + +LuckyNumberShow11: ; b8c4e (2e:4c4e) + ld hl, UnknownText_0xb8ca1 + ld a, $28 + jp NextRadioLine + +LuckyNumberShow12: ; b8c56 (2e:4c56) + ld hl, UnknownText_0xb8cab + ld a, $29 + 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 + jp NextRadioLine + +LuckyNumberShow14: ; b8c6e (2e:4c6e) + ld hl, UnknownText_0xb8cb5 + ld a, $2b + jp NextRadioLine + +LuckyNumberShow15: ; b8c76 (2e:4c76) + ld hl, UnknownText_0xb8cba + ld a, $3 + jp NextRadioLine +; b8c7e (2e:4c7e) + +UnknownText_0xb8c7e: ; 0xb8c7e + ; REED: Yeehaw! How + text_jump UnknownText_0x1bcb39 + db "@" +; 0xb8c83 + +UnknownText_0xb8c83: ; 0xb8c83 + ; y'all doin' now? + text_jump UnknownText_0x1bcb4d + db "@" +; 0xb8c88 + +UnknownText_0xb8c88: ; 0xb8c88 + ; Whether you're up + text_jump UnknownText_0x1bcb60 + db "@" +; 0xb8c8d + +UnknownText_0xb8c8d: ; 0xb8c8d + ; or way down low, + text_jump UnknownText_0x1bcb73 + db "@" +; 0xb8c92 + +UnknownText_0xb8c92: ; 0xb8c92 + ; don't you miss the + text_jump UnknownText_0x1bcb86 + db "@" +; 0xb8c97 + +UnknownText_0xb8c97: ; 0xb8c97 + ; LUCKY NUMBER SHOW! + text_jump UnknownText_0x1bcb9a + db "@" +; 0xb8c9c + +UnknownText_0xb8c9c: ; 0xb8c9c + ; This week's Lucky + text_jump UnknownText_0x1bcbaf + db "@" +; 0xb8ca1 + +UnknownText_0xb8ca1: ; 0xb8ca1 + ; Number is @ ! + text_jump UnknownText_0x1bcbc2 + db "@" +; 0xb8ca6 + +UnknownText_0xb8ca6: ; 0xb8ca6 + ; I'll repeat that! + text_jump UnknownText_0x1bcbd6 + db "@" +; 0xb8cab + +UnknownText_0xb8cab: ; 0xb8cab + ; Match it and go to + text_jump UnknownText_0x1bcbe9 + db "@" +; 0xb8cb0 + +UnknownText_0xb8cb0: ; 0xb8cb0 + ; the RADIO TOWER! + text_jump UnknownText_0x1bcbfe + db "@" +; 0xb8cb5 + +UnknownText_0xb8cb5: ; 0xb8cb5 + ; …Repeating myself + text_jump UnknownText_0x1bcc11 + db "@" +; 0xb8cba + +UnknownText_0xb8cba: ; 0xb8cba + ; gets to be a drag… + text_jump UnknownText_0x1bcc25 + db "@" +; 0xb8cbf + +PeoplePlaces1: ; b8cbf (2e:4cbf) + call StartRadioStation + ld hl, UnknownText_0xb8ce3 + ld a, $2c + jp NextRadioLine + +LuckyNumberShow16: ; b8cca (2e:4cca) + ld hl, UnknownText_0xb8ce8 + ld a, $2d + jp NextRadioLine + +LuckyNumberShow17: ; b8cd2 (2e:4cd2) + ld hl, UnknownText_0xb8ced + call Random + cp $7b + ld a, $2e + jr c, .asm_b8ce0 + ld a, $30 +.asm_b8ce0 + jp NextRadioLine +; b8ce3 (2e:4ce3) + +UnknownText_0xb8ce3: ; 0xb8ce3 + ; PLACES AND PEOPLE! + text_jump UnknownText_0x1bcc3a + db "@" +; 0xb8ce8 + +UnknownText_0xb8ce8: ; 0xb8ce8 + ; Brought to you by + text_jump UnknownText_0x1bcc4f + db "@" +; 0xb8ced + +UnknownText_0xb8ced: ; 0xb8ced + ; me, DJ LILY! + text_jump UnknownText_0x1bcc63 + db "@" +; 0xb8cf2 + +LuckyNumberShow18: ; b8cf2 (2e:4cf2) + call Random + and " " + inc a + cp $43 + jr nc, LuckyNumberShow18 + push af + ld hl, Unknown_b8d3e + ld a, [StatusFlags] + bit 6, a + jr z, .NotMet + ld hl, Unknown_b8d43 + ld a, [KantoBadges] + cp %11111111 + jr nz, .NotMet + ld hl, Unknown_b8d4b +.NotMet + pop af + ld c, a + ld de, $1 + push bc + call IsInArray + pop bc + jr c, LuckyNumberShow18 + push bc + callab Function3952d + ld de, StringBuffer1 + call CopyName1 + pop bc + ld b, $1 + callab GetTrainerName + ld hl, UnknownText_0xb8d51 + ld a, $2f + 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 +; b8d51 + +UnknownText_0xb8d51: ; 0xb8d51 + ; @ @ @ + text_jump UnknownText_0x1bcc72 + db "@" +; 0xb8d56 + +LuckyNumberShow19: ; b8d56 (2e:4d56) + call Random + and $f + ld e, a + ld d, 0 + ld hl, Unknown_b8d7d +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + call Random + cp $a + ld a, $5 + jr c, .asm_b8d7a + call Random + cp $7b + ld a, $2e + jr c, .asm_b8d7a + ld a, $30 +.asm_b8d7a + 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 +; b8d9d + +UnknownText_0xb8d9d: ; 0xb8d9d + ; is cute. + text_jump UnknownText_0x1bcc80 + db "@" +; 0xb8da2 + +UnknownText_0xb8da2: ; 0xb8da2 + ; is sort of lazy. + text_jump UnknownText_0x1bcc8b + db "@" +; 0xb8da7 + +UnknownText_0xb8da7: ; 0xb8da7 + ; is always happy. + text_jump UnknownText_0x1bcc9e + db "@" +; 0xb8dac + +UnknownText_0xb8dac: ; 0xb8dac + ; is quite noisy. + text_jump UnknownText_0x1bccb1 + db "@" +; 0xb8db1 + +UnknownText_0xb8db1: ; 0xb8db1 + ; is precocious. + text_jump UnknownText_0x1bccc3 + db "@" +; 0xb8db6 + +UnknownText_0xb8db6: ; 0xb8db6 + ; is somewhat bold. + text_jump UnknownText_0x1bccd4 + db "@" +; 0xb8dbb + +UnknownText_0xb8dbb: ; 0xb8dbb + ; is too picky! + text_jump UnknownText_0x1bcce8 + db "@" +; 0xb8dc0 + +UnknownText_0xb8dc0: ; 0xb8dc0 + ; is sort of OK. + text_jump UnknownText_0x1bccf8 + db "@" +; 0xb8dc5 + +UnknownText_0xb8dc5: ; 0xb8dc5 + ; is just so-so. + text_jump UnknownText_0x1bcd09 + db "@" +; 0xb8dca + +UnknownText_0xb8dca: ; 0xb8dca + ; is actually great. + text_jump UnknownText_0x1bcd1a + db "@" +; 0xb8dcf + +UnknownText_0xb8dcf: ; 0xb8dcf + ; is just my type. + text_jump UnknownText_0x1bcd2f + db "@" +; 0xb8dd4 + +UnknownText_0xb8dd4: ; 0xb8dd4 + ; is so cool, no? + text_jump UnknownText_0x1bcd42 + db "@" +; 0xb8dd9 + +UnknownText_0xb8dd9: ; 0xb8dd9 + ; is inspiring! + text_jump UnknownText_0x1bcd54 + db "@" +; 0xb8dde + +UnknownText_0xb8dde: ; 0xb8dde + ; is kind of weird. + text_jump UnknownText_0x1bcd64 + db "@" +; 0xb8de3 + +UnknownText_0xb8de3: ; 0xb8de3 + ; is right for me? + text_jump UnknownText_0x1bcd78 + db "@" +; 0xb8de8 + +UnknownText_0xb8de8: ; 0xb8de8 + ; is definitely odd! + text_jump UnknownText_0x1bcd8b + db "@" +; 0xb8ded + +LuckyNumberShow20: ; b8ded (2e:4ded) + call Random + cp $9 + jr nc, LuckyNumberShow20 + ld hl, Unknown_b8e11 + ld c, a + ld b, 0 +rept 2 + add hl, bc +endr + ld b, [hl] + inc hl + ld c, [hl] + call GetWorldMapLocation + ld e, a + callba GetLandmarkName + ld hl, UnknownText_0xb8e23 + ld a, $31 + jp NextRadioLine +; b8e11 (2e:4e11) + +Unknown_b8e11: ; b8e11 + map PALLET_TOWN + map ROUTE_22 + map PEWTER_CITY + map CERULEAN_POLICE_STATION + map ROUTE_12 + map ROUTE_11 + map ROUTE_16 + map ROUTE_14 + map CINNABAR_POKECENTER_2F_BETA +; b8e23 + +UnknownText_0xb8e23: ; 0xb8e23 + ; @ @ + text_jump UnknownText_0x1bcda0 + db "@" +; 0xb8e28 + +LuckyNumberShow21: ; b8e28 (2e:4e28) + call Random + and $f + ld e, a + ld d, 0 + ld hl, Unknown_b8e52 +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + call CopyRadioTextToRAM + call Random + cp $a + ld a, $5 + jr c, .asm_b8e4f + call Random + cp $7b + ld a, $2e + jr c, .asm_b8e4f + ld a, $30 +.asm_b8e4f + 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 +; b8e72 + +RocketRadio1: ; b8e72 (2e:4e72) + call StartRadioStation + ld hl, UnknownText_0xb8ec5 + ld a, $32 + jp NextRadioLine + +RocketRadio2: ; b8e7d (2e:4e7d) + ld hl, UnknownText_0xb8eca + ld a, $33 + jp NextRadioLine + +RocketRadio3: ; b8e85 (2e:4e85) + ld hl, UnknownText_0xb8ecf + ld a, $34 + jp NextRadioLine + +RocketRadio4: ; b8e8d (2e:4e8d) + ld hl, UnknownText_0xb8ed4 + ld a, $35 + jp NextRadioLine + +RocketRadio5: ; b8e95 (2e:4e95) + ld hl, UnknownText_0xb8ed9 + ld a, $36 + jp NextRadioLine + +RocketRadio6: ; b8e9d (2e:4e9d) + ld hl, UnknownText_0xb8ede + ld a, $37 + jp NextRadioLine + +RocketRadio7: ; b8ea5 (2e:4ea5) + ld hl, UnknownText_0xb8ee3 + ld a, $38 + jp NextRadioLine + +RocketRadio8: ; b8ead (2e:4ead) + ld hl, UnknownText_0xb8ee8 + ld a, $39 + jp NextRadioLine + +RocketRadio9: ; b8eb5 (2e:4eb5) + ld hl, UnknownText_0xb8eed + ld a, $3a + jp NextRadioLine + +RocketRadio10: ; b8ebd (2e:4ebd) + ld hl, UnknownText_0xb8ef2 + ld a, $7 + jp NextRadioLine +; b8ec5 (2e:4ec5) + +UnknownText_0xb8ec5: ; 0xb8ec5 + ; … …Ahem, we are + text_jump UnknownText_0x1bcda8 + db "@" +; 0xb8eca + +UnknownText_0xb8eca: ; 0xb8eca + ; TEAM ROCKET! + text_jump UnknownText_0x1bcdba + db "@" +; 0xb8ecf + +UnknownText_0xb8ecf: ; 0xb8ecf + ; After three years + text_jump UnknownText_0x1bcdc9 + db "@" +; 0xb8ed4 + +UnknownText_0xb8ed4: ; 0xb8ed4 + ; of preparation, we + text_jump UnknownText_0x1bcddd + db "@" +; 0xb8ed9 + +UnknownText_0xb8ed9: ; 0xb8ed9 + ; have risen again + text_jump UnknownText_0x1bcdf2 + db "@" +; 0xb8ede + +UnknownText_0xb8ede: ; 0xb8ede + ; from the ashes! + text_jump UnknownText_0x1bce05 + db "@" +; 0xb8ee3 + +UnknownText_0xb8ee3: ; 0xb8ee3 + ; GIOVANNI! @ Can you + text_jump UnknownText_0x1bce17 + db "@" +; 0xb8ee8 + +UnknownText_0xb8ee8: ; 0xb8ee8 + ; hear?@ We did it! + text_jump UnknownText_0x1bce2e + db "@" +; 0xb8eed + +UnknownText_0xb8eed: ; 0xb8eed + ; @ Where is our boss? + text_jump UnknownText_0x1bce44 + db "@" +; 0xb8ef2 + +UnknownText_0xb8ef2: ; 0xb8ef2 + ; @ Is he listening? + text_jump UnknownText_0x1bce5c + db "@" +; 0xb8ef7 + +PokeFluteRadio: ; b8ef7 (2e:4ef7) + call StartRadioStation + ld a, $1 + ld [wd005], a + ret + +EvolutionRadio: ; b8f00 (2e:4f00) + call StartRadioStation + ld a, $1 + ld [wd005], a + ret + +UnownRadio: ; b8f09 (2e:4f09) + call StartRadioStation + ld a, $1 + ld [wd005], a + ret + +BuenasPassword1: ; b8f12 (2e:4f12) +; Determine if we need to be here + call BuenasPasswordCheckMidnight + jp nc, Functionb8f22 + ld a, [wd005] + and a + jp z, BuenasPassword20 + jp BuenasPassword8 + +Functionb8f22: ; b8f22 (2e:4f22) + call StartRadioStation + ld a, [hBGMapMode] ; $ff00+$d4 + push af + xor a + ld [hBGMapMode], a ; $ff00+$d4 + ld de, String_b9171 + hlcoord 2, 9 + call PlaceString + pop af + ld [hBGMapMode], a ; $ff00+$d4 + ld hl, UnknownText_0xb9182 + ld a, $40 + jp NextRadioLine + +BuenasPassword2: ; b8f3f (2e:4f3f) + ld hl, UnknownText_0xb9187 + ld a, $41 + jp NextRadioLine + +BuenasPassword3: ; b8f47 (2e:4f47) + call BuenasPasswordCheckMidnight + ld hl, UnknownText_0xb918c + jp c, BuenasPasswordAfterMidnight + ld a, $42 + jp NextRadioLine + +BuenasPassword4: ; b8f55 (2e:4f55) + call BuenasPasswordCheckMidnight + jp c, BuenasPassword8 + ld a, [wdc4a] +; If we already generated the password today, we don't need to generate a new one. + ld hl, WeeklyFlags + bit 7, [hl] + jr nz, .AlreadyGotIt +; There are only 11 groups to choose from. +.greater_than_11 + call Random + and $f + cp $b + jr nc, .greater_than_11 +; Store it in the high nybble of e. + swap a + ld e, a +; For each group, choose one of the three passwords. +.greater_than_three + call Random + and $3 + cp $3 + jr nc, .greater_than_three +; The high nybble of wdc4a will now contain the password group index, and the low nybble contains the actual password. + add e + ld [wdc4a], a +; Set the flag so that we don't generate a new password this week. + ld hl, WeeklyFlags + set 7, [hl] +.AlreadyGotIt + ld c, a + call GetBuenasPassword + ld hl, UnknownText_0xb9191 + ld a, $43 + jp NextRadioLine + +GetBuenasPassword: ; b8f8f +; The password indices are held in c. High nybble contains the group index, low nybble contains the word index. +; Load the password group pointer in hl. + ld a, c + swap a + and $f + ld hl, PasswordTable + ld d, 0 + ld e, a +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a +; Get the password type and store it in b. + ld a, [hli] + ld b, a + push hl + inc hl +; Get the password index. + ld a, c + and $f + ld c, a + push hl + ld hl, .StringFunctionJumpTable + ld e, b +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + pop de ; de now contains the pointer to the value of this week's password, in Blue Card Points. + call _hl_ + pop hl + ld c, [hl] + ret +; b8fb8 + + +.StringFunctionJumpTable: ; b8fb8 (2e:4fb8) + dw .Mon + dw .Item + dw .Move + dw .RawString + + +.Mon: ; b8fc0 (2e:4fc0) + call .GetTheIndex + call GetPokemonName + ret + +.Item: ; b8fc7 (2e:4fc7) + call .GetTheIndex + call GetItemName + ret + +.Move: ; b8fce (2e:4fce) + call .GetTheIndex + call GetMoveName + ret + +.GetTheIndex: ; b8fd5 (2e:4fd5) + ld h, 0 + ld l, c + add hl, de + ld a, [hl] + ld [wd265], a + ret + +.RawString: ; b8fde (2e:4fde) +; Get the string from the table... + ld a, c + and a + jr z, .skip +.read_loop + ld a, [de] + inc de + cp "@" + jr nz, .read_loop + dec c + jr nz, .read_loop +; ... and copy it into StringBuffer1. +.skip + ld hl, StringBuffer1 +.copy_loop + ld a, [de] + inc de + ld [hli], a + cp "@" + jr nz, .copy_loop + ld de, StringBuffer1 + ret +; b8ff9 (2e:4ff9) + +PasswordTable: ; b8ff9 + dw .JohtoStarters + dw .Beverages + dw .HealingItems + dw .Balls + dw .Pokemon1 + dw .Pokemon2 + dw .JohtoTowns + dw .Types + dw .Moves + dw .XItems + dw .RadioStations +; b900f + ; string type, points, option 1, option 2, option 3 +.JohtoStarters: db BUENA_MON, 10, CYNDAQUIL, TOTODILE, CHIKORITA +.Beverages: db BUENA_ITEM, 12, FRESH_WATER, SODA_POP, LEMONADE +.HealingItems: db BUENA_ITEM, 12, POTION, ANTIDOTE, PARLYZ_HEAL +.Balls: db BUENA_ITEM, 12, POKE_BALL, GREAT_BALL, ULTRA_BALL +.Pokemon1: db BUENA_MON, 10, PIKACHU, RATTATA, GEODUDE +.Pokemon2: db BUENA_MON, 10, HOOTHOOT, SPINARAK, DROWZEE +.JohtoTowns: db BUENA_STRING, 16, "NEW BARK TOWN@", "CHERRYGROVE CITY@", "AZALEA TOWN@" +.Types: db BUENA_STRING, 6, "FLYING@", "BUG@", "GRASS@" +.Moves: db BUENA_MOVE, 12, TACKLE, GROWL, MUD_SLAP +.XItems: db BUENA_ITEM, 12, X_ATTACK, X_DEFEND, X_SPEED +.RadioStations: db BUENA_STRING, 13, "#MON Talk@", "#MON Music@", "Lucky Channel@" +; b909c + +BuenasPassword5: ; b909c (2e:509c) + ld hl, UnknownText_0xb9196 + ld a, $44 + jp NextRadioLine + +BuenasPassword6: ; b90a4 (2e:50a4) + ld hl, UnknownText_0xb919b + ld a, $45 + jp NextRadioLine + +BuenasPassword7: ; b90ac (2e:50ac) + call BuenasPasswordCheckMidnight + ld hl, UnknownText_0xb91a0 + jr c, BuenasPasswordAfterMidnight + ld a, $4 + jp NextRadioLine + +BuenasPasswordAfterMidnight: ; b90b9 (2e:50b9) + push hl + ld hl, WeeklyFlags + res 7, [hl] + pop hl + ld a, $46 + jp NextRadioLine + +BuenasPassword8: ; b90c5 (2e:50c5) + ld hl, WeeklyFlags + res 7, [hl] + ld hl, UnknownText_0xb91d2 + ld a, $47 + jp NextRadioLine + +BuenasPassword9: ; b90d2 (2e:50d2) + ld hl, UnknownText_0xb91a5 + ld a, $48 + jp NextRadioLine + +BuenasPassword10: ; b90da (2e:50da) + ld hl, UnknownText_0xb91aa + ld a, $49 + jp NextRadioLine + +BuenasPassword11: ; b90e2 (2e:50e2) + ld hl, UnknownText_0xb91af + ld a, $4a + jp NextRadioLine + +BuenasPassword12: ; b90ea (2e:50ea) + ld hl, UnknownText_0xb91b4 + ld a, $4b + jp NextRadioLine + +BuenasPassword13: ; b90f2 (2e:50f2) + ld hl, UnknownText_0xb91b9 + ld a, $4c + jp NextRadioLine + +BuenasPassword14: ; b90fa (2e:50fa) + ld hl, UnknownText_0xb91be + ld a, $4d + jp NextRadioLine + +BuenasPassword15: ; b9102 (2e:5102) + ld hl, UnknownText_0xb91c3 + ld a, $4e + jp NextRadioLine + +BuenasPassword16: ; b910a (2e:510a) + ld hl, UnknownText_0xb91c8 + ld a, $4f + jp NextRadioLine + +BuenasPassword17: ; b9112 (2e:5112) + ld hl, UnknownText_0xb91cd + ld a, $50 + jp NextRadioLine + +BuenasPassword18: ; b911a (2e:511a) + ld hl, UnknownText_0xb91d2 + ld a, $51 + jp NextRadioLine + +BuenasPassword19: ; b9122 (2e:5122) + ld hl, UnknownText_0xb91d2 + ld a, $52 + jp NextRadioLine + +BuenasPassword20: ; b912a (2e:512a) + ld a, [hBGMapMode] ; $ff00+$d4 + push af + callba NoRadioMusic + callba NoRadioName + pop af + ld [hBGMapMode], a ; $ff00+$d4 + ld hl, WeeklyFlags + res 7, [hl] + ld a, $4 + ld [wd002], a + xor a + ld [wd005], a + ld hl, UnknownText_0xb91d7 + ld a, $53 + jp NextRadioLine + +BuenasPassword21: ; b9152 (2e:5152) + ld a, $4 + ld [wd002], a + xor a + ld [wd005], a + call BuenasPasswordCheckMidnight + jp nc, BuenasPassword1 + ld hl, UnknownText_0xb91d7 + ld a, $53 + jp NextRadioLine + +BuenasPasswordCheckMidnight: ; b9169 (2e:5169) + call UpdateTime + ld a, [hHours] ; $ff00+$94 + cp $12 + ret +; b9171 (2e:5171) + +String_b9171: + db "BUENA'S PASSWORD@" +; b9182 + +UnknownText_0xb9182: ; 0xb9182 + ; BUENA: BUENA here! + text_jump UnknownText_0x1bce72 + db "@" +; 0xb9187 + +UnknownText_0xb9187: ; 0xb9187 + ; Today's password! + text_jump UnknownText_0x1bce87 + db "@" +; 0xb918c + +UnknownText_0xb918c: ; 0xb918c + ; Let me think… It's + text_jump UnknownText_0x1bce9a + db "@" +; 0xb9191 + +UnknownText_0xb9191: ; 0xb9191 + ; @ ! + text_jump UnknownText_0x1bceae + db "@" +; 0xb9196 + +UnknownText_0xb9196: ; 0xb9196 + ; Don't forget it! + text_jump UnknownText_0x1bceb7 + db "@" +; 0xb919b + +UnknownText_0xb919b: ; 0xb919b + ; I'm in GOLDENROD's + text_jump UnknownText_0x1bcec9 + db "@" +; 0xb91a0 + +UnknownText_0xb91a0: ; 0xb91a0 + ; RADIO TOWER! + text_jump UnknownText_0x1bcedc + db "@" +; 0xb91a5 + +UnknownText_0xb91a5: ; 0xb91a5 + ; BUENA: Oh my… + text_jump UnknownText_0x1bceeb + db "@" +; 0xb91aa + +UnknownText_0xb91aa: ; 0xb91aa + ; It's midnight! I + text_jump UnknownText_0x1bcefb + db "@" +; 0xb91af + +UnknownText_0xb91af: ; 0xb91af + ; have to shut down! + text_jump UnknownText_0x1bcf0d + db "@" +; 0xb91b4 + +UnknownText_0xb91b4: ; 0xb91b4 + ; Thanks for tuning + text_jump UnknownText_0x1bcf22 + db "@" +; 0xb91b9 + +UnknownText_0xb91b9: ; 0xb91b9 + ; in to the end! But + text_jump UnknownText_0x1bcf36 + db "@" +; 0xb91be + +UnknownText_0xb91be: ; 0xb91be + ; don't stay up too + text_jump UnknownText_0x1bcf4b + db "@" +; 0xb91c3 + +UnknownText_0xb91c3: ; 0xb91c3 + ; late! Presented to + text_jump UnknownText_0x1bcf5e + db "@" +; 0xb91c8 + +UnknownText_0xb91c8: ; 0xb91c8 + ; you by DJ BUENA! + text_jump UnknownText_0x1bcf73 + db "@" +; 0xb91cd + +UnknownText_0xb91cd: ; 0xb91cd + ; I'm outta here! + text_jump UnknownText_0x1bcf86 + db "@" +; 0xb91d2 + +UnknownText_0xb91d2: ; 0xb91d2 + ; … + text_jump UnknownText_0x1bcf96 + db "@" +; 0xb91d7 + +UnknownText_0xb91d7: ; 0xb91d7 + ; + text_jump UnknownText_0x1bcf99 + db "@" +; 0xb91dc + +CopyRadioTextToRAM: ; b91dc (2e:51dc) + ld a, [hl] + cp TX_FAR + jp z, FarJumpText + ld de, wd00c + ld bc, SCREEN_WIDTH * 2 + jp CopyBytes + +StartRadioStation: ; b91eb (2e:51eb) + ld a, [wd005] + and a + ret nz + call RadioTerminator + call PrintText + ld hl, RadioChannelSongs + ld a, [wd002] + ld c, a + ld b, 0 +rept 2 + add hl, bc +endr + ld e, [hl] + inc hl + ld d, [hl] + callab RadioMusicNone + ret +; b920b (2e:520b) + +RadioChannelSongs: ; b920b + dw MUSIC_POKEMON_TALK + dw MUSIC_POKEMON_CENTER + dw MUSIC_TITLE + dw MUSIC_GAME_CORNER + dw MUSIC_BUENAS_PASSWORD + dw MUSIC_VIRIDIAN_CITY + dw MUSIC_BICYCLE + dw MUSIC_ROCKET_OVERTURE + dw MUSIC_POKE_FLUTE_CHANNEL + dw MUSIC_RUINS_OF_ALPH_RADIO + dw MUSIC_LAKE_OF_RAGE_ROCKET_RADIO +; b9221 + +NextRadioLine: ; b9221 (2e:5221) + push af + call CopyRadioTextToRAM + pop af + jp PrintRadioLine +; b9229 diff --git a/engine/scripting.asm b/engine/scripting.asm index 709a75c25..b01ac0c52 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -475,7 +475,7 @@ Script_loadmenudata: ; 0x96efa ld de, LoadMenuDataHeader ld a, [ScriptBank] call Call_a_de - call DrawOnMap + call UpdateSprites ret ; 0x96f0f @@ -483,7 +483,7 @@ Script_writebackup: ; 0x96f0f ; script command 0x50 call WriteBackup - call DrawOnMap + call UpdateSprites ret ; 0x96f16 @@ -1212,7 +1212,7 @@ ApplyPersonFacing: ; 0x9728b jr nz, .asm_972b5 ; 0x972b0 $3 call Function972bc .asm_972b5 - call DrawOnMap + call UpdateSprites ret .not_visible pop de @@ -1222,8 +1222,8 @@ ApplyPersonFacing: ; 0x9728b Function972bc: ; 0x972bc call Function217a - ld hl, TileMap - ld bc, $0168 + hlcoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT .asm_972c5 res 7, [hl] inc hl @@ -2970,7 +2970,7 @@ Script_reloadmappart:: ; 0x97ae3 call Function2173 call Function2914 callba Function104061 - call DrawOnMap + call UpdateSprites ret ; 0x97af6 diff --git a/engine/specials.asm b/engine/specials.asm index e4e2005a6..d91692786 100644 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -75,7 +75,7 @@ SpecialsPointers:: ; c029 add_special WhiteBGMap add_special UpdateTimePals add_special ClearTileMap - add_special DrawOnMap + add_special UpdateSprites add_special Special_ReplaceKrisSprite add_special Special_GameCornerPrizeMonCheckDex add_special SpecialSeenMon @@ -110,7 +110,7 @@ SpecialsPointers:: ; c029 add_special SpecialNameRater add_special Functionc2da add_special GetFirstPokemonHappiness - add_special Function71ac + add_special CheckFirstMonIsEgg add_special Function2a4ab add_special Function2a51f add_special RandomPhoneMon |