X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=e2b67c24da8a67be955cc3b5b9414702c158d1a1;hb=572a4bab20b6f36ef1a4782094b27ac5a703a476;hp=80f157012eddb293b42049a8db6e7ee26976d99d;hpb=70e95507923cc6cfb20d9e9a74e8f5cc5f6e44de;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 80f15701..e2b67c24 100644 --- a/src/game.c +++ b/src/game.c @@ -11983,7 +11983,16 @@ static byte PlayerActions(struct PlayerInfo *player, byte player_action) if (tape.single_step && tape.recording && !tape.pausing) { +#if 1 + /* as it is called "single step mode", just return to pause mode when the + player stopped moving after one tile (or never starts moving at all) */ + if (!player->is_moving) +#else + /* this is buggy: there are quite some cases where the single step mode + does not return to pause mode (like pushing things that don't move + or simply by trying to run against a wall) */ if (button1 || (dropped && !moved)) +#endif { TapeTogglePause(TAPE_TOGGLE_AUTOMATIC); SnapField(player, 0, 0); /* stop snapping */