mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
c8960dd2c8
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.
2583 lines
36 KiB
NASM
2583 lines
36 KiB
NASM
|
|
Pokedex: ; 40000
|
|
|
|
ld a, [hWX]
|
|
ld l, a
|
|
ld a, [hWY]
|
|
ld h, a
|
|
push hl
|
|
ld a, [hSCX]
|
|
push af
|
|
ld hl, Options
|
|
ld a, [hl]
|
|
push af
|
|
set NO_TEXT_SCROLL, [hl]
|
|
ld a, [VramState]
|
|
push af
|
|
xor a
|
|
ld [VramState], a
|
|
ld a, [$ffaa]
|
|
push af
|
|
ld a, $1
|
|
ld [$ffaa], a
|
|
|
|
xor a
|
|
ld [$ffde], a
|
|
call InitPokedex
|
|
call DelayFrame
|
|
|
|
.main
|
|
call Functiona57
|
|
ld a, [wcf63]
|
|
bit 7, a
|
|
jr nz, .exit
|
|
call Function4010b
|
|
call DelayFrame
|
|
jr .main
|
|
|
|
.exit
|
|
ld de, SFX_READ_TEXT_2
|
|
call PlaySFX
|
|
call WaitSFX
|
|
call ClearSprites
|
|
ld a, [wc7d4]
|
|
ld [wd959], a
|
|
|
|
pop af
|
|
ld [$ffaa], a
|
|
pop af
|
|
ld [VramState], a
|
|
pop af
|
|
ld [Options], a
|
|
pop af
|
|
ld [hSCX], a
|
|
pop hl
|
|
ld a, l
|
|
ld [hWX], a
|
|
ld a, h
|
|
ld [hWY], a
|
|
ret
|
|
; 40063
|
|
|
|
InitPokedex: ; 40063
|
|
call WhiteBGMap
|
|
call ClearSprites
|
|
call ClearTileMap
|
|
call Function414b7
|
|
|
|
ld hl, wc6d0
|
|
IF DEF(CRYSTAL11)
|
|
ld bc, $0116
|
|
ELSE
|
|
ld bc, $0115
|
|
ENDC
|
|
xor a
|
|
call ByteFill
|
|
|
|
xor a
|
|
ld [wcf63], a
|
|
ld [wcf64], a
|
|
ld [wcf65], a
|
|
ld [wcf66], a
|
|
|
|
call Function400a2
|
|
|
|
ld a, [wd959]
|
|
ld [wc7d4], a
|
|
|
|
call Function40bdc
|
|
call Function400b4
|
|
call Function400ed
|
|
callba Function1de247
|
|
call Function41af7
|
|
ret
|
|
; 400a2
|
|
|
|
Function400a2: ; 400a2
|
|
ld a, [StatusFlags]
|
|
bit 1, a
|
|
jr nz, .asm_400ae
|
|
|
|
xor a
|
|
ld [wc7dc], a
|
|
ret
|
|
|
|
.asm_400ae
|
|
ld a, 1
|
|
ld [wc7dc], a
|
|
ret
|
|
; 400b4
|
|
|
|
Function400b4: ; 400b4
|
|
ld hl, wc6d0
|
|
ld a, [wc2d6]
|
|
and a
|
|
jr z, .asm_400ec
|
|
cp $fc
|
|
jr nc, .asm_400ec
|
|
|
|
ld b, a
|
|
ld a, [wc7d2]
|
|
cp $8
|
|
jr c, .asm_400db
|
|
|
|
sub $7
|
|
ld c, a
|
|
.asm_400cc
|
|
ld a, b
|
|
cp [hl]
|
|
jr z, .asm_400ec
|
|
inc hl
|
|
ld a, [wc7d0]
|
|
inc a
|
|
ld [wc7d0], a
|
|
dec c
|
|
jr nz, .asm_400cc
|
|
|
|
.asm_400db
|
|
ld c, $7
|
|
.asm_400dd
|
|
ld a, b
|
|
cp [hl]
|
|
jr z, .asm_400ec
|
|
inc hl
|
|
ld a, [wc7d1]
|
|
inc a
|
|
ld [wc7d1], a
|
|
dec c
|
|
jr nz, .asm_400dd
|
|
|
|
.asm_400ec
|
|
ret
|
|
; 400ed
|
|
|
|
Function400ed: ; 400ed
|
|
ld a, [MapGroup]
|
|
ld b, a
|
|
ld a, [MapNumber]
|
|
ld c, a
|
|
call GetWorldMapLocation
|
|
|
|
cp SPECIAL_MAP
|
|
jr nz, .asm_40107
|
|
|
|
ld a, [BackupMapGroup]
|
|
ld b, a
|
|
ld a, [BackupMapNumber]
|
|
ld c, a
|
|
call GetWorldMapLocation
|
|
|
|
.asm_40107
|
|
ld [wc7e4], a
|
|
ret
|
|
; 4010b
|
|
|
|
Function4010b: ; 4010b
|
|
ld a, [wcf63]
|
|
ld hl, Jumptable_40115
|
|
call Function41432
|
|
jp [hl]
|
|
; 40115
|
|
|
|
|
|
Jumptable_40115: ; 40115 (10:4115)
|
|
dw Function4013c
|
|
dw Function401ae
|
|
dw Function40217
|
|
dw Function40258
|
|
dw Function402aa
|
|
dw Function40443
|
|
dw Function40471
|
|
dw Function4039d
|
|
dw Function403be
|
|
dw Function4050a
|
|
dw Function40562
|
|
dw Function405bd
|
|
dw Function405df
|
|
dw Function40136
|
|
|
|
|
|
Function40131: ; 40131 (10:4131)
|
|
ld hl, wcf63
|
|
inc [hl]
|
|
ret
|
|
|
|
Function40136: ; 40136 (10:4136)
|
|
ld hl, wcf63
|
|
set 7, [hl]
|
|
ret
|
|
|
|
Function4013c: ; 4013c (10:413c)
|
|
xor a
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
call ClearSprites
|
|
xor a
|
|
hlcoord 0, 0, AttrMap
|
|
ld bc, $168
|
|
call ByteFill
|
|
callba Function1de171
|
|
hlcoord 0, 17
|
|
ld de, Unknown_407f2
|
|
call Function40acd
|
|
ld a, $7
|
|
ld [wc7d3], a
|
|
call Function40b0f
|
|
call Function41aeb
|
|
call Function41af7
|
|
call Function4074c
|
|
ld a, $5
|
|
ld [hSCX], a ; $ff00+$cf
|
|
ld a, [wc7d4]
|
|
cp $1
|
|
ld a, $4a
|
|
jr z, .asm_4017b
|
|
ld a, $47
|
|
|
|
.asm_4017b
|
|
ld [hWX], a ; $ff00+$d1
|
|
xor a
|
|
ld [hWY], a ; $ff00+$d2
|
|
call WaitBGMap
|
|
call Function41af7
|
|
ld a, $ff
|
|
ld [CurPartySpecies], a
|
|
ld a, $4
|
|
call Function41423
|
|
call Function41148
|
|
callba Function1de171
|
|
hlcoord 0, 17
|
|
ld de, Unknown_407f2
|
|
call Function40acd
|
|
ld a, $7
|
|
ld [wc7d3], a
|
|
call Function40b0f
|
|
call Function40131
|
|
ret
|
|
|
|
Function401ae: ; 401ae (10:41ae)
|
|
ld hl, hJoyPressed ; $ffa7
|
|
ld a, [hl]
|
|
and B_BUTTON
|
|
jr nz, .b
|
|
ld a, [hl]
|
|
and A_BUTTON
|
|
jr nz, .a
|
|
ld a, [hl]
|
|
and SELECT
|
|
jr nz, .select
|
|
ld a, [hl]
|
|
and START
|
|
jr nz, .start
|
|
call Function406c5
|
|
ret nc
|
|
call Function41148
|
|
xor a
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
call Function40b0f
|
|
call Function41ad7
|
|
call Function41af7
|
|
ret
|
|
|
|
.a
|
|
call Function40bb1
|
|
call Function40bd0
|
|
ret z
|
|
ld a, $2
|
|
ld [wcf63], a
|
|
ld a, $0
|
|
ld [wcf64], a
|
|
ret
|
|
|
|
.select
|
|
call Function41401
|
|
ld a, $7
|
|
ld [wcf63], a
|
|
xor a
|
|
ld [hSCX], a ; $ff00+$cf
|
|
ld a, $a7
|
|
ld [hWX], a ; $ff00+$d1
|
|
call DelayFrame
|
|
ret
|
|
|
|
.start
|
|
call Function41401
|
|
ld a, $5
|
|
ld [wcf63], a
|
|
xor a
|
|
ld [hSCX], a ; $ff00+$cf
|
|
ld a, $a7
|
|
ld [hWX], a ; $ff00+$d1
|
|
call DelayFrame
|
|
ret
|
|
|
|
.b
|
|
ld a, $d
|
|
ld [wcf63], a
|
|
ret
|
|
|
|
Function40217: ; 40217 (10:4217)
|
|
call LowVolume
|
|
xor a
|
|
ld [wPokedexStatus], a
|
|
xor a
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
call ClearSprites
|
|
call Function41478
|
|
call Function407fd
|
|
call Function4134f
|
|
call Function40bb1
|
|
ld [wc2d6], a
|
|
callba Function4424d
|
|
call Function40ba0
|
|
call WaitBGMap
|
|
ld a, $a7
|
|
ld [hWX], a ; $ff00+$d1
|
|
call Function40bb1
|
|
ld [CurPartySpecies], a
|
|
ld a, $4
|
|
call Function41423
|
|
ld a, [CurPartySpecies]
|
|
call PlayCry
|
|
call Function40131
|
|
ret
|
|
|
|
Function40258: ; 40258 (10:4258)
|
|
ld de, Unknown_402e8
|
|
call Function4135a
|
|
ld hl, hJoyPressed ; $ffa7
|
|
ld a, [hl]
|
|
and B_BUTTON
|
|
jr nz, .b
|
|
ld a, [hl]
|
|
and A_BUTTON
|
|
jr nz, .a
|
|
call Function4066c
|
|
ret nc
|
|
call Function40131
|
|
ret
|
|
|
|
.a
|
|
ld a, [wc7d8]
|
|
ld hl, Jumptable_402f2
|
|
call Function41432
|
|
jp [hl]
|
|
|
|
.b
|
|
ld a, [LastVolume]
|
|
and a
|
|
jr z, .asm_40288
|
|
ld a, $77
|
|
ld [LastVolume], a
|
|
|
|
.asm_40288
|
|
call MaxVolume
|
|
ld a, [wcf64]
|
|
ld [wcf63], a
|
|
ret
|
|
; 40292 (10:4292)
|
|
|
|
Function40292: ; 40292
|
|
ld a, [wPokedexStatus]
|
|
xor $1
|
|
ld [wPokedexStatus], a
|
|
call Function40bb1
|
|
ld [wc2d6], a
|
|
callba Function4424d
|
|
call WaitBGMap
|
|
ret
|
|
; 402aa
|
|
|
|
Function402aa: ; 402aa (10:42aa)
|
|
call Function41401
|
|
xor a
|
|
ld [wPokedexStatus], a
|
|
xor a
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
call Function407fd
|
|
call Function4134f
|
|
call Function41478
|
|
call Function40bb1
|
|
ld [wc2d6], a
|
|
callba Function4424d
|
|
call Function40ba0
|
|
call Function4143b
|
|
call WaitBGMap
|
|
call Function40bb1
|
|
ld [CurPartySpecies], a
|
|
ld a, $4
|
|
call Function41423
|
|
ld a, [CurPartySpecies]
|
|
call PlayCry
|
|
ld hl, wcf63
|
|
dec [hl]
|
|
ret
|
|
; 402e8 (10:42e8)
|
|
|
|
Unknown_402e8: ; 402e8
|
|
dw $0430
|
|
dwcoord 1, 17
|
|
dwcoord 6, 17
|
|
dwcoord 11, 17
|
|
dwcoord 15, 17
|
|
; 402f2
|
|
|
|
Jumptable_402f2: ; 402f2
|
|
dw Function40292
|
|
dw Function402fa
|
|
dw Function40340
|
|
dw Function4034f
|
|
; 402fa
|
|
|
|
Function402fa: ; 402fa
|
|
call Function41401
|
|
xor a
|
|
ld [hSCX], a
|
|
call DelayFrame
|
|
ld a, $7
|
|
ld [hWX], a
|
|
ld a, $90
|
|
ld [hWY], a
|
|
call Function40bb1
|
|
ld a, [wc7e4]
|
|
ld e, a
|
|
predef Function91d11
|
|
call Function41401
|
|
call DelayFrame
|
|
xor a
|
|
ld [hBGMapMode], a
|
|
ld a, $90
|
|
ld [hWY], a
|
|
ld a, $5
|
|
ld [hSCX], a
|
|
call DelayFrame
|
|
call Function4038d
|
|
call Function4143b
|
|
call WaitBGMap
|
|
call Function40bb1
|
|
ld [CurPartySpecies], a
|
|
ld a, $4
|
|
call Function41423
|
|
ret
|
|
; 40340
|
|
|
|
Function40340: ; 40340
|
|
call Function40bb1
|
|
ld a, [wd265]
|
|
call GetCryIndex
|
|
ld e, c
|
|
ld d, b
|
|
call PlayCryHeader
|
|
ret
|
|
; 4034f
|
|
|
|
Function4034f: ; 4034f
|
|
call Function41415
|
|
xor a
|
|
ld [hSCX], a
|
|
ld a, [wcf65]
|
|
push af
|
|
ld a, [wcf64]
|
|
push af
|
|
ld a, [wcf63]
|
|
push af
|
|
callba Function8442c
|
|
pop af
|
|
ld [wcf63], a
|
|
pop af
|
|
ld [wcf64], a
|
|
pop af
|
|
ld [wcf65], a
|
|
call WhiteBGMap
|
|
call DisableLCD
|
|
call Function414fb
|
|
call Function4038d
|
|
call EnableLCD
|
|
call WaitBGMap
|
|
ld a, $5
|
|
ld [hSCX], a
|
|
call Function41427
|
|
ret
|
|
; 4038d
|
|
|
|
Function4038d: ; 4038d
|
|
call Function407fd
|
|
call Function40bb1
|
|
callba Function4424d
|
|
call Function40ba0
|
|
ret
|
|
; 4039d
|
|
|
|
Function4039d: ; 4039d (10:439d)
|
|
xor a
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
call ClearSprites
|
|
call Function4087c
|
|
call Function4134f
|
|
ld a, [wc7d4]
|
|
ld [wc7d8], a
|
|
call Function40e5b
|
|
call WaitBGMap
|
|
ld a, $10
|
|
call Function41423
|
|
call Function40131
|
|
ret
|
|
|
|
Function403be: ; 403be (10:43be)
|
|
ld a, [wc7dc]
|
|
and a
|
|
jr nz, .asm_403c9
|
|
ld de, Unknown_403f3
|
|
jr .asm_403cc
|
|
|
|
.asm_403c9
|
|
ld de, Unknown_403fb
|
|
.asm_403cc
|
|
call Function4135a
|
|
call c, Function40e5b
|
|
ld hl, hJoyPressed ; $ffa7
|
|
ld a, [hl]
|
|
and $6
|
|
jr nz, .asm_403ea
|
|
ld a, [hl]
|
|
and $1
|
|
jr nz, .asm_403e0
|
|
ret
|
|
|
|
.asm_403e0
|
|
ld a, [wc7d8]
|
|
ld hl, Jumptable_40405
|
|
call Function41432
|
|
jp [hl]
|
|
|
|
.asm_403ea
|
|
call Function41401
|
|
ld a, $0
|
|
ld [wcf63], a
|
|
ret
|
|
; 403f3 (10:43f3)
|
|
|
|
Unknown_403f3: ; 403f3
|
|
dw $03c0
|
|
dwcoord 2, 4
|
|
dwcoord 2, 6
|
|
dwcoord 2, 8
|
|
; 403fb
|
|
|
|
Unknown_403fb: ; 403fb
|
|
dw $04c0
|
|
dwcoord 2, 4
|
|
dwcoord 2, 6
|
|
dwcoord 2, 8
|
|
dwcoord 2, 10
|
|
; 40405
|
|
|
|
Jumptable_40405: ; 40405 (10:4405)
|
|
dw Function4040d
|
|
dw Function40411
|
|
dw Function40415
|
|
dw Function4043a
|
|
; 4040d
|
|
|
|
Function4040d: ; 4040d (10:440d)
|
|
ld b, $0
|
|
jr Function40417
|
|
|
|
Function40411: ; 40411 (10:4411)
|
|
ld b, $1
|
|
jr Function40417
|
|
|
|
Function40415: ; 40415 (10:4415)
|
|
ld b, $2
|
|
Function40417: ; 40417 (10:4417)
|
|
ld a, [wc7d4]
|
|
cp b
|
|
jr z, .asm_40431
|
|
ld a, b
|
|
ld [wc7d4], a
|
|
call Function40bdc
|
|
call Function40f08
|
|
xor a
|
|
ld [wc7d0], a
|
|
ld [wc7d1], a
|
|
call Function400b4
|
|
|
|
.asm_40431
|
|
call Function41401
|
|
ld a, $0
|
|
ld [wcf63], a
|
|
ret
|
|
|
|
Function4043a: ; 4043a (10:443a)
|
|
call Function41401
|
|
ld a, $b
|
|
ld [wcf63], a
|
|
ret
|
|
|
|
Function40443: ; 40443 (10:4443)
|
|
xor a
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
call ClearSprites
|
|
call Function408f0
|
|
call Function4134f
|
|
ld a, $1
|
|
ld [wc7d5], a
|
|
xor a
|
|
ld [wc7d6], a
|
|
call Function40fa8
|
|
xor a
|
|
ld [wc7db], a
|
|
callba Function44207
|
|
call WaitBGMap
|
|
ld a, $10
|
|
call Function41423
|
|
call Function40131
|
|
ret
|
|
|
|
Function40471: ; 40471 (10:4471)
|
|
ld de, Unknown_4049e
|
|
call Function4135a
|
|
call Function40f4f
|
|
call c, Function40fa8
|
|
ld hl, hJoyPressed ; $ffa7
|
|
ld a, [hl]
|
|
and START | B_BUTTON
|
|
jr nz, .asm_40495
|
|
ld a, [hl]
|
|
and A_BUTTON
|
|
jr nz, .asm_4048b
|
|
ret
|
|
|
|
.asm_4048b
|
|
ld a, [wc7d8]
|
|
ld hl, Jumptable_404a8
|
|
call Function41432
|
|
jp [hl]
|
|
|
|
.asm_40495
|
|
call Function41401
|
|
ld a, $0
|
|
ld [wcf63], a
|
|
ret
|
|
; 4049e (10:449e)
|
|
|
|
Unknown_4049e: ; 4049e
|
|
dw $04c0
|
|
dwcoord 2, 4
|
|
dwcoord 2, 6
|
|
dwcoord 2, 13
|
|
dwcoord 2, 15
|
|
; 404a8
|
|
|
|
Jumptable_404a8: ; 404a8
|
|
dw Function404b0
|
|
dw Function404b0
|
|
dw Function404b7
|
|
dw Function40501
|
|
; 404b0
|
|
|
|
Function404b0: ; 404b0
|
|
call Function40f84
|
|
call Function40fa8
|
|
ret
|
|
; 404b7
|
|
|
|
Function404b7: ; 404b7
|
|
call Function41086
|
|
callba Function441cf
|
|
ld a, [wc7d7]
|
|
and a
|
|
jr nz, .asm_404dc
|
|
call Function40bdc
|
|
call Function41107
|
|
xor a
|
|
ld [hBGMapMode], a
|
|
call Function408f0
|
|
call Function4134f
|
|
call Function40fa8
|
|
call WaitBGMap
|
|
ret
|
|
|
|
.asm_404dc
|
|
ld [wc7d2], a
|
|
ld a, [wc7d0]
|
|
ld [wc7e0], a
|
|
ld a, [wc7d1]
|
|
ld [wc7e1], a
|
|
ld a, [wc2d6]
|
|
ld [wcf65], a
|
|
xor a
|
|
ld [wc7d0], a
|
|
ld [wc7d1], a
|
|
call Function41401
|
|
ld a, $9
|
|
ld [wcf63], a
|
|
ret
|
|
; 40501
|
|
|
|
Function40501: ; 40501
|
|
call Function41401
|
|
ld a, $0
|
|
ld [wcf63], a
|
|
ret
|
|
; 4050a
|
|
|
|
Function4050a: ; 4050a (10:450a)
|
|
xor a
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
xor a
|
|
hlcoord 0, 0, AttrMap
|
|
ld bc, $168
|
|
call ByteFill
|
|
call Function41ae1
|
|
call Function41af7
|
|
callba Function1de1d1
|
|
call Function409cf
|
|
ld a, $4
|
|
ld [wc7d3], a
|
|
call Function40b0f
|
|
call Function41ad7
|
|
call Function41af7
|
|
call Function40962
|
|
ld a, $5
|
|
ld [hSCX], a ; $ff00+$cf
|
|
ld a, $4a
|
|
ld [hWX], a ; $ff00+$d1
|
|
xor a
|
|
ld [hWY], a ; $ff00+$d2
|
|
call WaitBGMap
|
|
call Function41af7
|
|
callba Function1de1d1
|
|
call Function409cf
|
|
call Function41281
|
|
ld a, $ff
|
|
ld [CurPartySpecies], a
|
|
ld a, $4
|
|
call Function41423
|
|
call Function40131
|
|
ret
|
|
|
|
Function40562: ; 40562 (10:4562)
|
|
ld hl, hJoyPressed ; $ffa7
|
|
ld a, [hl]
|
|
and B_BUTTON
|
|
jr nz, .asm_40595
|
|
ld a, [hl]
|
|
and A_BUTTON
|
|
jr nz, .asm_40583
|
|
call Function406c5
|
|
ret nc
|
|
call Function41281
|
|
xor a
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
call Function40b0f
|
|
call Function41ad7
|
|
call Function41af7
|
|
ret
|
|
|
|
.asm_40583
|
|
call Function40bb1
|
|
call Function40bd0
|
|
ret z
|
|
ld a, $2
|
|
ld [wcf63], a
|
|
ld a, $9
|
|
ld [wcf64], a
|
|
ret
|
|
|
|
.asm_40595
|
|
ld a, [wc7e0]
|
|
ld [wc7d0], a
|
|
ld a, [wc7e1]
|
|
ld [wc7d1], a
|
|
ld a, [wcf65]
|
|
ld [wc2d6], a
|
|
call Function41401
|
|
call ClearSprites
|
|
call Function40bdc
|
|
ld a, $5
|
|
ld [wcf63], a
|
|
xor a
|
|
ld [hSCX], a ; $ff00+$cf
|
|
ld a, $a7
|
|
ld [hWX], a ; $ff00+$d1
|
|
ret
|
|
|
|
Function405bd: ; 405bd (10:45bd)
|
|
call Function41a2c
|
|
call Function409f1
|
|
xor a
|
|
ld [wc7dd], a
|
|
call Function41a58
|
|
call Function40658
|
|
callba Functionfba2e
|
|
call WaitBGMap
|
|
ld a, $16
|
|
call Function41423
|
|
call Function40131
|
|
ret
|
|
|
|
Function405df: ; 405df (10:45df)
|
|
ld hl, hJoyPressed ; $ffa7
|
|
ld a, [hl]
|
|
and A_BUTTON | B_BUTTON
|
|
jr nz, .asm_405eb
|
|
call Function40610
|
|
ret
|
|
|
|
.asm_405eb
|
|
call Function41401
|
|
ld a, $7
|
|
ld [wcf63], a
|
|
call DelayFrame
|
|
call Function41a24
|
|
jr nz, .asm_40603
|
|
callba Function1ddf26
|
|
jr .asm_4060f
|
|
|
|
.asm_40603
|
|
ld hl, PokedexLZ
|
|
ld de, $9310
|
|
lb bc, BANK(PokedexLZ), $3a
|
|
call Functione73
|
|
|
|
.asm_4060f
|
|
ret
|
|
|
|
Function40610: ; 40610 (10:4610)
|
|
ld hl, $ffa9
|
|
ld a, [hl]
|
|
and D_RIGHT
|
|
jr nz, .right
|
|
ld a, [hl]
|
|
and D_LEFT
|
|
jr nz, .left
|
|
ret
|
|
|
|
.right
|
|
ld a, [wc7de]
|
|
ld e, a
|
|
ld hl, wc7dd
|
|
ld a, [hl]
|
|
inc a
|
|
cp e
|
|
ret nc
|
|
ld a, [hl]
|
|
inc [hl]
|
|
jr .asm_40635
|
|
|
|
.left
|
|
ld hl, wc7dd
|
|
ld a, [hl]
|
|
and a
|
|
ret z
|
|
ld a, [hl]
|
|
dec [hl]
|
|
|
|
.asm_40635
|
|
push af
|
|
xor a
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
pop af
|
|
call Function40654
|
|
call Function41a58
|
|
call Function40658
|
|
callba Functionfba2e
|
|
ld a, $1
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
call DelayFrame
|
|
call DelayFrame
|
|
ret
|
|
|
|
Function40654: ; 40654 (10:4654)
|
|
ld c, $7f
|
|
jr asm_4065d
|
|
|
|
Function40658: ; 40658 (10:4658)
|
|
ld a, [wc7dd]
|
|
ld c, $5a
|
|
asm_4065d: ; 4065d (10:465d)
|
|
ld e, a
|
|
ld d, 0
|
|
ld hl, Unknown_40a3e + 2
|
|
rept 4
|
|
add hl, de
|
|
endr
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ld [hl], c
|
|
ret
|
|
|
|
Function4066c: ; 4066c (10:466c)
|
|
ld a, [wc7d1]
|
|
ld [wc7e2], a
|
|
ld a, [wc7d0]
|
|
ld [wc7e3], a
|
|
ld hl, $ffa9
|
|
ld a, [hl]
|
|
and D_UP
|
|
jr nz, .up
|
|
ld a, [hl]
|
|
and D_DOWN
|
|
jr nz, .down
|
|
and a
|
|
ret
|
|
|
|
.up
|
|
ld a, [wc7d3]
|
|
ld d, a
|
|
ld a, [wc7d2]
|
|
ld e, a
|
|
call Function406ea
|
|
jr nc, .asm_406b7
|
|
call Function40bb1
|
|
call Function40bd0
|
|
jr nz, .asm_406b5
|
|
jr .up
|
|
|
|
.down
|
|
ld a, [wc7d3]
|
|
ld d, a
|
|
ld a, [wc7d2]
|
|
ld e, a
|
|
call Function406fe
|
|
jr nc, .asm_406b7
|
|
call Function40bb1
|
|
call Function40bd0
|
|
jr nz, .asm_406b5
|
|
jr .down
|
|
|
|
.asm_406b5
|
|
scf
|
|
ret
|
|
|
|
.asm_406b7
|
|
ld a, [wc7e2]
|
|
ld [wc7d1], a
|
|
ld a, [wc7e3]
|
|
ld [wc7d0], a
|
|
and a
|
|
ret
|
|
|
|
Function406c5: ; 406c5 (10:46c5)
|
|
ld a, [wc7d3]
|
|
ld d, a
|
|
ld a, [wc7d2]
|
|
ld e, a
|
|
ld hl, $ffa9
|
|
ld a, [hl]
|
|
and D_UP
|
|
jr nz, Function406ea
|
|
ld a, [hl]
|
|
and D_DOWN
|
|
jr nz, Function406fe
|
|
ld a, d
|
|
cp e
|
|
jr nc, asm_4073d
|
|
ld a, [hl]
|
|
and $20
|
|
jr nz, asm_40716
|
|
ld a, [hl]
|
|
and $10
|
|
jr nz, asm_40728
|
|
jr asm_4073d
|
|
|
|
Function406ea: ; 406ea (10:46ea)
|
|
ld hl, wc7d1
|
|
ld a, [hl]
|
|
and a
|
|
jr z, .asm_406f4
|
|
dec [hl]
|
|
jr asm_4073f
|
|
.asm_406f4
|
|
ld hl, wc7d0
|
|
ld a, [hl]
|
|
and a
|
|
jr z, asm_4073d
|
|
dec [hl]
|
|
jr asm_4073f
|
|
|
|
Function406fe: ; 406fe (10:46fe)
|
|
ld hl, wc7d1
|
|
ld a, [hl]
|
|
inc a
|
|
cp e
|
|
jr nc, asm_4073d
|
|
cp d
|
|
jr nc, .asm_4070c
|
|
inc [hl]
|
|
jr asm_4073f
|
|
.asm_4070c
|
|
ld hl, wc7d0
|
|
add [hl]
|
|
cp e
|
|
jr nc, asm_4073d
|
|
inc [hl]
|
|
jr asm_4073f
|
|
asm_40716: ; 40716 (10:4716)
|
|
ld hl, wc7d0
|
|
ld a, [hl]
|
|
and a
|
|
jr z, asm_4073d
|
|
cp d
|
|
jr nc, .asm_40724
|
|
xor a
|
|
ld [hl], a
|
|
jr asm_4073f
|
|
.asm_40724
|
|
sub d
|
|
ld [hl], a
|
|
jr asm_4073f
|
|
asm_40728: ; 40728 (10:4728)
|
|
ld hl, wc7d0
|
|
ld a, d
|
|
add a
|
|
add [hl]
|
|
jr c, .asm_40733
|
|
cp e
|
|
jr c, .asm_40738
|
|
.asm_40733
|
|
ld a, e
|
|
sub d
|
|
ld [hl], a
|
|
jr asm_4073f
|
|
.asm_40738
|
|
ld a, [hl]
|
|
add d
|
|
ld [hl], a
|
|
jr asm_4073f
|
|
asm_4073d: ; 4073d (10:473d)
|
|
and a
|
|
ret
|
|
asm_4073f: ; 4073f (10:473f)
|
|
scf
|
|
ret
|
|
|
|
Function40741: ; 40741
|
|
push de
|
|
ld de, $0014
|
|
.asm_40745
|
|
ld [hl], a
|
|
add hl, de
|
|
dec b
|
|
jr nz, .asm_40745
|
|
pop de
|
|
ret
|
|
; 4074c
|
|
|
|
|
|
Function4074c: ; 4074c (10:474c)
|
|
hlcoord 0, 17
|
|
ld de, Unknown_407f2
|
|
call Function40acd
|
|
ld a, $32
|
|
hlcoord 0, 0
|
|
ld bc, $168
|
|
call ByteFill
|
|
hlcoord 0, 0
|
|
lb bc, 7, 7
|
|
call Function40ad5
|
|
hlcoord 0, 9
|
|
ld bc, $607
|
|
call Function40ad5
|
|
hlcoord 1, 11
|
|
ld de, Unknown_407e1
|
|
call Function40acd
|
|
ld hl, PokedexSeen ; wdeb9 (aliases: EndPokedexSeen)
|
|
ld b, EndPokedexSeen - PokedexSeen
|
|
call CountSetBits
|
|
ld de, wd265
|
|
hlcoord 5, 12
|
|
ld bc, $103
|
|
call PrintNum
|
|
hlcoord 1, 14
|
|
ld de, Unknown_407e6
|
|
call Function40acd
|
|
ld hl, PokedexCaught
|
|
ld b, EndPokedexCaught - PokedexCaught
|
|
call CountSetBits
|
|
ld de, wd265
|
|
hlcoord 5, 15
|
|
ld bc, $103
|
|
call PrintNum
|
|
hlcoord 1, 17
|
|
ld de, Unknown_407ea
|
|
call Function40acd
|
|
hlcoord 8, 1
|
|
ld b, $7
|
|
ld a, $5a
|
|
call Function40741
|
|
hlcoord 8, 10
|
|
ld b, $6
|
|
ld a, $5a
|
|
call Function40741
|
|
hlcoord 8, 0
|
|
ld [hl], $59
|
|
hlcoord 8, 8
|
|
ld [hl], $53
|
|
hlcoord 8, 9
|
|
ld [hl], $54
|
|
hlcoord 8, 16
|
|
ld [hl], $5b
|
|
call Function40ab2
|
|
ret
|
|
; 407e1 (10:47e1)
|
|
|
|
Unknown_407e1: ; 407e1
|
|
db "SEEN", $ff
|
|
Unknown_407e6: ; 407e6
|
|
db "OWN", $ff
|
|
Unknown_407ea: ; 407ea
|
|
db $3b, $48, $49, $4a, $44, $45, $46, $47 ; SELECT > OPTION
|
|
Unknown_407f2: ; 407f2
|
|
db $3c, $3b, $41, $42, $43, $4b, $4c, $4d, $4e, $3c, $ff ; START > SEARCH
|
|
; 407fd
|
|
|
|
Function407fd: ; 407fd
|
|
call Function40aa6
|
|
hlcoord 0, 0
|
|
ld bc, $0f12
|
|
call Function40ad5
|
|
hlcoord 19, 0
|
|
ld [hl], $34
|
|
hlcoord 19, 1
|
|
ld a, $7f
|
|
ld b, $f
|
|
call Function40741
|
|
ld [hl], $39
|
|
hlcoord 1, 10
|
|
ld bc, $0013
|
|
ld a, $61
|
|
call ByteFill
|
|
hlcoord 1, 17
|
|
ld bc, $0012
|
|
ld a, $7f
|
|
call ByteFill
|
|
hlcoord 9, 7
|
|
ld de, Unknown_40852
|
|
call Function40acd
|
|
hlcoord 9, 9
|
|
ld de, Unknown_4085c
|
|
call Function40acd
|
|
hlcoord 0, 17
|
|
ld de, Unknown_40867
|
|
call Function40acd
|
|
call Function40ab2
|
|
ret
|
|
; 4084f
|
|
|
|
Unknown_4084f: ; 4084f
|
|
db $5c, $5d, $ff ; No.
|
|
Unknown_40852: ; 40852
|
|
db "HT ?", $5e, "??", $5f, $ff ; HT ?'??"
|
|
Unknown_4085c: ; 4085c
|
|
db "WT ???lb", $ff ; WT ???lb
|
|
Unknown_40867: ; 40867
|
|
db $3b, " PAGE AREA CRY PRNT", $ff
|
|
; 4087c
|
|
|
|
Function4087c: ; 4087c (10:487c)
|
|
call Function40aa6
|
|
hlcoord 0, 2
|
|
lb bc, 8, 18
|
|
call Function40ad5
|
|
hlcoord 0, 12
|
|
lb bc, 4, 18
|
|
call Function40ad5
|
|
hlcoord 0, 1
|
|
ld de, Unknown_408b2
|
|
call Function40acd
|
|
hlcoord 3, 4
|
|
ld de, String_408bd
|
|
call PlaceString
|
|
ld a, [wc7dc]
|
|
and a
|
|
ret z
|
|
hlcoord 3, 10
|
|
ld de, String_408e5
|
|
call PlaceString
|
|
ret
|
|
; 408b2 (10:48b2)
|
|
|
|
Unknown_408b2: ; 408b2
|
|
db $3b, " OPTION ", $3c, $ff
|
|
; 408bd
|
|
|
|
String_408bd: ; 408bd
|
|
db "NEW #DEX MODE"
|
|
next "OLD #DEX MODE"
|
|
next "A to Z MODE"
|
|
db "@"
|
|
; 408e5
|
|
|
|
String_408e5: ; 408e5
|
|
db "UNOWN MODE@"
|
|
; 408f0
|
|
|
|
Function408f0: ; 408f0 (10:48f0)
|
|
call Function40aa6
|
|
hlcoord 0, 2
|
|
lb bc, 14, 18
|
|
call Function40ad5
|
|
hlcoord 0, 1
|
|
ld de, Unknown_4092a
|
|
call Function40acd
|
|
hlcoord 8, 4
|
|
ld de, Unknown_40935
|
|
call Function40acd
|
|
hlcoord 8, 6
|
|
ld de, Unknown_40935
|
|
call Function40acd
|
|
hlcoord 3, 4
|
|
ld de, String_40940
|
|
call PlaceString
|
|
hlcoord 3, 13
|
|
ld de, String_4094c
|
|
call PlaceString
|
|
ret
|
|
; 4092a (10:492a)
|
|
|
|
Unknown_4092a: ; 4092a
|
|
db $3b, " SEARCH ", $3c, $ff
|
|
; 40925
|
|
|
|
Unknown_40935: ; 40935
|
|
db $3d, " ", $3e, $ff
|
|
; 40940
|
|
|
|
String_40940: ; 40940
|
|
db "TYPE1"
|
|
next "TYPE2"
|
|
db "@"
|
|
; 4094c
|
|
|
|
String_4094c: ; 4094c
|
|
db "BEGIN SEARCH!!"
|
|
next "CANCEL"
|
|
db "@"
|
|
; 40962
|
|
|
|
Function40962: ; 40962 (10:4962)
|
|
call Function40aa6
|
|
hlcoord 0, 0
|
|
lb bc, 7, 7
|
|
call Function40ad5
|
|
hlcoord 0, 11
|
|
lb bc, 5, 18
|
|
call Function40ad5
|
|
hlcoord 1, 12
|
|
ld de, String_409ae
|
|
call PlaceString
|
|
ld de, wc7d7
|
|
hlcoord 1, 16
|
|
ld bc, $103
|
|
call PrintNum
|
|
hlcoord 8, 0
|
|
ld [hl], $59
|
|
hlcoord 8, 1
|
|
ld b, $7
|
|
ld a, $5a
|
|
call Function40741
|
|
hlcoord 8, 8
|
|
ld [hl], $53
|
|
hlcoord 8, 9
|
|
ld [hl], $69
|
|
hlcoord 8, 10
|
|
ld [hl], $6a
|
|
call Function40ab2
|
|
ret
|
|
; 409ae (10:49ae)
|
|
|
|
String_409ae: ; 409ae
|
|
db "SEARCH RESULTS"
|
|
next " TYPE"
|
|
next " FOUND!"
|
|
db "@"
|
|
; 409cf
|
|
|
|
Function409cf: ; 409cf (10:49cf)
|
|
ld a, [wc7d5]
|
|
hlcoord 0, 14
|
|
call Function40fcd
|
|
ld a, [wc7d5]
|
|
ld b, a
|
|
ld a, [wc7d6]
|
|
and a
|
|
jr z, .asm_409f0
|
|
cp b
|
|
jr z, .asm_409f0
|
|
hlcoord 2, 15
|
|
call Function40fcd
|
|
hlcoord 1, 15
|
|
ld [hl], $f3
|
|
.asm_409f0
|
|
ret
|
|
|
|
Function409f1: ; 409f1 (10:49f1)
|
|
call Function40aa6
|
|
hlcoord 2, 1
|
|
lb bc, 10, 13
|
|
call Function40ad5
|
|
hlcoord 2, 14
|
|
lb bc, 1, 13
|
|
call Function40ad5
|
|
hlcoord 2, 15
|
|
ld [hl], $3d
|
|
hlcoord 16, 15
|
|
ld [hl], $3e
|
|
hlcoord 6, 5
|
|
call Function40ab5
|
|
ld de, 0
|
|
ld b, 0
|
|
ld c, 26
|
|
.asm_40a1d
|
|
ld hl, UnownDex
|
|
add hl, de
|
|
ld a, [hl]
|
|
and a
|
|
jr z, .asm_40a39
|
|
push af
|
|
ld hl, Unknown_40a3e
|
|
rept 4
|
|
add hl, de
|
|
endr
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
pop af
|
|
add $3f
|
|
ld [hl], a
|
|
inc de
|
|
inc b
|
|
dec c
|
|
jr nz, .asm_40a1d
|
|
.asm_40a39
|
|
ld a, b
|
|
ld [wc7de], a
|
|
ret
|
|
; 40a3e (10:4a3e)
|
|
|
|
Unknown_40a3e: ; 40a3e
|
|
dwcoord 4,11, 3,11
|
|
dwcoord 4,10, 3,10
|
|
dwcoord 4, 9, 3, 9
|
|
dwcoord 4, 8, 3, 8
|
|
dwcoord 4, 7, 3, 7
|
|
dwcoord 4, 6, 3, 6
|
|
dwcoord 4, 5, 3, 5
|
|
dwcoord 4, 4, 3, 4
|
|
dwcoord 4, 3, 3, 2
|
|
dwcoord 5, 3, 5, 2
|
|
dwcoord 6, 3, 6, 2
|
|
dwcoord 7, 3, 7, 2
|
|
dwcoord 8, 3, 8, 2
|
|
dwcoord 9, 3, 9, 2
|
|
dwcoord 10, 3, 10, 2
|
|
dwcoord 11, 3, 11, 2
|
|
dwcoord 12, 3, 12, 2
|
|
dwcoord 13, 3, 13, 2
|
|
dwcoord 14, 3, 15, 2
|
|
dwcoord 14, 4, 15, 4
|
|
dwcoord 14, 5, 15, 5
|
|
dwcoord 14, 6, 15, 6
|
|
dwcoord 14, 7, 15, 7
|
|
dwcoord 14, 8, 15, 8
|
|
dwcoord 14, 9, 15, 9
|
|
dwcoord 14,10, 15,10
|
|
; 40aa6
|
|
|
|
Function40aa6: ; 40aa6
|
|
hlcoord 0, 0
|
|
ld a, $32
|
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
|
call ByteFill
|
|
ret
|
|
; 40ab2
|
|
|
|
Function40ab2: ; 40ab2
|
|
hlcoord 1, 1
|
|
Function40ab5: ; 40ab5
|
|
xor a
|
|
ld b, $7
|
|
.asm_40ab8
|
|
ld c, $7
|
|
push af
|
|
push hl
|
|
.asm_40abc
|
|
ld [hli], a
|
|
add $7
|
|
dec c
|
|
jr nz, .asm_40abc
|
|
pop hl
|
|
ld de, $0014
|
|
add hl, de
|
|
pop af
|
|
inc a
|
|
dec b
|
|
jr nz, .asm_40ab8
|
|
ret
|
|
; 40acd
|
|
|
|
Function40acd: ; 40acd
|
|
.asm_40acd
|
|
ld a, [de]
|
|
cp $ff
|
|
ret z
|
|
inc de
|
|
ld [hli], a
|
|
jr .asm_40acd
|
|
; 40ad5
|
|
|
|
|
|
Function40ad5: ; 40ad5
|
|
push hl
|
|
ld a, $33
|
|
ld [hli], a
|
|
ld d, $34
|
|
call Function40b06
|
|
ld a, $35
|
|
ld [hl], a
|
|
pop hl
|
|
ld de, $0014
|
|
add hl, de
|
|
.asm_40ae6
|
|
push hl
|
|
ld a, $36
|
|
ld [hli], a
|
|
ld d, $7f
|
|
call Function40b06
|
|
ld a, $37
|
|
ld [hl], a
|
|
pop hl
|
|
ld de, $0014
|
|
add hl, de
|
|
dec b
|
|
jr nz, .asm_40ae6
|
|
ld a, $38
|
|
ld [hli], a
|
|
ld d, $39
|
|
call Function40b06
|
|
ld a, $3a
|
|
ld [hl], a
|
|
ret
|
|
; 40b06
|
|
|
|
Function40b06: ; 40b06
|
|
ld e, c
|
|
.asm_40b07
|
|
ld a, e
|
|
and a
|
|
ret z
|
|
ld a, d
|
|
ld [hli], a
|
|
dec e
|
|
jr .asm_40b07
|
|
; 40b0f
|
|
|
|
|
|
Function40b0f: ; 40b0f (10:4b0f)
|
|
ld a, [wc7d4]
|
|
cp $1
|
|
jr z, .asm_40b1a
|
|
ld c, $b
|
|
jr .asm_40b1c
|
|
.asm_40b1a
|
|
ld c, $b
|
|
.asm_40b1c
|
|
hlcoord 0, 1
|
|
ld a, [wc7d3]
|
|
add a
|
|
inc a
|
|
ld b, a
|
|
ld a, $7f
|
|
call Function413fe
|
|
ld a, [wc7d0]
|
|
ld e, a
|
|
ld d, $0
|
|
ld hl, wc6d0
|
|
add hl, de
|
|
ld e, l
|
|
ld d, h
|
|
hlcoord 0, 2
|
|
ld a, [wc7d3]
|
|
.asm_40b3c
|
|
push af
|
|
ld a, [de]
|
|
ld [wd265], a
|
|
push de
|
|
push hl
|
|
call Function40b55
|
|
pop hl
|
|
ld de, $28
|
|
add hl, de
|
|
pop de
|
|
inc de
|
|
pop af
|
|
dec a
|
|
jr nz, .asm_40b3c
|
|
call Function4143b
|
|
ret
|
|
|
|
Function40b55: ; 40b55 (10:4b55)
|
|
and a
|
|
ret z
|
|
call Function40b6a
|
|
call Function40b8d
|
|
ret c
|
|
call Function40b82
|
|
push hl
|
|
call GetPokemonName
|
|
pop hl
|
|
call PlaceString
|
|
ret
|
|
|
|
Function40b6a: ; 40b6a (10:4b6a)
|
|
ld a, [wc7d4]
|
|
cp $1
|
|
jr z, .asm_40b72
|
|
ret
|
|
.asm_40b72
|
|
push hl
|
|
ld de, -20
|
|
add hl, de
|
|
ld de, wd265
|
|
ld bc, $8103
|
|
call PrintNum
|
|
pop hl
|
|
ret
|
|
|
|
Function40b82: ; 40b82 (10:4b82)
|
|
call Function40bc4
|
|
jr nz, .asm_40b89
|
|
inc hl
|
|
ret
|
|
.asm_40b89
|
|
ld a, $4f
|
|
ld [hli], a
|
|
ret
|
|
|
|
Function40b8d: ; 40b8d (10:4b8d)
|
|
call Function40bd0
|
|
ret nz
|
|
inc hl
|
|
ld de, String_40b9a
|
|
call PlaceString
|
|
scf
|
|
ret
|
|
; 40b9a (10:4b9a)
|
|
|
|
String_40b9a: ; 40b9a
|
|
db "-----@"
|
|
; 40ba0
|
|
|
|
Function40ba0: ; 40ba0
|
|
hlcoord 18, 1
|
|
ld a, $62
|
|
ld [hli], a
|
|
inc a
|
|
ld [hl], a
|
|
hlcoord 18, 2
|
|
ld a, $64
|
|
ld [hli], a
|
|
inc a
|
|
ld [hl], a
|
|
ret
|
|
; 40bb1
|
|
|
|
|
|
Function40bb1: ; 40bb1
|
|
ld a, [wc7d1]
|
|
ld hl, wc7d0
|
|
add [hl]
|
|
ld e, a
|
|
ld d, $0
|
|
ld hl, wc6d0
|
|
add hl, de
|
|
ld a, [hl]
|
|
ld [wd265], a
|
|
ret
|
|
; 40bc4
|
|
|
|
|
|
Function40bc4: ; 40bc4 (10:4bc4)
|
|
push de
|
|
push hl
|
|
ld a, [wd265]
|
|
dec a
|
|
call CheckCaughtMon
|
|
pop hl
|
|
pop de
|
|
ret
|
|
|
|
|
|
Function40bd0: ; 40bd0
|
|
push de
|
|
push hl
|
|
ld a, [wd265]
|
|
dec a
|
|
call CheckSeenMon
|
|
pop hl
|
|
pop de
|
|
ret
|
|
; 40bdc
|
|
|
|
|
|
|
|
Function40bdc: ; 40bdc
|
|
ld hl, wc6d0
|
|
ld bc, $100
|
|
xor a
|
|
call ByteFill
|
|
ld a, [wc7d4]
|
|
ld hl, Jumptable_40bf0
|
|
call Function41432
|
|
jp [hl]
|
|
; 40bf0
|
|
|
|
|
|
Jumptable_40bf0: ; 40bf0 (10:4bf0)
|
|
dw Function40bf6
|
|
dw Function40c08
|
|
dw Function40c30
|
|
|
|
|
|
Function40bf6: ; 40bf6 (10:4bf6)
|
|
ld de, NewPokedexOrder
|
|
ld hl, wc6d0
|
|
ld c, NUM_POKEMON
|
|
.asm_40bfe
|
|
ld a, [de]
|
|
inc de
|
|
ld [hli], a
|
|
dec c
|
|
jr nz, .asm_40bfe
|
|
call Function40c18
|
|
ret
|
|
|
|
Function40c08: ; 40c08 (10:4c08)
|
|
ld hl, wc6d0
|
|
ld a, $1
|
|
ld c, NUM_POKEMON
|
|
.asm_40c0f
|
|
ld [hli], a
|
|
inc a
|
|
dec c
|
|
jr nz, .asm_40c0f
|
|
call Function40c18
|
|
ret
|
|
|
|
Function40c18: ; 40c18 (10:4c18)
|
|
ld hl, wc7ca
|
|
ld d, NUM_POKEMON
|
|
ld e, d
|
|
.asm_40c1e
|
|
ld a, [hld]
|
|
ld [wd265], a
|
|
call Function40bd0
|
|
jr nz, .asm_40c2b
|
|
dec d
|
|
dec e
|
|
jr nz, .asm_40c1e
|
|
.asm_40c2b
|
|
ld a, d
|
|
ld [wc7d2], a
|
|
ret
|
|
|
|
Function40c30: ; 40c30
|
|
xor a
|
|
ld [wc7d2], a
|
|
ld hl, wc6d0
|
|
ld de, AlphabeticalPokedexOrder
|
|
ld c, NUM_POKEMON
|
|
.asm_40c3c
|
|
push bc
|
|
ld a, [de]
|
|
ld [wd265], a
|
|
call Function40bd0
|
|
jr z, .asm_40c51
|
|
ld a, [wd265]
|
|
ld [hli], a
|
|
ld a, [wc7d2]
|
|
inc a
|
|
ld [wc7d2], a
|
|
|
|
.asm_40c51
|
|
inc de
|
|
pop bc
|
|
dec c
|
|
jr nz, .asm_40c3c
|
|
ld a, [wc7d2]
|
|
ld c, 0
|
|
.asm_40c5b
|
|
cp NUM_POKEMON
|
|
jr z, .asm_40c64
|
|
ld [hl], c
|
|
inc hl
|
|
inc a
|
|
jr .asm_40c5b
|
|
|
|
.asm_40c64
|
|
ret
|
|
; 40c65
|
|
|
|
AlphabeticalPokedexOrder: ; 0x40c65
|
|
INCLUDE "data/pokedex/order_alpha.asm"
|
|
|
|
NewPokedexOrder: ; 0x40d60
|
|
INCLUDE "data/pokedex/order_new.asm"
|
|
|
|
Function40e5b: ; 40e5b
|
|
xor a
|
|
ld [hBGMapMode], a
|
|
hlcoord 0, 12
|
|
ld bc, $0412
|
|
call Function40ad5
|
|
ld a, [wc7d8]
|
|
ld hl, Unknown_40e7d
|
|
call Function41432
|
|
ld e, l
|
|
ld d, h
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ld a, $1
|
|
ld [hBGMapMode], a
|
|
ret
|
|
; 40e7d
|
|
|
|
Unknown_40e7d: ; 40e7d
|
|
dw String_40e85
|
|
dw String_40ea6
|
|
dw String_40ec6
|
|
dw String_40ee4
|
|
; 40e85
|
|
|
|
String_40e85: ; 40e85
|
|
db $e1, $e2, " are listed by"
|
|
next "evolution type.@"
|
|
; 40ea6
|
|
|
|
String_40ea6: ; 40ea6
|
|
db $e1, $e2, " are listed by"
|
|
next "official type.@"
|
|
; 40ec6
|
|
|
|
String_40ec6: ; 40ec6
|
|
db $e1, $e2, " are listed"
|
|
next "alphabetically.@"
|
|
; 40ee4
|
|
|
|
String_40ee4: ; 40ee4
|
|
db "UNOWN are listed"
|
|
next "in catching order.@"
|
|
; 40f08
|
|
|
|
Function40f08: ; 40f08 (10:4f08)
|
|
xor a
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
hlcoord 0, 12
|
|
ld bc, $412
|
|
call Function40ad5
|
|
ld de, String_40f32
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ld a, $1
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
ld c, $40
|
|
call DelayFrames
|
|
ld de, SFX_CHANGE_DEX_MODE
|
|
call PlaySFX
|
|
ld c, $40
|
|
call DelayFrames
|
|
ret
|
|
; 40f32 (10:4f32)
|
|
|
|
String_40f32: ; 40f32
|
|
db "Changing modes.", $4e, "Please wait.@"
|
|
; 40f4f
|
|
|
|
Function40f4f: ; 40f4f (10:4f4f)
|
|
ld a, [wc7d8]
|
|
cp $2
|
|
jr nc, .asm_40f63
|
|
ld hl, $ffa9
|
|
ld a, [hl]
|
|
and $20
|
|
jr nz, .asm_40f65
|
|
ld a, [hl]
|
|
and $10
|
|
jr nz, Function40f84
|
|
.asm_40f63
|
|
and a
|
|
ret
|
|
.asm_40f65
|
|
ld a, [wc7d8]
|
|
and a
|
|
jr nz, .asm_40f76
|
|
ld hl, wc7d5
|
|
ld a, [hl]
|
|
cp $1
|
|
jr z, .asm_40f80
|
|
dec [hl]
|
|
jr .asm_40f82
|
|
.asm_40f76
|
|
ld hl, wc7d6
|
|
ld a, [hl]
|
|
and a
|
|
jr z, .asm_40f80
|
|
dec [hl]
|
|
jr .asm_40f82
|
|
.asm_40f80
|
|
ld [hl], $11
|
|
.asm_40f82
|
|
scf
|
|
ret
|
|
; 40f84
|
|
|
|
Function40f84: ; 40f84
|
|
ld a, [wc7d8]
|
|
and a
|
|
jr nz, .asm_40f99
|
|
ld hl, wc7d5
|
|
ld a, [hl]
|
|
cp $11
|
|
jr nc, .asm_40f95
|
|
inc [hl]
|
|
jr .asm_40fa6
|
|
.asm_40f95
|
|
ld [hl], $1
|
|
jr .asm_40fa6
|
|
.asm_40f99
|
|
ld hl, wc7d6
|
|
ld a, [hl]
|
|
cp $11
|
|
jr nc, .asm_40fa4
|
|
inc [hl]
|
|
jr .asm_40fa6
|
|
.asm_40fa4
|
|
ld [hl], $0
|
|
.asm_40fa6
|
|
scf
|
|
ret
|
|
|
|
Function40fa8: ; 40fa8 (10:4fa8)
|
|
xor a
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
hlcoord 9, 3
|
|
ld bc, $408
|
|
ld a, $7f
|
|
call Function413fe
|
|
ld a, [wc7d5]
|
|
hlcoord 9, 4
|
|
call Function40fcd
|
|
ld a, [wc7d6]
|
|
hlcoord 9, 6
|
|
call Function40fcd
|
|
ld a, $1
|
|
ld [hBGMapMode], a ; $ff00+$d4
|
|
ret
|
|
|
|
Function40fcd: ; 40fcd (10:4fcd)
|
|
push hl
|
|
ld e, a
|
|
ld d, 0
|
|
ld hl, Strings_40fe4
|
|
rept 9
|
|
add hl, de
|
|
endr
|
|
ld e, l
|
|
ld d, h
|
|
pop hl
|
|
call PlaceString
|
|
ret
|
|
; 40fe4 (10:4fe4)
|
|
|
|
Strings_40fe4: ; 40fe4
|
|
db " ---- @"
|
|
db " NORMAL @"
|
|
db " FIRE @"
|
|
db " WATER @"
|
|
db " GRASS @"
|
|
db "ELECTRIC@"
|
|
db " ICE @"
|
|
db "FIGHTING@"
|
|
db " POISON @"
|
|
db " GROUND @"
|
|
db " FLYING @"
|
|
db "PSYCHIC @"
|
|
db " BUG @"
|
|
db " ROCK @"
|
|
db " GHOST @"
|
|
db " DRAGON @"
|
|
db " DARK @"
|
|
db " STEEL @"
|
|
; 41086
|
|
|
|
Function41086: ; 41086
|
|
ld a, [wc7d6]
|
|
and a
|
|
call nz, Function41095
|
|
ld a, [wc7d5]
|
|
and a
|
|
call nz, Function41095
|
|
ret
|
|
; 41095
|
|
|
|
Function41095: ; 41095
|
|
dec a
|
|
ld e, a
|
|
ld d, 0
|
|
ld hl, Unknown_410f6
|
|
add hl, de
|
|
ld a, [hl]
|
|
ld [wc7df], a
|
|
ld hl, wc6d0
|
|
ld de, wc6d0
|
|
ld c, NUM_POKEMON
|
|
xor a
|
|
ld [wc7d7], a
|
|
.asm_410ad
|
|
push bc
|
|
ld a, [hl]
|
|
and a
|
|
jr z, .asm_410e0
|
|
ld [wd265], a
|
|
ld [CurSpecies], a
|
|
call Function40bc4
|
|
jr z, .asm_410e0
|
|
push hl
|
|
push de
|
|
call GetBaseData
|
|
pop de
|
|
pop hl
|
|
ld a, [wc7df]
|
|
ld b, a
|
|
ld a, [BaseType1]
|
|
cp b
|
|
jr z, .asm_410d4
|
|
ld a, [BaseType2]
|
|
cp b
|
|
jr nz, .asm_410e0
|
|
|
|
.asm_410d4
|
|
ld a, [wd265]
|
|
ld [de], a
|
|
inc de
|
|
ld a, [wc7d7]
|
|
inc a
|
|
ld [wc7d7], a
|
|
|
|
.asm_410e0
|
|
inc hl
|
|
pop bc
|
|
dec c
|
|
jr nz, .asm_410ad
|
|
ld l, e
|
|
ld h, d
|
|
ld a, [wc7d7]
|
|
ld c, 0
|
|
.asm_410ec
|
|
cp NUM_POKEMON
|
|
jr z, .asm_410f5
|
|
ld [hl], c
|
|
inc hl
|
|
inc a
|
|
jr .asm_410ec
|
|
|
|
.asm_410f5
|
|
ret
|
|
; 410f6
|
|
|
|
Unknown_410f6: ; 410f6
|
|
db NORMAL
|
|
db FIRE
|
|
db WATER
|
|
db GRASS
|
|
db ELECTRIC
|
|
db ICE
|
|
db FIGHTING
|
|
db POISON
|
|
db GROUND
|
|
db FLYING
|
|
db PSYCHIC
|
|
db BUG
|
|
db ROCK
|
|
db GHOST
|
|
db DRAGON
|
|
db DARK
|
|
db STEEL
|
|
; 41107
|
|
|
|
Function41107: ; 41107
|
|
xor a
|
|
ld [hBGMapMode], a
|
|
hlcoord 0, 12
|
|
ld bc, $0412
|
|
call Function40ad5
|
|
ld de, String_41126
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ld a, $1
|
|
ld [hBGMapMode], a
|
|
ld c, $80
|
|
call DelayFrames
|
|
ret
|
|
; 41126
|
|
|
|
String_41126: ; 41126
|
|
db "The specified type"
|
|
next "was not found.@"
|
|
; 41148
|
|
|
|
Function41148: ; 41148 (10:5148)
|
|
ld a, [wc7d4]
|
|
cp $1
|
|
jp z, Function41157
|
|
call Function41229
|
|
call Function4130e
|
|
ret
|
|
|
|
Function41157: ; 41157 (10:5157)
|
|
ld hl, Unknown_41167
|
|
ld a, [wc7d1]
|
|
or a
|
|
jr nz, .asm_41163
|
|
ld hl, Unknown_411c8
|
|
.asm_41163
|
|
call Function412f1
|
|
ret
|
|
; 41167 (10:5167)
|
|
|
|
Unknown_41167: ; 41167
|
|
; OAM
|
|
db $18, $47, $30, $07
|
|
db $10, $47, $31, $07
|
|
db $10, $4f, $32, $07
|
|
db $10, $57, $32, $07
|
|
db $10, $5f, $32, $07
|
|
db $10, $67, $33, $07
|
|
db $10, $7e, $33, $27
|
|
db $10, $86, $32, $27
|
|
db $10, $8e, $32, $27
|
|
db $10, $96, $32, $27
|
|
db $10, $9e, $31, $27
|
|
db $18, $9e, $30, $27
|
|
db $20, $47, $30, $47
|
|
db $28, $47, $31, $47
|
|
db $28, $4f, $32, $47
|
|
db $28, $57, $32, $47
|
|
db $28, $5f, $32, $47
|
|
db $28, $67, $33, $47
|
|
db $28, $7e, $33, $67
|
|
db $28, $86, $32, $67
|
|
db $28, $8e, $32, $67
|
|
db $28, $96, $32, $67
|
|
db $28, $9e, $31, $67
|
|
db $20, $9e, $30, $67
|
|
db $ff
|
|
; 411c8
|
|
|
|
Unknown_411c8: ; 411c8
|
|
; OAM
|
|
db $18, $47, $30, $07
|
|
db $10, $47, $34, $07
|
|
db $10, $4f, $35, $07
|
|
db $10, $57, $35, $07
|
|
db $10, $5f, $35, $07
|
|
db $10, $67, $36, $07
|
|
db $10, $7e, $36, $27
|
|
db $10, $86, $35, $27
|
|
db $10, $8e, $35, $27
|
|
db $10, $96, $35, $27
|
|
db $10, $9e, $34, $27
|
|
db $18, $9e, $30, $27
|
|
db $20, $47, $30, $47
|
|
db $28, $47, $31, $47
|
|
db $28, $4f, $32, $47
|
|
db $28, $57, $32, $47
|
|
db $28, $5f, $32, $47
|
|
db $28, $67, $33, $47
|
|
db $28, $7e, $33, $67
|
|
db $28, $86, $32, $67
|
|
db $28, $8e, $32, $67
|
|
db $28, $96, $32, $67
|
|
db $28, $9e, $31, $67
|
|
db $20, $9e, $30, $67
|
|
db $ff
|
|
; 41229
|
|
|
|
Function41229: ; 41229 (10:5229)
|
|
ld hl, Unknown_41230
|
|
call Function412f1
|
|
ret
|
|
; 41230 (10:5230)
|
|
|
|
Unknown_41230: ; 41230
|
|
; OAM
|
|
db $1b, $47, $30, $07
|
|
db $13, $47, $31, $07
|
|
db $13, $4f, $32, $07
|
|
db $13, $57, $32, $07
|
|
db $13, $5f, $33, $07
|
|
db $13, $80, $33, $27
|
|
db $13, $88, $32, $27
|
|
db $13, $90, $32, $27
|
|
db $13, $98, $31, $27
|
|
db $1b, $98, $30, $27
|
|
db $23, $47, $30, $47
|
|
db $2b, $47, $31, $47
|
|
db $2b, $4f, $32, $47
|
|
db $2b, $57, $32, $47
|
|
db $2b, $5f, $33, $47
|
|
db $2b, $80, $33, $67
|
|
db $2b, $88, $32, $67
|
|
db $2b, $90, $32, $67
|
|
db $2b, $98, $31, $67
|
|
db $23, $98, $30, $67
|
|
db $ff
|
|
; 41281
|
|
|
|
Function41281: ; 41281 (10:5281)
|
|
ld a, [wc7d4]
|
|
cp $1
|
|
jp z, Function41157
|
|
ld hl, Unknown_41290
|
|
call Function412f1
|
|
ret
|
|
; 41290 (10:5290)
|
|
|
|
Unknown_41290: ; 41290
|
|
; OAM
|
|
db $1b, $47, $30, $07
|
|
db $13, $47, $31, $07
|
|
db $13, $4f, $32, $07
|
|
db $13, $57, $32, $07
|
|
db $13, $5f, $32, $07
|
|
db $13, $67, $33, $07
|
|
db $13, $7e, $33, $27
|
|
db $13, $86, $32, $27
|
|
db $13, $8e, $32, $27
|
|
db $13, $96, $32, $27
|
|
db $13, $9e, $31, $27
|
|
db $1b, $9e, $30, $27
|
|
db $23, $47, $30, $47
|
|
db $2b, $47, $31, $47
|
|
db $2b, $4f, $32, $47
|
|
db $2b, $57, $32, $47
|
|
db $2b, $5f, $32, $47
|
|
db $2b, $67, $33, $47
|
|
db $2b, $7e, $33, $67
|
|
db $2b, $86, $32, $67
|
|
db $2b, $8e, $32, $67
|
|
db $2b, $96, $32, $67
|
|
db $2b, $9e, $31, $67
|
|
db $23, $9e, $30, $67
|
|
db $ff
|
|
; 412f1
|
|
|
|
Function412f1: ; 412f1 (10:52f1)
|
|
ld de, Sprites
|
|
.asm_412f4
|
|
ld a, [hl]
|
|
cp $ff
|
|
ret z
|
|
ld a, [wc7d1]
|
|
and $7
|
|
swap a
|
|
add [hl]
|
|
inc hl
|
|
ld [de], a
|
|
inc de
|
|
ld a, [hli]
|
|
ld [de], a
|
|
inc de
|
|
ld a, [hli]
|
|
ld [de], a
|
|
inc de
|
|
ld a, [hli]
|
|
ld [de], a
|
|
inc de
|
|
jr .asm_412f4
|
|
|
|
Function4130e: ; 4130e (10:530e)
|
|
push de
|
|
ld a, [wc7d2]
|
|
dec a
|
|
ld e, a
|
|
ld a, [wc7d1]
|
|
ld hl, wc7d0
|
|
add [hl]
|
|
cp e
|
|
jr z, .asm_4133f
|
|
ld hl, $0
|
|
ld bc, $79
|
|
call AddNTimes
|
|
ld e, l
|
|
ld d, h
|
|
ld b, $0
|
|
ld a, d
|
|
or e
|
|
jr z, .asm_41341
|
|
ld a, [wc7d2]
|
|
ld c, a
|
|
.asm_41333
|
|
ld a, e
|
|
sub c
|
|
ld e, a
|
|
ld a, d
|
|
sbc $0
|
|
ld d, a
|
|
jr c, .asm_41341
|
|
inc b
|
|
jr .asm_41333
|
|
.asm_4133f
|
|
ld b, $79
|
|
.asm_41341
|
|
ld a, $14
|
|
add b
|
|
pop hl
|
|
ld [hli], a
|
|
ld a, $a1
|
|
ld [hli], a
|
|
ld a, $f
|
|
ld [hli], a
|
|
ld [hl], $0
|
|
ret
|
|
|
|
Function4134f: ; 4134f (10:534f)
|
|
xor a
|
|
ld [wc7d8], a
|
|
ld [wc7d9], a
|
|
ld [wc7da], a
|
|
ret
|
|
|
|
Function4135a: ; 4135a (10:535a)
|
|
ld a, [de]
|
|
ld b, a
|
|
inc de
|
|
ld a, [de]
|
|
dec a
|
|
ld c, a
|
|
inc de
|
|
call Function413e0
|
|
ld hl, hJoyPressed ; $ffa7
|
|
ld a, [hl]
|
|
and D_LEFT | D_UP
|
|
and b
|
|
jr nz, .asm_4138f
|
|
ld a, [hl]
|
|
and D_RIGHT | D_DOWN
|
|
and b
|
|
jr nz, .asm_413a0
|
|
ld a, [hl]
|
|
and SELECT
|
|
and b
|
|
jr nz, .asm_413c1
|
|
call Function413f5
|
|
jr c, .asm_413bf
|
|
ld hl, $ffa9
|
|
ld a, [hl]
|
|
and D_LEFT | D_UP
|
|
and b
|
|
jr nz, .asm_4138f
|
|
ld a, [hl]
|
|
and D_RIGHT | D_DOWN
|
|
and b
|
|
jr nz, .asm_413a0
|
|
jr .asm_413bf
|
|
.asm_4138f
|
|
ld a, [wc7d8]
|
|
and a
|
|
jr z, .asm_413bf
|
|
call Function413d4
|
|
ld [hl], $7f
|
|
ld hl, wc7d8
|
|
dec [hl]
|
|
jr .asm_413af
|
|
.asm_413a0
|
|
ld a, [wc7d8]
|
|
cp c
|
|
jr nc, .asm_413bf
|
|
call Function413d4
|
|
ld [hl], $7f
|
|
ld hl, wc7d8
|
|
inc [hl]
|
|
.asm_413af
|
|
call Function413d4
|
|
ld [hl], $ed
|
|
ld a, $c
|
|
ld [wc7d9], a
|
|
xor a
|
|
ld [wc7da], a
|
|
scf
|
|
ret
|
|
.asm_413bf
|
|
and a
|
|
ret
|
|
.asm_413c1
|
|
call Function413d4
|
|
ld [hl], $7f
|
|
ld a, [wc7d8]
|
|
cp c
|
|
jr c, .asm_413ce
|
|
ld a, $ff
|
|
.asm_413ce
|
|
inc a
|
|
ld [wc7d8], a
|
|
jr .asm_413af
|
|
|
|
Function413d4: ; 413d4 (10:53d4)
|
|
ld a, [wc7d8]
|
|
add a
|
|
ld l, a
|
|
ld h, $0
|
|
add hl, de
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ret
|
|
|
|
Function413e0: ; 413e0 (10:53e0)
|
|
ld hl, wc7da
|
|
ld a, [hl]
|
|
inc [hl]
|
|
and $8
|
|
jr z, .asm_413ef
|
|
call Function413d4
|
|
ld [hl], $7f
|
|
ret
|
|
.asm_413ef
|
|
call Function413d4
|
|
ld [hl], $ed
|
|
ret
|
|
|
|
Function413f5: ; 413f5 (10:53f5)
|
|
ld hl, wc7d9
|
|
ld a, [hl]
|
|
and a
|
|
ret z
|
|
dec [hl]
|
|
scf
|
|
ret
|
|
|
|
Function413fe: ; 413fe (10:53fe)
|
|
jp Functionfb8
|
|
|
|
Function41401: ; 41401 (10:5401)
|
|
ld a, [rSVBK] ; $ff00+$70
|
|
push af
|
|
ld a, $5
|
|
ld [rSVBK], a ; $ff00+$70
|
|
ld hl, Unkn1Pals
|
|
ld bc, $40
|
|
xor a
|
|
call ByteFill
|
|
pop af
|
|
ld [rSVBK], a ; $ff00+$70
|
|
|
|
Function41415: ; 41415
|
|
ld a, $ff
|
|
call DmgToCgbBGPals
|
|
ld a, $ff
|
|
call Functioncf8
|
|
call DelayFrame
|
|
ret
|
|
|
|
Function41423: ; 41423
|
|
ld b, a
|
|
call GetSGBLayout
|
|
|
|
Function41427: ; 41427
|
|
ld a, $e4
|
|
call DmgToCgbBGPals
|
|
ld a, $e0
|
|
call Functioncf8
|
|
ret
|
|
; 41432
|
|
|
|
|
|
Function41432: ; 41432
|
|
ld e, a
|
|
ld d, 0
|
|
rept 2
|
|
add hl, de
|
|
endr
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ret
|
|
; 4143b
|
|
|
|
Function4143b: ; 4143b
|
|
call Function40bb1
|
|
call Function40bd0
|
|
jr z, .asm_4145b
|
|
ld a, [wdef4]
|
|
ld [UnownLetter], a
|
|
ld a, [wd265]
|
|
ld [CurPartySpecies], a
|
|
call GetBaseData
|
|
ld de, VTiles2
|
|
predef GetFrontpic
|
|
ret
|
|
|
|
.asm_4145b
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
callba Function1de0d7
|
|
ld hl, VTiles2
|
|
ld de, $a000
|
|
ld c, $31
|
|
ld a, [hROMBank]
|
|
ld b, a
|
|
call Get2bpp
|
|
call CloseSRAM
|
|
ret
|
|
; 41478
|
|
|
|
|
|
Function41478: ; 41478 (10:5478)
|
|
call Function40bb1
|
|
|
|
Function4147b: ; 4147b
|
|
ld a, [wd265]
|
|
dec a
|
|
and $f8
|
|
srl a
|
|
srl a
|
|
srl a
|
|
ld e, 0
|
|
ld d, a
|
|
ld a, [wd265]
|
|
dec a
|
|
and 7
|
|
swap a ; * $10
|
|
ld l, a
|
|
ld h, 0
|
|
add hl, de
|
|
ld de, Footprints
|
|
add hl, de
|
|
|
|
push hl
|
|
ld e, l
|
|
ld d, h
|
|
ld hl, $9620
|
|
lb bc, BANK(Footprints), 2
|
|
call Request1bpp
|
|
pop hl
|
|
|
|
; Whoever was editing footprints forgot to fix their
|
|
; tile editor. Now each bottom half is 8 tiles off.
|
|
ld de, $80
|
|
add hl, de
|
|
|
|
ld e, l
|
|
ld d, h
|
|
ld hl, $9640
|
|
lb bc, BANK(Footprints), 2
|
|
call Request1bpp
|
|
|
|
ret
|
|
; 414b7
|
|
|
|
|
|
Function414b7: ; 414b7
|
|
call DisableLCD
|
|
ld hl, VTiles2
|
|
ld bc, $0310
|
|
xor a
|
|
call ByteFill
|
|
call Function414fb
|
|
call Functione5f
|
|
ld hl, $9600
|
|
ld bc, $0200
|
|
call Function41504
|
|
call Function41a24
|
|
jr nz, .asm_414e0
|
|
callba Function1ddf1c
|
|
jr .asm_414e9
|
|
|
|
.asm_414e0
|
|
ld hl, PokedexLZ
|
|
ld de, $9310
|
|
call Decompress
|
|
|
|
.asm_414e9
|
|
ld hl, PokedexSlowpokeLZ
|
|
ld de, VTiles0
|
|
call Decompress
|
|
ld a, 6
|
|
call SkipMusic
|
|
call EnableLCD
|
|
ret
|
|
|
|
Function414fb: ; 414fb
|
|
call Functione51
|
|
ld hl, VTiles1
|
|
ld bc, $0800
|
|
|
|
Function41504: ; 41504
|
|
ld a, [hl]
|
|
xor $ff
|
|
ld [hli], a
|
|
dec bc
|
|
ld a, b
|
|
or c
|
|
jr nz, Function41504
|
|
ret
|
|
; 4150e
|
|
|
|
PokedexLZ: ; 4150e
|
|
INCBIN "gfx/unknown/04150e.2bpp.lz"
|
|
; 416b0
|
|
|
|
PokedexSlowpokeLZ: ; 416b0
|
|
INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
|
|
|
|
Function41a24: ; 41a24
|
|
ld a, [hCGB]
|
|
or a
|
|
ret nz
|
|
ld a, [hSGB]
|
|
dec a
|
|
ret
|
|
; 41a2c
|
|
|
|
Function41a2c: ; 41a2c
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
ld hl, UnownFont
|
|
ld de, $a188
|
|
ld bc, $270
|
|
ld a, BANK(UnownFont)
|
|
call FarCopyBytes
|
|
ld hl, $a188
|
|
ld bc, $1b0
|
|
call Function41504
|
|
ld de, $a188
|
|
ld hl, $9400
|
|
lb bc, BANK(Function41a2c), $1b
|
|
call Request2bpp
|
|
call CloseSRAM
|
|
ret
|
|
; 41a58
|
|
|
|
|
|
Function41a58: ; 41a58 (10:5a58)
|
|
ld a, [UnownLetter]
|
|
push af
|
|
ld a, [wc7dd]
|
|
ld e, a
|
|
ld d, $0
|
|
ld hl, EndPokedexSeen ; wded9 (aliases: UnownDex)
|
|
add hl, de
|
|
ld a, [hl]
|
|
ld [UnownLetter], a
|
|
ld a, UNOWN
|
|
ld [CurPartySpecies], a
|
|
call GetBaseData
|
|
ld de, $9000
|
|
predef GetFrontpic
|
|
pop af
|
|
ld [UnownLetter], a
|
|
ret
|