mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-17 02:40:50 +12:00
Accidentally committed .orig files from merge dff0cdeb
.
This commit is contained in:
parent
a81487e9c6
commit
070c964964
File diff suppressed because it is too large
Load diff
|
@ -1,647 +0,0 @@
|
||||||
ShowPokedexMenu: ; 40000 (10:4000)
|
|
||||||
call GBPalWhiteOut
|
|
||||||
call ClearScreen
|
|
||||||
call UpdateSprites ; move sprites
|
|
||||||
ld a,[wListScrollOffset]
|
|
||||||
push af
|
|
||||||
xor a
|
|
||||||
ld [wCurrentMenuItem],a
|
|
||||||
ld [wListScrollOffset],a
|
|
||||||
ld [wLastMenuItem],a
|
|
||||||
inc a
|
|
||||||
ld [wd11e],a
|
|
||||||
ld [hJoy7],a
|
|
||||||
.setUpGraphics
|
|
||||||
ld b,$08
|
|
||||||
call GoPAL_SET
|
|
||||||
callab LoadPokedexTilePatterns
|
|
||||||
.doPokemonListMenu
|
|
||||||
ld hl,wTopMenuItemY
|
|
||||||
ld a,3
|
|
||||||
ld [hli],a ; top menu item Y
|
|
||||||
xor a
|
|
||||||
ld [hli],a ; top menu item X
|
|
||||||
inc a
|
|
||||||
ld [wcc37],a
|
|
||||||
inc hl
|
|
||||||
inc hl
|
|
||||||
ld a,6
|
|
||||||
ld [hli],a ; max menu item ID
|
|
||||||
ld [hl],%00110011 ; menu watched keys (Left, Right, B button, A button)
|
|
||||||
call HandlePokedexListMenu
|
|
||||||
jr c,.goToSideMenu ; if the player chose a pokemon from the list
|
|
||||||
.exitPokedex
|
|
||||||
xor a
|
|
||||||
ld [wcc37],a
|
|
||||||
ld [wCurrentMenuItem],a
|
|
||||||
ld [wLastMenuItem],a
|
|
||||||
<<<<<<< HEAD
|
|
||||||
ld [hJoy7],a
|
|
||||||
ld [wcd3a],a
|
|
||||||
ld [wcd3b],a
|
|
||||||
=======
|
|
||||||
ld [$ffb7],a
|
|
||||||
ld [wWastedByteCD3A],a
|
|
||||||
ld [wOverrideSimulatedJoypadStatesMask],a
|
|
||||||
>>>>>>> yama/master
|
|
||||||
pop af
|
|
||||||
ld [wListScrollOffset],a
|
|
||||||
call GBPalWhiteOutWithDelay3
|
|
||||||
call GoPAL_SET_CF1C
|
|
||||||
jp ReloadMapData
|
|
||||||
.goToSideMenu
|
|
||||||
call HandlePokedexSideMenu
|
|
||||||
dec b
|
|
||||||
jr z,.exitPokedex ; if the player chose Quit
|
|
||||||
dec b
|
|
||||||
jr z,.doPokemonListMenu ; if pokemon not seen or player pressed B button
|
|
||||||
jp .setUpGraphics ; if pokemon data or area was shown
|
|
||||||
|
|
||||||
; handles the menu on the lower right in the pokedex screen
|
|
||||||
; OUTPUT:
|
|
||||||
; b = reason for exiting menu
|
|
||||||
; 00: showed pokemon data or area
|
|
||||||
; 01: the player chose Quit
|
|
||||||
; 02: the pokemon has not been seen yet or the player pressed the B button
|
|
||||||
HandlePokedexSideMenu: ; 4006d (10:406d)
|
|
||||||
call PlaceUnfilledArrowMenuCursor
|
|
||||||
ld a,[wCurrentMenuItem]
|
|
||||||
push af
|
|
||||||
ld b,a
|
|
||||||
ld a,[wLastMenuItem]
|
|
||||||
push af
|
|
||||||
ld a,[wListScrollOffset]
|
|
||||||
push af
|
|
||||||
add b
|
|
||||||
inc a
|
|
||||||
ld [wd11e],a
|
|
||||||
ld a,[wd11e]
|
|
||||||
push af
|
|
||||||
ld a,[wWhichTrade]
|
|
||||||
push af
|
|
||||||
ld hl,wPokedexSeen
|
|
||||||
call IsPokemonBitSet
|
|
||||||
ld b,2
|
|
||||||
jr z,.exitSideMenu
|
|
||||||
call PokedexToIndex
|
|
||||||
ld hl,wTopMenuItemY
|
|
||||||
ld a,10
|
|
||||||
ld [hli],a ; top menu item Y
|
|
||||||
ld a,15
|
|
||||||
ld [hli],a ; top menu item X
|
|
||||||
xor a
|
|
||||||
ld [hli],a ; current menu item ID
|
|
||||||
inc hl
|
|
||||||
ld a,3
|
|
||||||
ld [hli],a ; max menu item ID
|
|
||||||
ld [hli],a ; menu watched keys (A button and B button)
|
|
||||||
xor a
|
|
||||||
ld [hli],a ; old menu item ID
|
|
||||||
ld [wcc37],a
|
|
||||||
.handleMenuInput
|
|
||||||
call HandleMenuInput
|
|
||||||
bit 1,a ; was the B button pressed?
|
|
||||||
ld b,2
|
|
||||||
jr nz,.buttonBPressed
|
|
||||||
ld a,[wCurrentMenuItem]
|
|
||||||
and a
|
|
||||||
jr z,.choseData
|
|
||||||
dec a
|
|
||||||
jr z,.choseCry
|
|
||||||
dec a
|
|
||||||
jr z,.choseArea
|
|
||||||
.choseQuit
|
|
||||||
ld b,1
|
|
||||||
.exitSideMenu
|
|
||||||
pop af
|
|
||||||
ld [wWhichTrade],a
|
|
||||||
pop af
|
|
||||||
ld [wd11e],a
|
|
||||||
pop af
|
|
||||||
ld [wListScrollOffset],a
|
|
||||||
pop af
|
|
||||||
ld [wLastMenuItem],a
|
|
||||||
pop af
|
|
||||||
ld [wCurrentMenuItem],a
|
|
||||||
push bc
|
|
||||||
hlCoord 0, 3
|
|
||||||
ld de,20
|
|
||||||
ld bc,$7f0d ; 13 blank tiles
|
|
||||||
call DrawTileLine ; cover up the menu cursor in the pokemon list
|
|
||||||
pop bc
|
|
||||||
ret
|
|
||||||
.buttonBPressed
|
|
||||||
push bc
|
|
||||||
hlCoord 15, 10
|
|
||||||
ld de,20
|
|
||||||
ld bc,$7f07 ; 7 blank tiles
|
|
||||||
call DrawTileLine ; cover up the menu cursor in the side menu
|
|
||||||
pop bc
|
|
||||||
jr .exitSideMenu
|
|
||||||
.choseData
|
|
||||||
call ShowPokedexDataInternal
|
|
||||||
ld b,0
|
|
||||||
jr .exitSideMenu
|
|
||||||
; play pokemon cry
|
|
||||||
.choseCry
|
|
||||||
ld a,[wd11e]
|
|
||||||
call GetCryData ; get cry data
|
|
||||||
call PlaySound ; play sound
|
|
||||||
jr .handleMenuInput
|
|
||||||
.choseArea
|
|
||||||
predef LoadTownMap_Nest ; display pokemon areas
|
|
||||||
ld b,0
|
|
||||||
jr .exitSideMenu
|
|
||||||
|
|
||||||
; handles the list of pokemon on the left of the pokedex screen
|
|
||||||
; sets carry flag if player presses A, unsets carry flag if player presses B
|
|
||||||
HandlePokedexListMenu: ; 40111 (10:4111)
|
|
||||||
xor a
|
|
||||||
ld [H_AUTOBGTRANSFERENABLED],a
|
|
||||||
; draw the horizontal line separating the seen and owned amounts from the menu
|
|
||||||
hlCoord 15, 8
|
|
||||||
ld a,$7a ; horizontal line tile
|
|
||||||
ld [hli],a
|
|
||||||
ld [hli],a
|
|
||||||
ld [hli],a
|
|
||||||
ld [hli],a
|
|
||||||
ld [hli],a
|
|
||||||
hlCoord 14, 0
|
|
||||||
ld [hl],$71 ; vertical line tile
|
|
||||||
hlCoord 14, 1
|
|
||||||
call DrawPokedexVerticalLine
|
|
||||||
hlCoord 14, 9
|
|
||||||
call DrawPokedexVerticalLine
|
|
||||||
ld hl,wPokedexSeen
|
|
||||||
ld b,wPokedexSeenEnd - wPokedexSeen
|
|
||||||
call CountSetBits
|
|
||||||
ld de,wd11e
|
|
||||||
hlCoord 16, 3
|
|
||||||
ld bc,$0103
|
|
||||||
call PrintNumber ; print number of seen pokemon
|
|
||||||
ld hl,wPokedexOwned
|
|
||||||
ld b,wPokedexOwnedEnd - wPokedexOwned
|
|
||||||
call CountSetBits
|
|
||||||
ld de,wd11e
|
|
||||||
hlCoord 16, 6
|
|
||||||
ld bc,$0103
|
|
||||||
call PrintNumber ; print number of owned pokemon
|
|
||||||
hlCoord 16, 2
|
|
||||||
ld de,PokedexSeenText
|
|
||||||
call PlaceString
|
|
||||||
hlCoord 16, 5
|
|
||||||
ld de,PokedexOwnText
|
|
||||||
call PlaceString
|
|
||||||
hlCoord 1, 1
|
|
||||||
ld de,PokedexContentsText
|
|
||||||
call PlaceString
|
|
||||||
hlCoord 16, 10
|
|
||||||
ld de,PokedexMenuItemsText
|
|
||||||
call PlaceString
|
|
||||||
; find the highest pokedex number among the pokemon the player has seen
|
|
||||||
ld hl,wPokedexSeenEnd - 1
|
|
||||||
ld b,153
|
|
||||||
.maxSeenPokemonLoop
|
|
||||||
ld a,[hld]
|
|
||||||
ld c,8
|
|
||||||
.maxSeenPokemonInnerLoop
|
|
||||||
dec b
|
|
||||||
sla a
|
|
||||||
jr c,.storeMaxSeenPokemon
|
|
||||||
dec c
|
|
||||||
jr nz,.maxSeenPokemonInnerLoop
|
|
||||||
jr .maxSeenPokemonLoop
|
|
||||||
.storeMaxSeenPokemon
|
|
||||||
ld a,b
|
|
||||||
ld [wWhichTrade],a ; max seen pokemon
|
|
||||||
.loop
|
|
||||||
xor a
|
|
||||||
ld [H_AUTOBGTRANSFERENABLED],a
|
|
||||||
hlCoord 4, 2
|
|
||||||
ld bc,$0e0a
|
|
||||||
call ClearScreenArea
|
|
||||||
hlCoord 1, 3
|
|
||||||
ld a,[wListScrollOffset]
|
|
||||||
ld [wd11e],a
|
|
||||||
ld d,7
|
|
||||||
ld a,[wWhichTrade]
|
|
||||||
cp a,7
|
|
||||||
jr nc,.printPokemonLoop
|
|
||||||
ld d,a
|
|
||||||
dec a
|
|
||||||
ld [wMaxMenuItem],a
|
|
||||||
; loop to print pokemon pokedex numbers and names
|
|
||||||
; if the player has owned the pokemon, it puts a pokeball beside the name
|
|
||||||
.printPokemonLoop
|
|
||||||
ld a,[wd11e]
|
|
||||||
inc a
|
|
||||||
ld [wd11e],a
|
|
||||||
push af
|
|
||||||
push de
|
|
||||||
push hl
|
|
||||||
ld de,-20
|
|
||||||
add hl,de
|
|
||||||
ld de,wd11e
|
|
||||||
ld bc,$8103
|
|
||||||
call PrintNumber ; print the pokedex number
|
|
||||||
ld de,20
|
|
||||||
add hl,de
|
|
||||||
dec hl
|
|
||||||
push hl
|
|
||||||
ld hl,wPokedexOwned
|
|
||||||
call IsPokemonBitSet
|
|
||||||
pop hl
|
|
||||||
ld a," "
|
|
||||||
jr z,.writeTile
|
|
||||||
ld a,$72 ; pokeball tile
|
|
||||||
.writeTile
|
|
||||||
ld [hl],a ; put a pokeball next to pokemon that the player has owned
|
|
||||||
push hl
|
|
||||||
ld hl,wPokedexSeen
|
|
||||||
call IsPokemonBitSet
|
|
||||||
jr nz,.getPokemonName ; if the player has seen the pokemon
|
|
||||||
ld de,.dashedLine ; print a dashed line in place of the name if the player hasn't seen the pokemon
|
|
||||||
jr .skipGettingName
|
|
||||||
.dashedLine ; for unseen pokemon in the list
|
|
||||||
db "----------@"
|
|
||||||
.getPokemonName
|
|
||||||
call PokedexToIndex
|
|
||||||
call GetMonName
|
|
||||||
.skipGettingName
|
|
||||||
pop hl
|
|
||||||
inc hl
|
|
||||||
call PlaceString
|
|
||||||
pop hl
|
|
||||||
ld bc,2 * 20
|
|
||||||
add hl,bc
|
|
||||||
pop de
|
|
||||||
pop af
|
|
||||||
ld [wd11e],a
|
|
||||||
dec d
|
|
||||||
jr nz,.printPokemonLoop
|
|
||||||
ld a,01
|
|
||||||
ld [H_AUTOBGTRANSFERENABLED],a
|
|
||||||
call Delay3
|
|
||||||
call GBPalNormal
|
|
||||||
call HandleMenuInput
|
|
||||||
bit 1,a ; was the B button pressed?
|
|
||||||
jp nz,.buttonBPressed
|
|
||||||
.checkIfUpPressed
|
|
||||||
bit 6,a ; was Up pressed?
|
|
||||||
jr z,.checkIfDownPressed
|
|
||||||
.upPressed ; scroll up one row
|
|
||||||
ld a,[wListScrollOffset]
|
|
||||||
and a
|
|
||||||
jp z,.loop
|
|
||||||
dec a
|
|
||||||
ld [wListScrollOffset],a
|
|
||||||
jp .loop
|
|
||||||
.checkIfDownPressed
|
|
||||||
bit 7,a ; was Down pressed?
|
|
||||||
jr z,.checkIfRightPressed
|
|
||||||
.downPressed ; scroll down one row
|
|
||||||
ld a,[wWhichTrade]
|
|
||||||
cp a,7
|
|
||||||
jp c,.loop
|
|
||||||
sub a,7
|
|
||||||
ld b,a
|
|
||||||
ld a,[wListScrollOffset]
|
|
||||||
cp b
|
|
||||||
jp z,.loop
|
|
||||||
inc a
|
|
||||||
ld [wListScrollOffset],a
|
|
||||||
jp .loop
|
|
||||||
.checkIfRightPressed
|
|
||||||
bit 4,a ; was Right pressed?
|
|
||||||
jr z,.checkIfLeftPressed
|
|
||||||
.rightPressed ; scroll down 7 rows
|
|
||||||
ld a,[wWhichTrade]
|
|
||||||
cp a,7
|
|
||||||
jp c,.loop
|
|
||||||
sub a,6
|
|
||||||
ld b,a
|
|
||||||
ld a,[wListScrollOffset]
|
|
||||||
add a,7
|
|
||||||
ld [wListScrollOffset],a
|
|
||||||
cp b
|
|
||||||
jp c,.loop
|
|
||||||
dec b
|
|
||||||
ld a,b
|
|
||||||
ld [wListScrollOffset],a
|
|
||||||
jp .loop
|
|
||||||
.checkIfLeftPressed ; scroll up 7 rows
|
|
||||||
bit 5,a ; was Left pressed?
|
|
||||||
jr z,.buttonAPressed
|
|
||||||
.leftPressed
|
|
||||||
ld a,[wListScrollOffset]
|
|
||||||
sub a,7
|
|
||||||
ld [wListScrollOffset],a
|
|
||||||
jp nc,.loop
|
|
||||||
xor a
|
|
||||||
ld [wListScrollOffset],a
|
|
||||||
jp .loop
|
|
||||||
.buttonAPressed
|
|
||||||
scf
|
|
||||||
ret
|
|
||||||
.buttonBPressed
|
|
||||||
and a
|
|
||||||
ret
|
|
||||||
|
|
||||||
DrawPokedexVerticalLine: ; 4028e (10:428e)
|
|
||||||
ld c,9 ; height of line
|
|
||||||
ld de,20 ; width of screen
|
|
||||||
ld a,$71 ; vertical line tile
|
|
||||||
.loop
|
|
||||||
ld [hl],a
|
|
||||||
add hl,de
|
|
||||||
xor a,1 ; toggle between vertical line tile and box tile
|
|
||||||
dec c
|
|
||||||
jr nz,.loop
|
|
||||||
ret
|
|
||||||
|
|
||||||
PokedexSeenText: ; 4029d (10:429d)
|
|
||||||
db "SEEN@"
|
|
||||||
|
|
||||||
PokedexOwnText: ; 402a2 (10:42a2)
|
|
||||||
db "OWN@"
|
|
||||||
|
|
||||||
PokedexContentsText: ; 402a6 (10:42a6)
|
|
||||||
db "CONTENTS@"
|
|
||||||
|
|
||||||
PokedexMenuItemsText: ; 402af (10:42af)
|
|
||||||
db "DATA"
|
|
||||||
next "CRY"
|
|
||||||
next "AREA"
|
|
||||||
next "QUIT@"
|
|
||||||
|
|
||||||
; tests if a pokemon's bit is set in the seen or owned pokemon bit fields
|
|
||||||
; INPUT:
|
|
||||||
; [wd11e] = pokedex number
|
|
||||||
; hl = address of bit field
|
|
||||||
IsPokemonBitSet: ; 402c2 (10:42c2)
|
|
||||||
ld a,[wd11e]
|
|
||||||
dec a
|
|
||||||
ld c,a
|
|
||||||
ld b,2
|
|
||||||
predef FlagActionPredef
|
|
||||||
ld a,c
|
|
||||||
and a
|
|
||||||
ret
|
|
||||||
|
|
||||||
; function to display pokedex data from outside the pokedex
|
|
||||||
ShowPokedexData: ; 402d1 (10:42d1)
|
|
||||||
call GBPalWhiteOutWithDelay3
|
|
||||||
call ClearScreen
|
|
||||||
call UpdateSprites
|
|
||||||
callab LoadPokedexTilePatterns ; load pokedex tiles
|
|
||||||
|
|
||||||
; function to display pokedex data from inside the pokedex
|
|
||||||
ShowPokedexDataInternal: ; 402e2 (10:42e2)
|
|
||||||
ld hl,wd72c
|
|
||||||
set 1,[hl]
|
|
||||||
ld a,$33 ; 3/7 volume
|
|
||||||
ld [$ff24],a
|
|
||||||
call GBPalWhiteOut ; zero all palettes
|
|
||||||
call ClearScreen
|
|
||||||
ld a,[wd11e] ; pokemon ID
|
|
||||||
ld [wcf91],a
|
|
||||||
push af
|
|
||||||
ld b,04
|
|
||||||
call GoPAL_SET
|
|
||||||
pop af
|
|
||||||
ld [wd11e],a
|
|
||||||
ld a,[hTilesetType]
|
|
||||||
push af
|
|
||||||
xor a
|
|
||||||
ld [hTilesetType],a
|
|
||||||
hlCoord 0, 0
|
|
||||||
ld de,1
|
|
||||||
ld bc,$6414
|
|
||||||
call DrawTileLine ; draw top border
|
|
||||||
hlCoord 0, 17
|
|
||||||
ld b,$6f
|
|
||||||
call DrawTileLine ; draw bottom border
|
|
||||||
hlCoord 0, 1
|
|
||||||
ld de,20
|
|
||||||
ld bc,$6610
|
|
||||||
call DrawTileLine ; draw left border
|
|
||||||
hlCoord 19, 1
|
|
||||||
ld b,$67
|
|
||||||
call DrawTileLine ; draw right border
|
|
||||||
ld a,$63 ; upper left corner tile
|
|
||||||
Coorda 0, 0
|
|
||||||
ld a,$65 ; upper right corner tile
|
|
||||||
Coorda 19, 0
|
|
||||||
ld a,$6c ; lower left corner tile
|
|
||||||
Coorda 0, 17
|
|
||||||
ld a,$6e ; lower right corner tile
|
|
||||||
Coorda 19, 17
|
|
||||||
hlCoord 0, 9
|
|
||||||
ld de,PokedexDataDividerLine
|
|
||||||
call PlaceString ; draw horizontal divider line
|
|
||||||
hlCoord 9, 6
|
|
||||||
ld de,HeightWeightText
|
|
||||||
call PlaceString
|
|
||||||
call GetMonName
|
|
||||||
hlCoord 9, 2
|
|
||||||
call PlaceString
|
|
||||||
ld hl,PokedexEntryPointers
|
|
||||||
ld a,[wd11e]
|
|
||||||
dec a
|
|
||||||
ld e,a
|
|
||||||
ld d,0
|
|
||||||
add hl,de
|
|
||||||
add hl,de
|
|
||||||
ld a,[hli]
|
|
||||||
ld e,a
|
|
||||||
ld d,[hl] ; de = address of pokedex entry
|
|
||||||
hlCoord 9, 4
|
|
||||||
call PlaceString ; print species name
|
|
||||||
ld h,b
|
|
||||||
ld l,c
|
|
||||||
push de
|
|
||||||
ld a,[wd11e]
|
|
||||||
push af
|
|
||||||
call IndexToPokedex
|
|
||||||
hlCoord 2, 8
|
|
||||||
ld a, "№"
|
|
||||||
ld [hli],a
|
|
||||||
ld a,$f2
|
|
||||||
ld [hli],a
|
|
||||||
ld de,wd11e
|
|
||||||
ld bc,$8103
|
|
||||||
call PrintNumber ; print pokedex number
|
|
||||||
ld hl,wPokedexOwned
|
|
||||||
call IsPokemonBitSet
|
|
||||||
pop af
|
|
||||||
ld [wd11e],a
|
|
||||||
ld a,[wcf91]
|
|
||||||
ld [wd0b5],a
|
|
||||||
pop de
|
|
||||||
push af
|
|
||||||
push bc
|
|
||||||
push de
|
|
||||||
push hl
|
|
||||||
call Delay3
|
|
||||||
call GBPalNormal
|
|
||||||
call GetMonHeader ; load pokemon picture location
|
|
||||||
hlCoord 1, 1
|
|
||||||
call LoadFlippedFrontSpriteByMonIndex ; draw pokemon picture
|
|
||||||
ld a,[wcf91]
|
|
||||||
call PlayCry ; play pokemon cry
|
|
||||||
pop hl
|
|
||||||
pop de
|
|
||||||
pop bc
|
|
||||||
pop af
|
|
||||||
ld a,c
|
|
||||||
and a
|
|
||||||
jp z,.waitForButtonPress ; if the pokemon has not been owned, don't print the height, weight, or description
|
|
||||||
inc de ; de = address of feet (height)
|
|
||||||
ld a,[de] ; reads feet, but a is overwritten without being used
|
|
||||||
hlCoord 12, 6
|
|
||||||
ld bc,$0102
|
|
||||||
call PrintNumber ; print feet (height)
|
|
||||||
ld a,$60 ; feet symbol tile (one tick)
|
|
||||||
ld [hl],a
|
|
||||||
inc de
|
|
||||||
inc de ; de = address of inches (height)
|
|
||||||
hlCoord 15, 6
|
|
||||||
ld bc,$8102
|
|
||||||
call PrintNumber ; print inches (height)
|
|
||||||
ld a,$61 ; inches symbol tile (two ticks)
|
|
||||||
ld [hl],a
|
|
||||||
; now print the weight (note that weight is stored in tenths of pounds internally)
|
|
||||||
inc de
|
|
||||||
inc de
|
|
||||||
inc de ; de = address of upper byte of weight
|
|
||||||
push de
|
|
||||||
; put weight in big-endian order at $ff8b
|
|
||||||
ld hl,$ff8b
|
|
||||||
ld a,[hl] ; save existing value of [$ff8b]
|
|
||||||
push af
|
|
||||||
ld a,[de] ; a = upper byte of weight
|
|
||||||
ld [hli],a ; store upper byte of weight in [$ff8b]
|
|
||||||
ld a,[hl] ; save existing value of [$ff8c]
|
|
||||||
push af
|
|
||||||
dec de
|
|
||||||
ld a,[de] ; a = lower byte of weight
|
|
||||||
ld [hl],a ; store lower byte of weight in [$ff8c]
|
|
||||||
ld de,$ff8b
|
|
||||||
hlCoord 11, 8
|
|
||||||
ld bc,$0205 ; no leading zeroes, right-aligned, 2 bytes, 5 digits
|
|
||||||
call PrintNumber ; print weight
|
|
||||||
hlCoord 14, 8
|
|
||||||
ld a,[$ff8c]
|
|
||||||
sub a,10
|
|
||||||
ld a,[$ff8b]
|
|
||||||
sbc a,0
|
|
||||||
jr nc,.next
|
|
||||||
ld [hl],"0" ; if the weight is less than 10, put a 0 before the decimal point
|
|
||||||
.next
|
|
||||||
inc hl
|
|
||||||
ld a,[hli]
|
|
||||||
ld [hld],a ; make space for the decimal point by moving the last digit forward one tile
|
|
||||||
ld [hl],$f2 ; decimal point tile
|
|
||||||
pop af
|
|
||||||
ld [$ff8c],a ; restore original value of [$ff8c]
|
|
||||||
pop af
|
|
||||||
ld [$ff8b],a ; restore original value of [$ff8b]
|
|
||||||
pop hl
|
|
||||||
inc hl ; hl = address of pokedex description text
|
|
||||||
bcCoord 1, 11
|
|
||||||
ld a,2
|
|
||||||
ld [$fff4],a
|
|
||||||
call TextCommandProcessor ; print pokedex description text
|
|
||||||
xor a
|
|
||||||
ld [$fff4],a
|
|
||||||
.waitForButtonPress
|
|
||||||
call JoypadLowSensitivity
|
|
||||||
ld a,[hJoy5]
|
|
||||||
and a,%00000011 ; A button and B button
|
|
||||||
jr z,.waitForButtonPress
|
|
||||||
pop af
|
|
||||||
ld [hTilesetType],a
|
|
||||||
call GBPalWhiteOut
|
|
||||||
call ClearScreen
|
|
||||||
call GoPAL_SET_CF1C
|
|
||||||
call LoadTextBoxTilePatterns
|
|
||||||
call GBPalNormal
|
|
||||||
ld hl,wd72c
|
|
||||||
res 1,[hl]
|
|
||||||
ld a,$77 ; max volume
|
|
||||||
ld [$ff24],a
|
|
||||||
ret
|
|
||||||
|
|
||||||
HeightWeightText: ; 40448 (10:4448)
|
|
||||||
db "HT ?",$60,"??",$61,$4E,"WT ???lb@"
|
|
||||||
|
|
||||||
; XXX does anything point to this?
|
|
||||||
Unknown_4045D: ; 4045d (10:445d)
|
|
||||||
db $54,$50
|
|
||||||
|
|
||||||
; horizontal line that divides the pokedex text description from the rest of the data
|
|
||||||
PokedexDataDividerLine: ; 4045f (10:445f)
|
|
||||||
db $68,$69,$6B,$69,$6B
|
|
||||||
db $69,$6B,$69,$6B,$6B
|
|
||||||
db $6B,$6B,$69,$6B,$69
|
|
||||||
db $6B,$69,$6B,$69,$6A
|
|
||||||
db $50
|
|
||||||
|
|
||||||
; draws a line of tiles
|
|
||||||
; INPUT:
|
|
||||||
; b = tile ID
|
|
||||||
; c = number of tile ID's to write
|
|
||||||
; de = amount to destination address after each tile (1 for horizontal, 20 for vertical)
|
|
||||||
; hl = destination address
|
|
||||||
DrawTileLine: ; 40474 (10:4474)
|
|
||||||
push bc
|
|
||||||
push de
|
|
||||||
.loop
|
|
||||||
ld [hl],b
|
|
||||||
add hl,de
|
|
||||||
dec c
|
|
||||||
jr nz,.loop
|
|
||||||
pop de
|
|
||||||
pop bc
|
|
||||||
ret
|
|
||||||
|
|
||||||
INCLUDE "data/pokedex_entries.asm"
|
|
||||||
|
|
||||||
PokedexToIndex: ; 40ff9 (10:4ff9)
|
|
||||||
; converts the Pokédex number at wd11e to an index
|
|
||||||
push bc
|
|
||||||
push hl
|
|
||||||
ld a,[wd11e]
|
|
||||||
ld b,a
|
|
||||||
ld c,0
|
|
||||||
ld hl,PokedexOrder
|
|
||||||
|
|
||||||
.loop ; go through the list until we find an entry with a matching dex number
|
|
||||||
inc c
|
|
||||||
ld a,[hli]
|
|
||||||
cp b
|
|
||||||
jr nz,.loop
|
|
||||||
|
|
||||||
ld a,c
|
|
||||||
ld [wd11e],a
|
|
||||||
pop hl
|
|
||||||
pop bc
|
|
||||||
ret
|
|
||||||
|
|
||||||
IndexToPokedex: ; 41010 (10:5010)
|
|
||||||
; converts the indexédex number at wd11e to a Pokédex number
|
|
||||||
push bc
|
|
||||||
push hl
|
|
||||||
ld a,[wd11e]
|
|
||||||
dec a
|
|
||||||
ld hl,PokedexOrder
|
|
||||||
ld b,0
|
|
||||||
ld c,a
|
|
||||||
add hl,bc
|
|
||||||
ld a,[hl]
|
|
||||||
ld [wd11e],a
|
|
||||||
pop hl
|
|
||||||
pop bc
|
|
||||||
ret
|
|
||||||
|
|
||||||
INCLUDE "data/pokedex_order.asm"
|
|
|
@ -1,605 +0,0 @@
|
||||||
DisplayTownMap: ; 70e3e (1c:4e3e)
|
|
||||||
call LoadTownMap
|
|
||||||
ld hl, wUpdateSpritesEnabled
|
|
||||||
ld a, [hl]
|
|
||||||
push af
|
|
||||||
ld [hl], $ff
|
|
||||||
push hl
|
|
||||||
ld a, $1
|
|
||||||
ld [hJoy7], a
|
|
||||||
ld a, [W_CURMAP] ; W_CURMAP
|
|
||||||
push af
|
|
||||||
ld b, $0
|
|
||||||
call Func_711c4
|
|
||||||
hlCoord 1, 0
|
|
||||||
ld de, wcd6d
|
|
||||||
call PlaceString
|
|
||||||
ld hl, wOAMBuffer
|
|
||||||
ld de, wTileMapBackup
|
|
||||||
ld bc, $10
|
|
||||||
call CopyData
|
|
||||||
ld hl, vSprites + $40
|
|
||||||
ld de, TownMapCursor ; $4f40
|
|
||||||
ld bc, (BANK(TownMapCursor) << 8) + $04
|
|
||||||
call CopyVideoDataDouble
|
|
||||||
xor a
|
|
||||||
ld [wWhichTrade], a ; wWhichTrade
|
|
||||||
pop af
|
|
||||||
jr Func_70e92
|
|
||||||
|
|
||||||
Func_70e7e: ; 70e7e (1c:4e7e)
|
|
||||||
ld hl, wTileMap
|
|
||||||
ld bc, $114
|
|
||||||
call ClearScreenArea
|
|
||||||
ld hl, TownMapOrder ; $4f11
|
|
||||||
ld a, [wWhichTrade] ; wWhichTrade
|
|
||||||
ld c, a
|
|
||||||
ld b, $0
|
|
||||||
add hl, bc
|
|
||||||
ld a, [hl]
|
|
||||||
|
|
||||||
Func_70e92: ; 70e92 (1c:4e92)
|
|
||||||
ld de, wHPBarMaxHP
|
|
||||||
call Func_712f1
|
|
||||||
ld a, [de]
|
|
||||||
push hl
|
|
||||||
call Func_71258
|
|
||||||
ld a, $4
|
|
||||||
ld [wcd5b], a
|
|
||||||
ld hl, wOAMBuffer + $10
|
|
||||||
call Func_71279
|
|
||||||
pop hl
|
|
||||||
ld de, wcd6d
|
|
||||||
.asm_70eac
|
|
||||||
ld a, [hli]
|
|
||||||
ld [de], a
|
|
||||||
inc de
|
|
||||||
cp $50
|
|
||||||
jr nz, .asm_70eac
|
|
||||||
hlCoord 1, 0
|
|
||||||
ld de, wcd6d
|
|
||||||
call PlaceString
|
|
||||||
ld hl, wOAMBuffer + $10
|
|
||||||
ld de, wTileMapBackup + 16
|
|
||||||
ld bc, $10
|
|
||||||
call CopyData
|
|
||||||
.asm_70ec8
|
|
||||||
call TownMapSpriteBlinkingAnimation
|
|
||||||
call JoypadLowSensitivity
|
|
||||||
ld a, [hJoy5]
|
|
||||||
ld b, a
|
|
||||||
and $c3
|
|
||||||
jr z, .asm_70ec8
|
|
||||||
ld a, (SFX_02_3c - SFX_Headers_02) / 3
|
|
||||||
call PlaySound
|
|
||||||
bit 6, b
|
|
||||||
jr nz, .asm_70ef2
|
|
||||||
bit 7, b
|
|
||||||
jr nz, .asm_70f01
|
|
||||||
xor a
|
|
||||||
<<<<<<< HEAD
|
|
||||||
ld [wd09b], a
|
|
||||||
ld [hJoy7], a
|
|
||||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
|
||||||
=======
|
|
||||||
ld [wTownMapSpriteBlinkingEnabled], a
|
|
||||||
ld [$ffb7], a
|
|
||||||
ld [wTownMapSpriteBlinkingCounter], a
|
|
||||||
>>>>>>> yama/master
|
|
||||||
call Func_711ab
|
|
||||||
pop hl
|
|
||||||
pop af
|
|
||||||
ld [hl], a
|
|
||||||
ret
|
|
||||||
.asm_70ef2
|
|
||||||
ld a, [wWhichTrade] ; wWhichTrade
|
|
||||||
inc a
|
|
||||||
cp $2f
|
|
||||||
jr nz, .asm_70efb
|
|
||||||
xor a
|
|
||||||
.asm_70efb
|
|
||||||
ld [wWhichTrade], a ; wWhichTrade
|
|
||||||
jp Func_70e7e
|
|
||||||
.asm_70f01
|
|
||||||
ld a, [wWhichTrade] ; wWhichTrade
|
|
||||||
dec a
|
|
||||||
cp $ff
|
|
||||||
jr nz, .asm_70f0b
|
|
||||||
ld a, $2e
|
|
||||||
.asm_70f0b
|
|
||||||
ld [wWhichTrade], a ; wWhichTrade
|
|
||||||
jp Func_70e7e
|
|
||||||
|
|
||||||
INCLUDE "data/town_map_order.asm"
|
|
||||||
|
|
||||||
TownMapCursor: ; 70f40 (1c:4f40)
|
|
||||||
INCBIN "gfx/town_map_cursor.1bpp"
|
|
||||||
|
|
||||||
LoadTownMap_Nest: ; 70f60 (1c:4f60)
|
|
||||||
call LoadTownMap
|
|
||||||
ld hl, wUpdateSpritesEnabled
|
|
||||||
ld a, [hl]
|
|
||||||
push af
|
|
||||||
ld [hl], $ff
|
|
||||||
push hl
|
|
||||||
call Func_711ef
|
|
||||||
call GetMonName
|
|
||||||
hlCoord 1, 0
|
|
||||||
call PlaceString
|
|
||||||
ld h, b
|
|
||||||
ld l, c
|
|
||||||
ld de, MonsNestText
|
|
||||||
call PlaceString
|
|
||||||
call WaitForTextScrollButtonPress
|
|
||||||
call Func_711ab
|
|
||||||
pop hl
|
|
||||||
pop af
|
|
||||||
ld [hl], a
|
|
||||||
ret
|
|
||||||
|
|
||||||
MonsNestText: ; 70f89 (1c:4f89)
|
|
||||||
db "'s NEST@"
|
|
||||||
|
|
||||||
LoadTownMap_Fly: ; 70f90 (1c:4f90)
|
|
||||||
call ClearSprites
|
|
||||||
call LoadTownMap
|
|
||||||
call LoadPlayerSpriteGraphics
|
|
||||||
call LoadFontTilePatterns
|
|
||||||
ld de, BirdSprite ; $4d80
|
|
||||||
ld hl, vSprites + $40
|
|
||||||
ld bc, (BANK(BirdSprite) << 8) + $0c
|
|
||||||
call CopyVideoData
|
|
||||||
ld de, TownMapUpArrow ; $5093
|
|
||||||
ld hl, vChars1 + $6d0
|
|
||||||
ld bc, (BANK(TownMapUpArrow) << 8) + $01
|
|
||||||
call CopyVideoDataDouble
|
|
||||||
call Func_71070
|
|
||||||
ld hl, wUpdateSpritesEnabled
|
|
||||||
ld a, [hl]
|
|
||||||
push af
|
|
||||||
ld [hl], $ff
|
|
||||||
push hl
|
|
||||||
ld hl, wTileMap
|
|
||||||
ld de, ToText
|
|
||||||
call PlaceString
|
|
||||||
ld a, [W_CURMAP] ; W_CURMAP
|
|
||||||
ld b, $0
|
|
||||||
call Func_711c4
|
|
||||||
ld hl, wTrainerEngageDistance
|
|
||||||
deCoord 18, 0
|
|
||||||
|
|
||||||
.townMapFlyLoop
|
|
||||||
ld a, $7f
|
|
||||||
ld [de], a
|
|
||||||
push hl
|
|
||||||
push hl
|
|
||||||
hlCoord 3, 0
|
|
||||||
ld bc, $10f
|
|
||||||
call ClearScreenArea
|
|
||||||
pop hl
|
|
||||||
ld a, [hl]
|
|
||||||
ld b, $4
|
|
||||||
call Func_711c4
|
|
||||||
hlCoord 3, 0
|
|
||||||
ld de, wcd6d
|
|
||||||
call PlaceString
|
|
||||||
ld c, $f
|
|
||||||
call DelayFrames
|
|
||||||
hlCoord 18, 0
|
|
||||||
ld [hl], $ed
|
|
||||||
hlCoord 19, 0
|
|
||||||
ld [hl], $ee
|
|
||||||
pop hl
|
|
||||||
.asm_71004
|
|
||||||
push hl
|
|
||||||
call DelayFrame
|
|
||||||
call JoypadLowSensitivity
|
|
||||||
ld a, [hJoy5]
|
|
||||||
ld b, a
|
|
||||||
pop hl
|
|
||||||
and $c3
|
|
||||||
jr z, .asm_71004
|
|
||||||
bit 0, b
|
|
||||||
jr nz, .asm_71026
|
|
||||||
ld a, (SFX_02_3c - SFX_Headers_02) / 3
|
|
||||||
call PlaySound
|
|
||||||
bit 6, b
|
|
||||||
jr nz, .asm_71042
|
|
||||||
bit 7, b
|
|
||||||
jr nz, .asm_71058
|
|
||||||
jr .asm_71037
|
|
||||||
.asm_71026
|
|
||||||
ld a, (SFX_02_3e - SFX_Headers_02) / 3
|
|
||||||
call PlaySound
|
|
||||||
ld a, [hl]
|
|
||||||
ld [wDestinationMap], a
|
|
||||||
ld hl, wd732
|
|
||||||
set 3, [hl]
|
|
||||||
inc hl
|
|
||||||
set 7, [hl]
|
|
||||||
.asm_71037
|
|
||||||
xor a
|
|
||||||
ld [wTownMapSpriteBlinkingEnabled], a
|
|
||||||
call GBPalWhiteOutWithDelay3
|
|
||||||
pop hl
|
|
||||||
pop af
|
|
||||||
ld [hl], a
|
|
||||||
ret
|
|
||||||
.asm_71042
|
|
||||||
deCoord 18, 0
|
|
||||||
inc hl
|
|
||||||
ld a, [hl]
|
|
||||||
cp $ff
|
|
||||||
jr z, .asm_71052
|
|
||||||
cp $fe
|
|
||||||
jr z, .asm_71042
|
|
||||||
jp .townMapFlyLoop
|
|
||||||
.asm_71052
|
|
||||||
ld hl, wTrainerEngageDistance
|
|
||||||
jp .townMapFlyLoop
|
|
||||||
.asm_71058
|
|
||||||
deCoord 19, 0
|
|
||||||
dec hl
|
|
||||||
ld a, [hl]
|
|
||||||
cp $ff
|
|
||||||
jr z, .asm_71068
|
|
||||||
cp $fe
|
|
||||||
jr z, .asm_71058
|
|
||||||
jp .townMapFlyLoop
|
|
||||||
.asm_71068
|
|
||||||
ld hl, wcd49
|
|
||||||
jr .asm_71058
|
|
||||||
|
|
||||||
ToText: ; 7106d (1c:506d)
|
|
||||||
db "To@"
|
|
||||||
|
|
||||||
Func_71070: ; 71070 (1c:5070)
|
|
||||||
ld hl, wWhichTrade ; wWhichTrade
|
|
||||||
ld [hl], $ff
|
|
||||||
inc hl
|
|
||||||
ld a, [W_TOWNVISITEDFLAG]
|
|
||||||
ld e, a
|
|
||||||
ld a, [W_TOWNVISITEDFLAG + 1]
|
|
||||||
ld d, a
|
|
||||||
ld bc, $b
|
|
||||||
.asm_71081
|
|
||||||
srl d
|
|
||||||
rr e
|
|
||||||
ld a, $fe
|
|
||||||
jr nc, .asm_7108a
|
|
||||||
ld a, b
|
|
||||||
.asm_7108a
|
|
||||||
ld [hl], a
|
|
||||||
inc hl
|
|
||||||
inc b
|
|
||||||
dec c
|
|
||||||
jr nz, .asm_71081
|
|
||||||
ld [hl], $ff
|
|
||||||
ret
|
|
||||||
|
|
||||||
TownMapUpArrow: ; 71093 (1c:5093)
|
|
||||||
INCBIN "gfx/up_arrow.1bpp"
|
|
||||||
|
|
||||||
LoadTownMap: ; 7109b (1c:509b)
|
|
||||||
call GBPalWhiteOutWithDelay3
|
|
||||||
call ClearScreen
|
|
||||||
call UpdateSprites
|
|
||||||
ld hl, wTileMap
|
|
||||||
ld b, $12
|
|
||||||
ld c, $12
|
|
||||||
call TextBoxBorder
|
|
||||||
call DisableLCD
|
|
||||||
ld hl, WorldMapTileGraphics ; $65a8
|
|
||||||
ld de, vChars2 + $600
|
|
||||||
ld bc, $100
|
|
||||||
ld a, BANK(WorldMapTileGraphics)
|
|
||||||
call FarCopyData2
|
|
||||||
ld hl, MonNestIcon ; $56be
|
|
||||||
ld de, vSprites + $40
|
|
||||||
ld bc, $8
|
|
||||||
ld a, BANK(MonNestIcon)
|
|
||||||
call FarCopyDataDouble
|
|
||||||
ld hl, wTileMap
|
|
||||||
ld de, CompressedMap ; $5100
|
|
||||||
.asm_710d3
|
|
||||||
ld a, [de]
|
|
||||||
and a
|
|
||||||
jr z, .asm_710e9
|
|
||||||
ld b, a
|
|
||||||
and $f
|
|
||||||
ld c, a
|
|
||||||
ld a, b
|
|
||||||
swap a
|
|
||||||
and $f
|
|
||||||
add $60
|
|
||||||
.asm_710e2
|
|
||||||
ld [hli], a
|
|
||||||
dec c
|
|
||||||
jr nz, .asm_710e2
|
|
||||||
inc de
|
|
||||||
jr .asm_710d3
|
|
||||||
.asm_710e9
|
|
||||||
call EnableLCD
|
|
||||||
ld b, $2
|
|
||||||
call GoPAL_SET
|
|
||||||
call Delay3
|
|
||||||
call GBPalNormal
|
|
||||||
xor a
|
|
||||||
ld [wTownMapSpriteBlinkingCounter], a
|
|
||||||
inc a
|
|
||||||
ld [wTownMapSpriteBlinkingEnabled], a
|
|
||||||
ret
|
|
||||||
|
|
||||||
CompressedMap: ; 71100 (1c:5100)
|
|
||||||
; you can decompress this file with the redrle program in the extras/ dir
|
|
||||||
INCBIN "gfx/town_map.rle"
|
|
||||||
|
|
||||||
Func_711ab: ; 711ab (1c:51ab)
|
|
||||||
xor a
|
|
||||||
ld [wTownMapSpriteBlinkingEnabled], a
|
|
||||||
call GBPalWhiteOut
|
|
||||||
call ClearScreen
|
|
||||||
call ClearSprites
|
|
||||||
call LoadPlayerSpriteGraphics
|
|
||||||
call LoadFontTilePatterns
|
|
||||||
call UpdateSprites
|
|
||||||
jp GoPAL_SET_CF1C
|
|
||||||
|
|
||||||
Func_711c4: ; 711c4 (1c:51c4)
|
|
||||||
push af
|
|
||||||
ld a, b
|
|
||||||
ld [wcd5b], a
|
|
||||||
pop af
|
|
||||||
ld de, wHPBarMaxHP
|
|
||||||
call Func_712f1
|
|
||||||
ld a, [de]
|
|
||||||
push hl
|
|
||||||
call Func_71258
|
|
||||||
call Func_7126d
|
|
||||||
pop hl
|
|
||||||
ld de, wcd6d
|
|
||||||
.asm_711dc
|
|
||||||
ld a, [hli]
|
|
||||||
ld [de], a
|
|
||||||
inc de
|
|
||||||
cp $50
|
|
||||||
jr nz, .asm_711dc
|
|
||||||
ld hl, wOAMBuffer
|
|
||||||
ld de, wTileMapBackup
|
|
||||||
ld bc, $a0
|
|
||||||
jp CopyData
|
|
||||||
|
|
||||||
Func_711ef: ; 711ef (1c:51ef)
|
|
||||||
callba Func_e9cb
|
|
||||||
call Func_712d9
|
|
||||||
ld hl, wOAMBuffer
|
|
||||||
ld de, wHPBarMaxHP
|
|
||||||
.asm_71200
|
|
||||||
ld a, [de]
|
|
||||||
cp $ff
|
|
||||||
jr z, .asm_7121d
|
|
||||||
and a
|
|
||||||
jr z, .asm_7121a
|
|
||||||
push hl
|
|
||||||
call Func_712f1
|
|
||||||
pop hl
|
|
||||||
ld a, [de]
|
|
||||||
cp $19
|
|
||||||
jr z, .asm_7121a
|
|
||||||
call Func_71258
|
|
||||||
ld a, $4
|
|
||||||
ld [hli], a
|
|
||||||
xor a
|
|
||||||
ld [hli], a
|
|
||||||
.asm_7121a
|
|
||||||
inc de
|
|
||||||
jr .asm_71200
|
|
||||||
.asm_7121d
|
|
||||||
ld a, l
|
|
||||||
and a
|
|
||||||
jr nz, .asm_71236
|
|
||||||
hlCoord 1, 7
|
|
||||||
ld b, $2
|
|
||||||
ld c, $f
|
|
||||||
call TextBoxBorder
|
|
||||||
hlCoord 2, 9
|
|
||||||
ld de, AreaUnknownText
|
|
||||||
call PlaceString
|
|
||||||
jr .asm_7123e
|
|
||||||
.asm_71236
|
|
||||||
ld a, [W_CURMAP] ; W_CURMAP
|
|
||||||
ld b, $0
|
|
||||||
call Func_711c4
|
|
||||||
.asm_7123e
|
|
||||||
ld hl, wOAMBuffer
|
|
||||||
ld de, wTileMapBackup
|
|
||||||
ld bc, $a0
|
|
||||||
jp CopyData
|
|
||||||
|
|
||||||
AreaUnknownText: ; 7124a (1c:524a)
|
|
||||||
db " AREA UNKNOWN@"
|
|
||||||
|
|
||||||
Func_71258: ; 71258 (1c:5258)
|
|
||||||
push af
|
|
||||||
and $f0
|
|
||||||
srl a
|
|
||||||
add $18
|
|
||||||
ld b, a
|
|
||||||
ld [hli], a
|
|
||||||
pop af
|
|
||||||
and $f
|
|
||||||
swap a
|
|
||||||
srl a
|
|
||||||
add $18
|
|
||||||
ld c, a
|
|
||||||
ld [hli], a
|
|
||||||
ret
|
|
||||||
|
|
||||||
Func_7126d: ; 7126d (1c:526d)
|
|
||||||
ld a, [wcd5b]
|
|
||||||
and a
|
|
||||||
ld hl, wOAMBuffer + $90
|
|
||||||
jr z, Func_71279
|
|
||||||
ld hl, wOAMBuffer + $80
|
|
||||||
|
|
||||||
Func_71279: ; 71279 (1c:5279)
|
|
||||||
push hl
|
|
||||||
ld hl, $fcfc
|
|
||||||
add hl, bc
|
|
||||||
ld b, h
|
|
||||||
ld c, l
|
|
||||||
pop hl
|
|
||||||
|
|
||||||
Func_71281: ; 71281 (1c:5281)
|
|
||||||
ld de, $202
|
|
||||||
.asm_71284
|
|
||||||
push de
|
|
||||||
push bc
|
|
||||||
.asm_71286
|
|
||||||
ld a, b
|
|
||||||
ld [hli], a
|
|
||||||
ld a, c
|
|
||||||
ld [hli], a
|
|
||||||
ld a, [wcd5b]
|
|
||||||
ld [hli], a
|
|
||||||
inc a
|
|
||||||
ld [wcd5b], a
|
|
||||||
xor a
|
|
||||||
ld [hli], a
|
|
||||||
inc d
|
|
||||||
ld a, $8
|
|
||||||
add c
|
|
||||||
ld c, a
|
|
||||||
dec e
|
|
||||||
jr nz, .asm_71286
|
|
||||||
pop bc
|
|
||||||
pop de
|
|
||||||
ld a, $8
|
|
||||||
add b
|
|
||||||
ld b, a
|
|
||||||
dec d
|
|
||||||
jr nz, .asm_71284
|
|
||||||
ret
|
|
||||||
|
|
||||||
Func_712a6: ; 712a6 (1c:52a6)
|
|
||||||
xor a
|
|
||||||
ld [wcd5c], a
|
|
||||||
ld de, $202
|
|
||||||
.asm_712ad
|
|
||||||
push de
|
|
||||||
push bc
|
|
||||||
.asm_712af
|
|
||||||
ld a, b
|
|
||||||
ld [hli], a
|
|
||||||
ld a, c
|
|
||||||
ld [hli], a
|
|
||||||
ld a, [wcd5b]
|
|
||||||
ld [hli], a
|
|
||||||
ld a, [wcd5c]
|
|
||||||
ld [hli], a
|
|
||||||
xor $20
|
|
||||||
ld [wcd5c], a
|
|
||||||
inc d
|
|
||||||
ld a, $8
|
|
||||||
add c
|
|
||||||
ld c, a
|
|
||||||
dec e
|
|
||||||
jr nz, .asm_712af
|
|
||||||
pop bc
|
|
||||||
pop de
|
|
||||||
push hl
|
|
||||||
ld hl, wcd5b
|
|
||||||
inc [hl]
|
|
||||||
inc [hl]
|
|
||||||
pop hl
|
|
||||||
ld a, $8
|
|
||||||
add b
|
|
||||||
ld b, a
|
|
||||||
dec d
|
|
||||||
jr nz, .asm_712ad
|
|
||||||
ret
|
|
||||||
|
|
||||||
Func_712d9: ; 712d9 (1c:52d9)
|
|
||||||
ld de, wHPBarMaxHP
|
|
||||||
.asm_712dc
|
|
||||||
ld a, [de]
|
|
||||||
inc de
|
|
||||||
cp $ff
|
|
||||||
ret z
|
|
||||||
ld c, a
|
|
||||||
ld l, e
|
|
||||||
ld h, d
|
|
||||||
.asm_712e4
|
|
||||||
ld a, [hl]
|
|
||||||
cp $ff
|
|
||||||
jr z, .asm_712dc
|
|
||||||
cp c
|
|
||||||
jr nz, .asm_712ee
|
|
||||||
xor a
|
|
||||||
ld [hl], a
|
|
||||||
.asm_712ee
|
|
||||||
inc hl
|
|
||||||
jr .asm_712e4
|
|
||||||
|
|
||||||
Func_712f1: ; 712f1 (1c:52f1)
|
|
||||||
cp REDS_HOUSE_1F
|
|
||||||
jr c, .asm_71304
|
|
||||||
ld bc, $4
|
|
||||||
ld hl, InternalMapEntries ; $5382
|
|
||||||
.asm_712fb
|
|
||||||
cp [hl]
|
|
||||||
jr c, .asm_71301
|
|
||||||
add hl, bc
|
|
||||||
jr .asm_712fb
|
|
||||||
.asm_71301
|
|
||||||
inc hl
|
|
||||||
jr .asm_7130d
|
|
||||||
.asm_71304
|
|
||||||
ld hl, ExternalMapEntries ; $5313
|
|
||||||
ld c, a
|
|
||||||
ld b, $0
|
|
||||||
add hl, bc
|
|
||||||
add hl, bc
|
|
||||||
add hl, bc
|
|
||||||
.asm_7130d
|
|
||||||
ld a, [hli]
|
|
||||||
ld [de], a
|
|
||||||
ld a, [hli]
|
|
||||||
ld h, [hl]
|
|
||||||
ld l, a
|
|
||||||
ret
|
|
||||||
|
|
||||||
INCLUDE "data/town_map_entries.asm"
|
|
||||||
|
|
||||||
INCLUDE "text/map_names.asm"
|
|
||||||
|
|
||||||
MonNestIcon: ; 716be (1c:56be)
|
|
||||||
INCBIN "gfx/mon_nest_icon.1bpp"
|
|
||||||
|
|
||||||
TownMapSpriteBlinkingAnimation: ; 716c6 (1c:56c6)
|
|
||||||
ld a, [wTownMapSpriteBlinkingCounter]
|
|
||||||
inc a
|
|
||||||
cp 25
|
|
||||||
jr z, .hideSprites
|
|
||||||
cp 50
|
|
||||||
jr nz, .done
|
|
||||||
; show sprites when the counter reaches 50
|
|
||||||
ld hl, wTileMapBackup
|
|
||||||
ld de, wOAMBuffer
|
|
||||||
ld bc, $90
|
|
||||||
call CopyData
|
|
||||||
xor a
|
|
||||||
jr .done
|
|
||||||
.hideSprites
|
|
||||||
ld hl, wOAMBuffer
|
|
||||||
ld b, $24
|
|
||||||
ld de, $4
|
|
||||||
.hideSpritesLoop
|
|
||||||
ld [hl], $a0
|
|
||||||
add hl, de
|
|
||||||
dec b
|
|
||||||
jr nz, .hideSpritesLoop
|
|
||||||
ld a, 25
|
|
||||||
.done
|
|
||||||
ld [wTownMapSpriteBlinkingCounter], a
|
|
||||||
jp DelayFrame
|
|
Loading…
Reference in a new issue