diff options
-rwxr-xr-x | engine/gfx/place_graphic.asm | 55 | ||||
-rw-r--r-- | main.asm | 3 |
2 files changed, 56 insertions, 2 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 @@ -354,9 +354,8 @@ PlayBattleMusic:: dr $44556, $445f2 ClearBattleRAM:: dr $445f2, $44648 -PlaceGraphic:: - dr $44648, $44679 +INCLUDE "engine/gfx/place_graphic.asm" INCLUDE "engine/pokemon/mail.asm" |