From 01ad0ae091f042644a9d2f9ce48ceb30b7f1c479 Mon Sep 17 00:00:00 2001 From: Lukas Krickl Date: Sun, 21 Dec 2025 12:38:56 +0100 Subject: [PATCH] actor: added init attr code for player --- src/actor.s | 2 ++ src/audio.s | 3 +-- src/defs.s | 2 +- src/player.s | 22 ++++++++++++++++++++-- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/actor.s b/src/actor.s index 1e994b3..5fedb33 100644 --- a/src/actor.s +++ b/src/actor.s @@ -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 diff --git a/src/audio.s b/src/audio.s index 182bbdb..fca9181 100644 --- a/src/audio.s +++ b/src/audio.s @@ -6,7 +6,7 @@ audio_init: ; plays a random placeholder noise ; on channel 4 play_walk_noise: - ld a, 0b11111111 + ld a, 0b11110001 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: diff --git a/src/defs.s b/src/defs.s index a2c4051..f6292d5 100644 --- a/src/defs.s +++ b/src/defs.s @@ -9,7 +9,7 @@ #define WRAM 0xC000 #define WRAMLEN 0xFFF -#define ACT_MAX 4 +#define ACT_MAX 32 #define NULL 0 diff --git a/src/player.s b/src/player.s index b1b945e..f0b3316 100644 --- a/src/player.s +++ b/src/player.s @@ -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 -- 2.30.2