Browse Source

add a small indicator for hp and fuel

Thomas B 1 month ago
parent
commit
a7f4f2596c
4 changed files with 18 additions and 3 deletions
  1. BIN
      data/status_spr8.png
  2. 5
    3
      src/game.c
  3. 12
    0
      src/sprite_data.c
  4. 1
    0
      src/sprites.h

BIN
data/status_spr8.png View File


+ 5
- 3
src/game.c View File

120
                          ((power >> 6) == 0) ? 7 - ((power >> 3) & 7) : 0, hiwater);
120
                          ((power >> 6) == 0) ? 7 - ((power >> 3) & 7) : 0, hiwater);
121
         }
121
         }
122
     }
122
     }
123
+
124
+    spr_draw(SPR_STATUS, FLIP_NONE, BAR_OFFSET_X, HEALTH_OFFSET_Y - 24 - 9, 0, hiwater);
125
+    spr_draw(SPR_STATUS, FLIP_NONE, BAR_OFFSET_X, POWER_OFFSET_Y + 0 - 9, 1, hiwater);
123
 }
126
 }
124
 
127
 
125
 static void show_explosion(uint16_t power) NONBANKED {
128
 static void show_explosion(uint16_t power) NONBANKED {
132
         if (n < (4 * 4)) {
135
         if (n < (4 * 4)) {
133
             spr_draw(SPR_EXPL, FLIP_NONE, 0, 0, n >> 2, &hiwater);
136
             spr_draw(SPR_EXPL, FLIP_NONE, 0, 0, n >> 2, &hiwater);
134
         }
137
         }
135
-        status(0, power >> POWER_SHIFT, &hiwater);
136
         hide_sprites_range(hiwater, MAX_HARDWARE_SPRITES);
138
         hide_sprites_range(hiwater, MAX_HARDWARE_SPRITES);
137
         vsync();
139
         vsync();
138
     }
140
     }
350
 
352
 
351
         uint8_t hiwater = SPR_NUM_START;
353
         uint8_t hiwater = SPR_NUM_START;
352
 
354
 
355
+        status(health >> HEALTH_SHIFT, power >> POWER_SHIFT, &hiwater);
356
+
353
         if (conf_get()->debug_flags & DBG_MARKER) {
357
         if (conf_get()->debug_flags & DBG_MARKER) {
354
             spr_draw(SPR_DEBUG, FLIP_NONE, 0, 0, 0, &hiwater);
358
             spr_draw(SPR_DEBUG, FLIP_NONE, 0, 0, 0, &hiwater);
355
             spr_draw(SPR_DEBUG_LARGE, FLIP_NONE, 0, 0, 0, &hiwater);
359
             spr_draw(SPR_DEBUG_LARGE, FLIP_NONE, 0, 0, 0, &hiwater);
382
             }
386
             }
383
         }
387
         }
384
 
388
 
385
-        status(health >> HEALTH_SHIFT, power >> POWER_SHIFT, &hiwater);
386
-
387
         hide_sprites_range(hiwater, MAX_HARDWARE_SPRITES);
389
         hide_sprites_range(hiwater, MAX_HARDWARE_SPRITES);
388
 
390
 
389
         prev_acc = acc;
391
         prev_acc = acc;

+ 12
- 0
src/sprite_data.c View File

29
 #include "bar_spr8.h"
29
 #include "bar_spr8.h"
30
 #include "expl_spr16.h"
30
 #include "expl_spr16.h"
31
 #include "pause.h"
31
 #include "pause.h"
32
+#include "status_spr8.h"
32
 #include "debug_marker.h"
33
 #include "debug_marker.h"
33
 #include "debug_marker_spr32.h"
34
 #include "debug_marker_spr32.h"
34
 
35
 
164
         .off = TILE_NUM_START,
165
         .off = TILE_NUM_START,
165
         .bank = BANK(pause),
166
         .bank = BANK(pause),
166
     },
167
     },
168
+    { // SPR_STATUS
169
+        .ms = status_spr8_metasprites,
170
+        .ms_n = ARR_LEN(status_spr8_metasprites),
171
+        .ti = status_spr8_tiles,
172
+        .pa = status_spr8_palettes,
173
+        .pa_n = status_spr8_PALETTE_COUNT,
174
+        .pa_i = OAMF_CGB_PAL7 | PALETTE_DYNAMIC_LOAD_IP,
175
+        .cnt = status_spr8_TILE_COUNT,
176
+        .off = TILE_NUM_START,
177
+        .bank = BANK(status_spr8),
178
+    },
167
     { // SPR_DEBUG
179
     { // SPR_DEBUG
168
         .ms = debug_marker_metasprites,
180
         .ms = debug_marker_metasprites,
169
         .ms_n = ARR_LEN(debug_marker_metasprites),
181
         .ms_n = ARR_LEN(debug_marker_metasprites),

+ 1
- 0
src/sprites.h View File

36
     SPR_POWER,
36
     SPR_POWER,
37
     SPR_EXPL,
37
     SPR_EXPL,
38
     SPR_PAUSE,
38
     SPR_PAUSE,
39
+    SPR_STATUS,
39
     SPR_DEBUG,
40
     SPR_DEBUG,
40
     SPR_DEBUG_LARGE,
41
     SPR_DEBUG_LARGE,
41
 
42
 

Loading…
Cancel
Save