From: Holger Schemel Date: Sat, 7 Dec 2024 23:44:01 +0000 (+0100) Subject: fixed moving already moving elements on conveyor belt in BD engine X-Git-Tag: 4.4.0.0-test-5~1 X-Git-Url: https://git.artsoft.org/?a=commitdiff_plain;h=528a0fc4d559a4a516f2f8e4a417d8748ee34bf6;p=rocksndiamonds.git 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. --- 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 ...