use prerendered screen and remove sprite rotation

This commit is contained in:
2026-04-25 07:35:00 +02:00
parent dc43e7aa0b
commit 3783a98f95
8 changed files with 44 additions and 351 deletions

View File

@@ -2,8 +2,6 @@ include consts/screen
include init
call drawing.draw_whole_map
;
; State initialization
;
@@ -22,8 +20,7 @@ store_8 [r6], r2
add r6, r6, 1
store_8 [r6], r5
mov r3, sprites.rotation_0
mov r4, sprites.robot
mov r3, sprites.robot
call drawing.draw_sprite_at_map_coord
; Ghost
@@ -41,8 +38,7 @@ store_8 [r6], r2
add r6, r6, 1
store_8 [r6], r5
mov r3, sprites.rotation_0
mov r4, sprites.ghost
mov r3, sprites.ghost
call drawing.draw_sprite_at_map_coord
;
@@ -229,15 +225,13 @@ game_loop:
; clear old position
mov r1, r2
mov r2, r3
mov r3, sprites.rotation_0
mov r4, sprites.empty
mov r3, sprites.empty
call drawing.draw_sprite_at_map_coord
; draw robot on new position
mov r1, r5
mov r2, r6
mov r3, sprites.rotation_0
mov r4, sprites.robot
mov r3, sprites.robot
call drawing.draw_sprite_at_map_coord
@@ -295,34 +289,27 @@ game_loop:
store_8 [r1], r8
; get tile at previous position
push r2
mov r1, r2
mov r2, r3
call game.get_tile_address_from_map_coord
mov r9, r13
pop r2
load_8 r13, [r13]
; draw tile at previous position
load_8 r1, [r9]
cmp r1, map.tiles.coin
cmp r13, map.tiles.coin
je game_loop_ghost_movement_old_tile_coin
; old tile empty
mov r4, sprites.empty
mov r3, sprites.empty
jmp game_loop_ghost_movement_draw_old_tile
game_loop_ghost_movement_old_tile_coin:
mov r4, sprites.coin
mov r3, sprites.coin
game_loop_ghost_movement_draw_old_tile:
mov r1, r2
mov r2, r3
mov r3, sprites.rotation_0
call drawing.draw_sprite_at_map_coord
; draw ghost on new position
mov r1, r7
mov r2, r8
mov r3, sprites.rotation_0
mov r4, sprites.ghost
mov r3, sprites.ghost
call drawing.draw_sprite_at_map_coord
;