From 528a0fc4d559a4a516f2f8e4a417d8748ee34bf6 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sun, 8 Dec 2024 00:44:01 +0100 Subject: [PATCH] fixed moving already moving elements on conveyor belt in BD engine This changes commit c1a2e3cc to be more generic: Generally prevent moving any elements on (or under) a conveyor belt that are already moving. --- src/game_bd/bd_caveengine.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/game_bd/bd_caveengine.c b/src/game_bd/bd_caveengine.c index 88f4f2ba..568006f7 100644 --- a/src/game_bd/bd_caveengine.c +++ b/src/game_bd/bd_caveengine.c @@ -3695,8 +3695,8 @@ void gd_cave_iterate(GdCave *cave, GdDirection player_move, boolean player_fire, int old_x = getx(cave, raw_x, raw_y); int old_y = gety(cave, raw_x, raw_y); - // only move game element if not already moving in that direction (or if buggy) - if (game_bd.game->dir_buffer_to[old_y][old_x] != move_dir || + // only move game element if not already moving (or if buggy) + if (game_bd.game->dir_buffer_to[old_y][old_x] == GD_MV_STILL || cave->conveyor_belts_buggy) { store(cave, old_x, old_y, O_SPACE); // place a space ... @@ -3730,8 +3730,8 @@ void gd_cave_iterate(GdCave *cave, GdDirection player_move, boolean player_fire, int old_x = getx(cave, raw_x, raw_y); int old_y = gety(cave, raw_x, raw_y); - // only move game element if not already moving in that direction (or if buggy) - if (game_bd.game->dir_buffer_to[old_y][old_x] != move_dir || + // only move game element if not already moving (or if buggy) + if (game_bd.game->dir_buffer_to[old_y][old_x] == GD_MV_STILL || cave->conveyor_belts_buggy) { store(cave, old_x, old_y, O_SPACE); // place a space ... -- 2.34.1