summaryrefslogtreecommitdiff
path: root/main.asm
diff options
context:
space:
mode:
Diffstat (limited to 'main.asm')
-rw-r--r--main.asm2582
1 files changed, 1 insertions, 2581 deletions
diff --git a/main.asm b/main.asm
index 372732b0c..e40464ff2 100644
--- a/main.asm
+++ b/main.asm
@@ -41917,2589 +41917,9 @@ INCLUDE "battle/effect_command_pointers.asm"
SECTION "bank10", ROMX, BANK[$10]
-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
- ld bc, $0115
- 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
- ld hl, 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 [wcf65], 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, [wcf65]
- xor $1
- ld [wcf65], a
- call Function40bb1
- ld [wc2d6], a
- callba Function4424d
- call WaitBGMap
- ret
-; 402aa
-
-Function402aa: ; 402aa (10:42aa)
- call Function41401
- xor a
- ld [wcf65], 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
+INCLUDE "engine/pokedex.asm"
-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
- ld hl, 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
- add hl, de
- add hl, de
- add hl, de
- add hl, de
- 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
- ld hl, TileMap
- ld bc, $168
- call ByteFill
- ld hl, TileMap
- 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
- ld hl, TileMap
- 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", $4e
- db "OLD #DEX MODE", $4e
- db "A to Z MODE@"
-; 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
- ld hl, TileMap
- 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
- add hl, de
- add hl, de
- add hl, de
- add hl, de
- 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
- ld hl, TileMap
- ld a, $32
- ld bc, $0168
- 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", $4e
- db "evolution type.@"
-; 40ea6
-
-String_40ea6: ; 40ea6
- db $e1, $e2, " are listed by", $4e
- db "official type.@"
-; 40ec6
-
-String_40ec6: ; 40ec6
- db $e1, $e2, " are listed", $4e
- db "alphabetically.@"
-; 40ee4
-
-String_40ee4: ; 40ee4
- db "UNOWN are listed", $4e
- db "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, $4f32
- 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
- add hl, de
- add hl, de
- add hl, de
- add hl, de
- add hl, de
- add hl, de
- add hl, de
- add hl, de
- add hl, de
- 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", $4e
- db "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
- add hl, de
- add hl, de
- 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
Function41a7f: ; 41a7f
xor a