summaryrefslogtreecommitdiff
path: root/engine/gfx.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/gfx.asm')
-rw-r--r--engine/gfx.asm139
1 files changed, 139 insertions, 0 deletions
diff --git a/engine/gfx.asm b/engine/gfx.asm
new file mode 100644
index 0000000..2c19fe6
--- /dev/null
+++ b/engine/gfx.asm
@@ -0,0 +1,139 @@
+INCLUDE "constants.asm"
+
+SECTION "Misc GFX Loading Functions", ROMX[$4000], BANK[$3E]
+
+LoadFontGraphics:: ; f8000 (3e:4000)
+ ld de, FontGFX
+ ld hl, $8800
+ lb bc, BANK(FontGFX), ((FontGFXEnd - FontGFX) / LEN_1BPP_TILE)
+ jp CopyVideoDataDoubleOptimized
+LoadFontExtraGraphicsWithCursor:: ; f800c (3e:400c)
+ ld de, FontExtraCDEFGHIVSLM_GFX
+ ld hl, $9620
+ lb bc, BANK(FontExtraCDEFGHIVSLM_GFX), ((FontSmallKanaPunctuationGFXEnd - FontExtraCDEFGHIVSLM_GFX) / LEN_2BPP_TILE)
+ call CopyVideoDataOptimized
+ ld de, BlackTileAndCursor1bppGFX
+ ld hl, $9600
+ lb bc, BANK(BlackTileAndCursor1bppGFX), ((BlackTileAndCursor1bppGFXEnd - BlackTileAndCursor1bppGFX) / LEN_1BPP_TILE)
+ call CopyVideoDataDoubleOptimized
+ jr LoadActiveFrameGraphics
+LoadPokemonMenuGraphics:: ; f8026 (3e:4026)
+ ld de, BattleHPBarGFX
+ ld hl, $9600
+ lb bc, BANK(BattleHPBarGFX), ((LevelUpGFXEnd - BattleHPBarGFX) / LEN_2BPP_TILE)
+ call CopyVideoDataOptimized
+ jr LoadActiveFrameGraphics
+LoadHexadecimalFontOrHUDGraphics:: ; f8034 (3e:4034)
+ call LoadActiveFrameGraphics
+ ld hl, $d153
+ bit 0, [hl]
+ jr z, LoadHudGraphics
+ ld hl, $9660
+ ld de, FontGFX + (("0" - "ア") * $08)
+ lb bc, BANK(FontGFX), ("9" - "0" + 1)
+ call CopyVideoDataDoubleOptimized
+ ld hl, $9700
+ ld de, FontExtraAB_GFX
+ lb bc, BANK(FontExtraAB_GFX), ("F" - "A" + 1)
+ call CopyVideoDataOptimized
+ ret
+LoadHudGraphics:: ; f8057 (3e:4057)
+ ld hl, $9660
+ ld de, FontGFX + (("0" - "ア") * $08)
+ lb bc, BANK(FontGFX), ("9" - "0" + 1)
+ call CopyVideoDataDoubleOptimized
+ ld hl, $9700
+ ld de, $7381
+ ld bc, $0401
+ call CopyVideoDataOptimized
+ ld hl, $9710
+ ld de, HUD_GFX
+ lb bc, BANK(HUD_GFX), ((HUD_GFXEnd - HUD_GFX) / LEN_2BPP_TILE)
+ call CopyVideoDataOptimized
+ ret
+LoadActiveFrameGraphics:: ; f807c (3e:407c)
+ ld a, [wActiveFrame]
+ ld bc, (FrameGFXFirstFrameEnd - FrameGFXFirstFrame)
+ ld hl, FrameGFX
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld hl, $9790
+ lb bc, BANK(FrameGFX), ((FrameGFXFirstFrameEnd - FrameGFXFirstFrame) / LEN_1BPP_TILE)
+ call CopyVideoDataDoubleOptimized
+ ld hl, $97f0
+ ld de, EmptyTile1bppGFX
+ lb bc, BANK(EmptyTile1bppGFX), ((EmptyTile1bppGFXEnd - EmptyTile1bppGFX) / LEN_1BPP_TILE)
+ call CopyVideoDataDoubleOptimized
+ ret
+LoadPokeDexGraphics:: ; f80a0 (3e:40a0)
+ call LoadPokemonMenuGraphics
+ ld de, PokedexGFX
+ ld hl, $9600
+ lb bc, BANK(PokedexGFX), ((PokedexLocationGFXEnd - PokedexGFX) / LEN_2BPP_TILE)
+ call CopyVideoDataOptimized
+ ld de, PokeBallsGFX
+ ld hl, $9720
+ lb bc, BANK(PokeBallsGFX), 1 ; 1 of 4 tiles
+ jp CopyVideoDataOptimized
+LoadBattleGraphics:: ; f80bb (3e:40bb)
+ ld de, BattleHPBarGFX
+ ld hl, $9600
+ lb bc, BANK(BattleHPBarGFX), ((BattleHPBarGFXEnd - BattleHPBarGFX) / LEN_2BPP_TILE)
+ call CopyVideoDataOptimized
+ ld hl, $9700
+ ld de, BattleMarkersGFX
+ lb bc, BANK(BattleMarkersGFX), ((BattleMarkersGFXEnd - BattleMarkersGFX) / LEN_2BPP_TILE)
+ call CopyVideoDataOptimized
+ call LoadActiveFrameGraphics
+ ld de, HpExpBarParts0GFX
+ ld hl, $96c0
+ lb bc, BANK(HpExpBarParts0GFX), ((HpExpBarParts0GFXEnd - HpExpBarParts0GFX) / LEN_1BPP_TILE)
+ call CopyVideoDataDoubleOptimized
+ ld de, HpExpBarParts1GFX
+ ld hl, $9730
+ lb bc, BANK(HpExpBarParts1GFX), ((HpExpBarParts3GFXEnd - HpExpBarParts1GFX) / LEN_1BPP_TILE)
+ call CopyVideoDataDoubleOptimized
+ ld de, ExpBarGFX
+ ld hl, $9550
+ lb bc, BANK(ExpBarGFX), ((ExpBarGFXEnd - ExpBarGFX) / LEN_2BPP_TILE)
+ call CopyVideoDataOptimized
+ ret
+LoadPokemonStatsGraphics:: ; f80fb (3e:40fb)
+ call LoadPokemonMenuGraphics
+ ld de, HpExpBarParts0GFX
+ ld hl, $96c0
+ lb bc, BANK(HpExpBarParts0GFX), ((HpExpBarParts0GFXEnd - HpExpBarParts0GFX) / LEN_1BPP_TILE)
+ call CopyVideoDataDoubleOptimized
+ ld de, HpExpBarParts1GFX
+ ld hl, $9780
+ lb bc, BANK(HpExpBarParts1GFX), 1 ; 1 of 6 tiles
+ call CopyVideoDataDoubleOptimized
+ ld de, HpExpBarParts2GFX
+ ld hl, $9760
+ lb bc, BANK(HpExpBarParts0GFX), ((HpExpBarParts2GFXEnd - HpExpBarParts2GFX) / LEN_1BPP_TILE)
+ call CopyVideoDataDoubleOptimized
+ ld de, ExpBarGFX
+ ld hl, $9550
+ lb bc, BANK(ExpBarGFX), ((ExpBarGFXEnd - ExpBarGFX) / LEN_2BPP_TILE)
+ call CopyVideoDataOptimized
+ ld de, StatsGFX
+ ld hl, $9310
+ lb bc, BANK(StatsGFX), ((StatsGFXEnd - StatsGFX) / LEN_2BPP_TILE)
+ call CopyVideoDataOptimized
+ ret
+LoadBackpackGraphics:: ; f813b (3e:413b)
+ ld de, BlackTileAndCursor1bppGFX
+ ld hl, $9600
+ lb bc, BANK(BlackTileAndCursor1bppGFX), ((BlackTileAndCursor1bppGFXEnd - BlackTileAndCursor1bppGFX) / LEN_1BPP_TILE)
+ call CopyVideoDataDoubleOptimized
+ ld de, PackIconGFX
+ ld hl, $9620
+ lb bc, BANK(PackIconGFX), 12 ; 12 of 15 tiles
+ call CopyVideoDataOptimized
+ ld de, FontSmallKanaPunctuationGFX
+ ld hl, $96e0
+ lb bc, BANK(FontSmallKanaPunctuationGFX), ((FontSmallKanaPunctuationGFXEnd - FontSmallKanaPunctuationGFX) / LEN_2BPP_TILE)
+ call CopyVideoDataOptimized
+ jp LoadActiveFrameGraphics
+; 0xf8162 \ No newline at end of file