summaryrefslogtreecommitdiff
path: root/engine/pokedex
diff options
context:
space:
mode:
authorentrpntr <entrpntr@gmail.com>2020-05-22 18:02:48 -0400
committerentrpntr <entrpntr@gmail.com>2020-05-22 18:02:48 -0400
commit871da041159c18dc3ca502461fef384e3965948f (patch)
tree9f63459624fa04bb83d49e9035c6195c0bfc6e49 /engine/pokedex
parentd2ea8f80d195bd9550561ded0b6d3022052d9989 (diff)
Disassemble remainder of bank $70.
Diffstat (limited to 'engine/pokedex')
-rw-r--r--engine/pokedex/pokedex_3.asm165
1 files changed, 165 insertions, 0 deletions
diff --git a/engine/pokedex/pokedex_3.asm b/engine/pokedex/pokedex_3.asm
new file mode 100644
index 00000000..7cde4dc4
--- /dev/null
+++ b/engine/pokedex/pokedex_3.asm
@@ -0,0 +1,165 @@
+StubbedGetFrontpic::
+ ret
+
+LoadSGBPokedexGFX:
+ ld hl, SGBPokedexGFX_LZ
+ ld de, vTiles2 tile $31
+ call Decompress
+ ret
+
+LoadSGBPokedexGFX2:
+ ld hl, SGBPokedexGFX_LZ
+ ld de, vTiles2 tile $31
+ lb bc, BANK(SGBPokedexGFX_LZ), 58
+ call DecompressRequest2bpp
+ ret
+
+SGBPokedexGFX_LZ:
+INCBIN "gfx/pokedex/pokedex_sgb.2bpp.lz"
+
+LoadQuestionMarkPic:
+ ld hl, .QuestionMarkLZ
+ ld de, sScratch
+ call Decompress
+ ret
+
+.QuestionMarkLZ:
+INCBIN "gfx/pokedex/question_mark.2bpp.lz"
+
+DrawPokedexListWindow:
+ ld a, $32
+ hlcoord 0, 17
+ ld bc, 12
+ call ByteFill
+ hlcoord 0, 1
+ lb bc, 15, 11
+ call ClearBox
+ ld a, $34
+ hlcoord 0, 0
+ ld bc, 11
+ call ByteFill
+ ld a, $39
+ hlcoord 0, 16
+ ld bc, 11
+ call ByteFill
+ hlcoord 5, 0
+ ld [hl], $3f
+ hlcoord 5, 16
+ ld [hl], $40
+ ld a, [wCurDexMode]
+ cp DEXMODE_OLD
+ jr z, .OldMode
+; scroll bar
+ hlcoord 11, 0
+ ld [hl], $50
+ ld a, $51
+ hlcoord 11, 1
+ ld b, SCREEN_HEIGHT - 3
+ call Bank70_FillColumn
+ ld [hl], $52
+ jr .Done
+
+.OldMode:
+; no scroll bar
+ hlcoord 11, 0
+ ld [hl], $66
+ ld a, $67
+ hlcoord 11, 1
+ ld b, SCREEN_HEIGHT - 3
+ call Bank70_FillColumn
+ ld [hl], $68
+.Done:
+ ret
+
+DrawPokedexSearchResultsWindow:
+ ld a, $34
+ hlcoord 0, 0
+ ld bc, 11
+ call ByteFill
+ ld a, $39
+ hlcoord 0, 10
+ ld bc, 11
+ call ByteFill
+ hlcoord 5, 0
+ ld [hl], $3f
+ hlcoord 5, 10
+ ld [hl], $40
+ hlcoord 11, 0
+ ld [hl], $66
+ ld a, $67
+ hlcoord 11, 1
+ ld b, SCREEN_HEIGHT / 2
+ call Bank70_FillColumn
+ ld [hl], $68
+ ld a, $34
+ hlcoord 0, 11
+ ld bc, 11
+ call ByteFill
+ ld a, $39
+ hlcoord 0, 17
+ ld bc, 11
+ call ByteFill
+ hlcoord 11, 11
+ ld [hl], $66
+ ld a, $67
+ hlcoord 11, 12
+ ld b, 5
+ call Bank70_FillColumn
+ ld [hl], $68
+ hlcoord 0, 12
+ lb bc, 5, 11
+ call ClearBox
+ ld de, .esults_D
+ hlcoord 0, 12
+ call PlaceString
+ ret
+
+.esults_D
+; (SEARCH R)
+ db "ESULTS"
+ next ""
+; (### FOUN)
+ next "D!@"
+
+DrawDexEntryScreenRightEdge:
+ ldh a, [hBGMapAddress]
+ ld l, a
+ ldh a, [hBGMapAddress + 1]
+ ld h, a
+ push hl
+ inc hl
+ ld a, l
+ ldh [hBGMapAddress], a
+ ld a, h
+ ldh [hBGMapAddress + 1], a
+ hlcoord 19, 0
+ ld [hl], $66
+ hlcoord 19, 1
+ ld a, $67
+ ld b, 15
+ call Bank70_FillColumn
+ ld [hl], $68
+ hlcoord 19, 17
+ ld [hl], $3c
+ xor a
+ ld b, SCREEN_HEIGHT
+ hlcoord 19, 0, wAttrmap
+ call Bank70_FillColumn
+ call WaitBGMap2
+ pop hl
+ ld a, l
+ ldh [hBGMapAddress], a
+ ld a, h
+ ldh [hBGMapAddress + 1], a
+ ret
+
+Bank70_FillColumn:
+ push de
+ ld de, SCREEN_WIDTH
+.loop
+ ld [hl], a
+ add hl, de
+ dec b
+ jr nz, .loop
+ pop de
+ ret