Combined single and multi bar drawing logic
authorLukas Krickl <lukas@krickl.dev>
Sun, 6 Oct 2024 08:37:29 +0000 (10:37 +0200)
committerLukas Krickl <lukas@krickl.dev>
Sun, 6 Oct 2024 08:37:29 +0000 (10:37 +0200)
src/ui.s
tiles/tileset1.inc

index efa3bb25d275b1d2f500376c304857615c0cc82a..f148f49e4c73b67e64ad8fa24f6a58d58adfdb18 100644 (file)
--- a/src/ui.s
+++ b/src/ui.s
@@ -1,11 +1,11 @@
 #define THP_ICON 0x33
 #define TMP_ICON 0x37
-#define TATK_ICON 0x3B
+#define TATK_ICON 0x3D
 #define TDEF_ICON 0x3C
 
 #define THP_BAR_START 0x34
-#define THP_BAR_SINGLE_EMPTY 0x3E
-#define THP_BAR_SINGLE_FULL 0x3D
+#define THP_BAR_SINGLE_EMPTY 0x3F
+#define THP_BAR_SINGLE_FULL 0x3B
 
   ; difference between start and empty bar 
 #define THP_BAR_EMPTY_DIFF 4
@@ -40,24 +40,6 @@ ui_init:
 
   ret
 
-  ; draw a single item only 
-  ; inputs:
-  ;   b: current bar value (either 1 or 0)
-  ;  hl: screen location
-ui_draw_bar_single:
-  ld a, b ; b = current 
-
-  cp a, 0 
-  jp z, @draw_empty
-@draw_full:
-  ld a, THP_BAR_SINGLE_FULL
-  ld [hl+], a
-  ret
-@draw_empty:
-  ld a, THP_BAR_SINGLE_EMPTY
-  ld [hl+], a
-  ret
-
   ; decides if a bar should be empty or filled 
   ; inputs:
   ;   b: current
@@ -95,17 +77,18 @@ ui_draw_bar:
   
   ; check if we only need a single obj 
   ld a, [de] ; a = max value 
-  
-  ; <= 1 -> jp to special case code 
-  cp a, 1
-  jr c, ui_draw_bar_single REL
-  jr z, ui_draw_bar_single REL
-
   ; now c = max
   ; and b = current 
   ld c, a
-
   ld e, 0 ; e = total drawn
+  
+  ; <= 1 -> jp to special case code 
+  cp a, 1 ; a = max 
+  ; load single tile for the possible jumps
+  ld a, THP_BAR_SINGLE_FULL 
+  jr c, ui_draw_bar_empty_or_filled REL
+  jr z, ui_draw_bar_empty_or_filled REL
+
 
   ; draw left most bar tile 
   ld a, THP_BAR_START
index 7619e45fea1a703c6ff7f53253d6e5e3ed4b2bab..3df4e8093eff9b23da7ebd8939efee6346f82870 100644 (file)
 .chr 00000000
 ; tile 187
 .chr 00000000
-.chr 00000011
-.chr 00000112
-.chr 00001120
-.chr 00311200
-.chr 00332000
-.chr 03333000
-.chr 03300000
+.chr 00333300
+.chr 03111130
+.chr 03111130
+.chr 03111130
+.chr 00333300
+.chr 00000000
+.chr 00000000
 ; tile 188
 .chr 00000000
 .chr 03333330
 .chr 00033000
 ; tile 189
 .chr 00000000
-.chr 00333300
-.chr 03111130
-.chr 03111130
-.chr 03111130
-.chr 00333300
-.chr 00000000
-.chr 00000000
+.chr 00000011
+.chr 00000112
+.chr 00001120
+.chr 00311200
+.chr 00332000
+.chr 03333000
+.chr 03300000
 ; tile 190
 .chr 00000000
-.chr 00333300
-.chr 03000030
-.chr 03000030
-.chr 03000030
-.chr 00333300
 .chr 00000000
 .chr 00000000
-; tile 191
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
+; tile 191
 .chr 00000000
+.chr 00333300
+.chr 03000030
+.chr 03000030
+.chr 03000030
+.chr 00333300
 .chr 00000000
 .chr 00000000
 ; tile 192