diff options
author | libjet <libj3t@gmail.com> | 2020-05-21 02:41:59 +0100 |
---|---|---|
committer | libjet <libj3t@gmail.com> | 2020-05-21 02:41:59 +0100 |
commit | 3d99b8e8596b508621df807928a46e88b7afe3d1 (patch) | |
tree | d57a597fc7a2c9ae7e170e9068ce49d2753ca96e /engine | |
parent | 5d337102c45e6bdd6e75c037f94b38012fbe62db (diff) |
Add place_graphic.asm
Diffstat (limited to 'engine')
-rwxr-xr-x | engine/gfx/place_graphic.asm | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/engine/gfx/place_graphic.asm b/engine/gfx/place_graphic.asm new file mode 100755 index 00000000..4092ad35 --- /dev/null +++ b/engine/gfx/place_graphic.asm @@ -0,0 +1,55 @@ +PlaceGraphic: +; Fill wBoxAlignment-aligned box width b height c +; with iterating tile starting from hGraphicStartTile at hl. + + ld de, SCREEN_WIDTH + + ld a, [wBoxAlignment] + and a + jr nz, .right + + ldh a, [hGraphicStartTile] +.x1 + push bc + push hl + +.y1 + ld [hl], a + add hl, de + inc a + dec c + jr nz, .y1 + + pop hl + inc hl + pop bc + dec b + jr nz, .x1 + ret + +.right +; Right-aligned. + push bc + ld b, 0 + dec c + add hl, bc + pop bc + + ldh a, [hGraphicStartTile] +.x2 + push bc + push hl + +.y2 + ld [hl], a + add hl, de + inc a + dec c + jr nz, .y2 + + pop hl + dec hl + pop bc + dec b + jr nz, .x2 + ret |