ui: hpmax is now a variable.
authorLukas Krickl <lukas@krickl.dev>
Fri, 24 Oct 2025 03:25:40 +0000 (05:25 +0200)
committerLukas Krickl <lukas@krickl.dev>
Fri, 24 Oct 2025 03:25:40 +0000 (05:25 +0200)
This will have to be set by hard mode.

src/defs.s
src/player.s
src/update.s
src/wram.s

index 260da4db7d203da7d06e48048de72607ff713998..9a6f0fc7df4cc625166972637e73f057a7b357e6 100644 (file)
@@ -21,7 +21,7 @@
 #define HP_MAX 20
 
 #define MAP_OBJ_MAX 32
-#define RECT_MAX 4
+#define RECT_MAX 6
 
 #define MAP_ROW_H 16 ; pixels per row
 
index 353c77a4ff8d8875a104438c9284b3f68b0a39fe..31325b0b3d750b4f6e6b1619d6509893e708673c 100644 (file)
@@ -13,7 +13,7 @@ player_init:
        ld a, 0x30 ; initial next scroll
        ld [player_next_scroll_y], a
 
-       ld a, HP_MAX
+       ld a, [player_hp_max]
        ld [player+act_hp], a
        ret
        
index 16368502188a8ec7da3683a5169671b758598721..202ba622fe32f474acc3ff0219997c6a4cb3b406 100644 (file)
@@ -43,6 +43,10 @@ update_anim_timer:
        ret
 
 new_game:
+       ; TODO: handle hard mode
+       ld a, HP_MAX
+       ld [player_hp_max], a
+
        ld de, l_main_menu
        call map_load
 
index a3aa92b72f24aff6e036865b05c216404bd6ae2b..aa3f9efc09d178feff10b12648ba4886f205994a 100644 (file)
@@ -68,7 +68,8 @@ srand: .adv 2
        ; if player y < next_scroll
        ; advance if possible
 player_next_scroll_y: .adv 1
-       
+
+player_hp_max: .adv 1
 player_shoot_delay: .adv 1
 
 ; y/x sub pixel movement for player