; draw one TILE_MOVE tile
; in top row for each move remaining
#define UI_TILE_MOVE 0xC0
+#define UI_TILE_MOVE_USED 0xC1
; inits UI
ui_init:
; hl = actor
ld de, act_moves
add hl, de ; hl = current moves
- ld a, [hl] ; a = counter
+ ld a, [hl+] ; a = counter
ld d, a ; d = counter
-
+ ld a, [hl] ; a = moves max counter
+ sub a, d ; max - current
+ ld e, a ; e = moves max counter
+
; draw to screen
ld a, UI_TILE_MOVE
ld hl, SCRN1+1
-@loop:
+@loop_current:
ld [hl+], a
dec d
- jr nz, @loop REL
+ jr nz, @loop_current REL
+ ; draw used moves
+ ld a, e ; check if e is already 0
+ cp a, 0
+ ret z ; do not draw if e is 0
+
+ ld a, UI_TILE_MOVE_USED
+@loop_max:
+ ld [hl+], a
+ dec e
+ jr nz, @loop_max REL
+
ret