From 7593da7b18030feb5fa5dce2675e7207e20455c1 Mon Sep 17 00:00:00 2001 From: Chris Pressey Date: Wed, 13 Dec 2017 15:53:43 +0000 Subject: [PATCH] Implement check_new_position_in_bounds. --- eg/proto-game.60p | 73 ++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 42 deletions(-) diff --git a/eg/proto-game.60p b/eg/proto-game.60p index 769a902..6a02fb3 100644 --- a/eg/proto-game.60p +++ b/eg/proto-game.60p @@ -39,6 +39,7 @@ byte button_down : 0 // effectively static-local to check_button byte table press_fire_msg: "PRESS`FIRE`TO`PLAY" byte save_x +word compare_target // // Points to the routine that implements the current game state. @@ -54,10 +55,10 @@ vector dispatch_game_state inputs joy2, button_down, press_fire_msg, dispatch_game_state, save_x, actor_pos, pos, new_pos, actor_delta, delta, screen, screen1, screen2, screen3, screen4, colormap1, colormap2, colormap3, colormap4 - outputs button_down, dispatch_game_state, save_x, + outputs button_down, dispatch_game_state, actor_pos, pos, new_pos, actor_delta, delta, screen, screen1, screen2, screen3, screen4, colormap1, colormap2, colormap3, colormap4 - trashes a, x, y, c, z, n, v, ptr + trashes a, x, y, c, z, n, v, ptr, save_x, compare_target // // The constraints on these 2 vectors are kind-of sort-of big fibs. @@ -75,20 +76,20 @@ vector cinv inputs joy2, button_down, press_fire_msg, dispatch_game_state, save_x, actor_pos, pos, new_pos, actor_delta, delta, screen, screen1, screen2, screen3, screen4, colormap1, colormap2, colormap3, colormap4 - outputs button_down, dispatch_game_state, save_x, + outputs button_down, dispatch_game_state, actor_pos, pos, new_pos, actor_delta, delta, screen, screen1, screen2, screen3, screen4, colormap1, colormap2, colormap3, colormap4 - trashes a, x, y, c, z, n, v, ptr + trashes a, x, y, c, z, n, v, ptr, save_x, compare_target @ 788 vector save_cinv inputs joy2, button_down, press_fire_msg, dispatch_game_state, save_x, actor_pos, pos, new_pos, actor_delta, delta, screen, screen1, screen2, screen3, screen4, colormap1, colormap2, colormap3, colormap4 - outputs button_down, dispatch_game_state, save_x, + outputs button_down, dispatch_game_state, actor_pos, pos, new_pos, actor_delta, delta, screen, screen1, screen2, screen3, screen4, colormap1, colormap2, colormap3, colormap4 - trashes a, x, y, c, z, n, v, ptr + trashes a, x, y, c, z, n, v, ptr, save_x, compare_target // ---------------------------------------------------------------- // Utility Routines @@ -191,39 +192,27 @@ routine calculate_new_position add new_pos, delta } -// routine compare_new_pos -// { -// lda >new_position -// cmp >compare_target -// if beq { -// lda