; only call during blanking
ui_init:
; darw mp and hp on first frame
- ld a, UI_REDRAW_HP | UI_REDRAW_MP
+ ld a, UI_REDRAW_HP | UI_REDRAW_MP | UI_REDRAW_ATK | UI_REDRAW_DEF
ld [ui_flags], a
; hp icon
; directly jump without a return
jp ui_draw_bar
+ui_draw_atk_bar:
+ ld hl, SCRN0_UI+SCRN_W+1
+ ld de, player + player_atk
+ jp ui_draw_bar
+
+ui_draw_def_bar:
+ ld hl, SCRN0_UI+SCRN_W+11
+ ld de, player + player_def
+ jp ui_draw_bar
+
; update the UI
; this should only be called
; during blanking
and a, UI_REDRAW_HP
call nz, ui_draw_mp_bar
+ ; check if we should draw atk bar
+ ld a, [ui_flags]
+ and a, UI_REDRAW_ATK
+ call nz, ui_draw_atk_bar
+
+ ; check if we should draw def bar
+ ld a, [ui_flags]
+ and a, UI_REDRAW_DEF
+ call nz, ui_draw_def_bar
+
; set flags to 0
xor a, a
ld [ui_flags], a