actor: added init attr code for player
authorLukas Krickl <lukas@krickl.dev>
Sun, 21 Dec 2025 11:38:56 +0000 (12:38 +0100)
committerLukas Krickl <lukas@krickl.dev>
Sun, 21 Dec 2025 11:38:56 +0000 (12:38 +0100)
src/actor.s
src/audio.s
src/defs.s
src/player.s

index 1e994b354d6eceaaa4385a904081abe8a70fef66..5fedb33e2b9f7258382de784ee571ee40d7825a6 100644 (file)
@@ -673,6 +673,8 @@ act_move_back:
        ld b, [hl] ; b = direction
 
        call act_apply_vec
+
+       ld a, 1
        ldh [act_just_moved], a
 
        pop de
index 182bbdb65a4ab202d36718d4262dcaa27998ebe3..fca91813cea6130cf015d1cff9c5b601f9dacb55 100644 (file)
@@ -6,7 +6,7 @@ audio_init:
   ; plays a random placeholder noise 
   ; on channel 4
 play_walk_noise:
-  ld a, 0b1111111
+  ld a, 0b1111000
   ld [CH4_VOLUME_ENV], a
 
   ld a, 1 
@@ -17,7 +17,6 @@ play_walk_noise:
 
        ld a, 0b11000000
        ld [CH4_CTRL], a
-
   ret
 
 play_hit_noise:
index a2c4051f4e71db1d504eb190f6f44760987bf208..f6292d5fb085aeffff54c759a9d1342cb494d2c4 100644 (file)
@@ -9,7 +9,7 @@
 #define WRAM 0xC000
 #define WRAMLEN 0xFFF
 
-#define ACT_MAX 4
+#define ACT_MAX 32
 
 #define NULL 0
 
index b1b945eb77ac5f3f688eab21713fc7ce191da72a..f0b3316729e2fb8eebe357bc839369289bf11185 100644 (file)
@@ -49,6 +49,18 @@ player_init:
        ld [player+act_hp], a
        ld [player+act_mp], a
 
+       ; set player attribute table
+       ld a, player_attr LO
+       ld [player+act_attr], a
+       ld a, player_attr HI
+       ld [player+act_attr+1], a
+       
+       ; set default stats
+       ; all stats set to 1
+       ld d, 1
+       ld hl, player_attr
+       ld bc, attr_size
+       call memset
        
        ret
        
@@ -151,6 +163,12 @@ player_handle_move:
                call nz, player_move_back
 @not_down:
        ret
+       
+       ; called on successful move
+player_on_move:
+       call act_update_all
+       call play_walk_noise
+       ret
 
 player_move_forward:
        ld de, player
@@ -158,7 +176,7 @@ player_move_forward:
 
        ldh a, [act_just_moved]
        cp a, 1
-       call z, act_update_all
+       call z, player_on_move
        jp map_full_draw
 
 player_move_back:
@@ -167,5 +185,5 @@ player_move_back:
 
        ldh a, [act_just_moved]
        cp a, 1
-       call z, act_update_all
+       call z, player_on_move
        jp map_full_draw