From 97050704d119e4d896078d18d09835ae7f865348 Mon Sep 17 00:00:00 2001 From: Lukas Krickl Date: Fri, 25 Oct 2024 18:34:49 +0200 Subject: [PATCH] Testing actor tile assignment --- src/actor.s | 32 ++++++++++++++++++++++++++++++++ src/wram.s | 2 ++ tiles/tileset0.inc | 28 ++++++++++++++-------------- 3 files changed, 48 insertions(+), 14 deletions(-) diff --git a/src/actor.s b/src/actor.s index 1741cfb..761ba7c 100644 --- a/src/actor.s +++ b/src/actor.s @@ -1,6 +1,8 @@ + ; function ptrs for each actor type ; inputs: ; de: actor ptr +; actor_soam_ptr: next soam item actor_update_table: dw actor_update_null dw actor_update_dust @@ -9,11 +11,41 @@ actor_update_null: ret actor_update_dust: + ; load oam ptr + ld a, [actor_soam_ptr] + ld h, a + ld a, [actor_soam_ptr+1] + ld l, a + + ld a, 20 + ld [hl+], a + ld [hl+], a + + ld a, PLAYER_TILE_IDLE1 + ld [hl+], a + + xor a, a + ld [hl+], a + + ; store soam ptr again + ld a, l + ld [actor_soam_ptr+1], a + ld a, h + ld [actor_soam_ptr], a + ret ; updates all active actors from ; the current actor table actors_update: + ; reset soam ptr + xor a, a + ldlo a, shadow_oam + add a, 10 * oamsize ; starting at oam 10 + ld [actor_soam_ptr+1], a + ldhi a, shadow_oam + ld [actor_soam_ptr], a + ld b, ACTORS_MAX ; loop counter ld de, actor_table @loop: diff --git a/src/wram.s b/src/wram.s index 72cca69..c1b0f69 100644 --- a/src/wram.s +++ b/src/wram.s @@ -32,6 +32,8 @@ prev_inputs: .adv 1 actor_table: .adv ACTORS_MAX * actor_size +actor_soam_ptr: .adv 2 + #define PLAYER_DEFAULT_HP 3 #define PLAYER_DEFAULT_MP 3 #define PLAYER_DEFAULT_DEF 0 diff --git a/tiles/tileset0.inc b/tiles/tileset0.inc index 18a7307..cf7d40e 100644 --- a/tiles/tileset0.inc +++ b/tiles/tileset0.inc @@ -432,21 +432,21 @@ .chr 00000000 ; tile 48 .chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 +.chr 00000300 +.chr 00320000 +.chr 02000300 +.chr 00030200 +.chr 00200000 +.chr 00300030 +.chr 02020002 ; tile 49 -.chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 +.chr 00300000 +.chr 00203030 +.chr 03302302 +.chr 03332333 +.chr 00303000 +.chr 02233300 +.chr 00332200 .chr 00000000 ; tile 50 .chr 00000000 -- 2.30.2