X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.c;h=dc847065c0916b414429cc4aae6af7373c946f88;hb=c1835c332851f0f30f4bc907d4cc995b56472227;hp=777a1a08c833bcde707f13a322b04767195a82f3;hpb=0ac301d6e3c5551a5ff66baaaa8ce867bb1aceb1;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index 777a1a08..dc847065 100644 --- a/src/tools.c +++ b/src/tools.c @@ -8747,9 +8747,21 @@ void CheckSaveEngineSnapshot_SP(boolean murphy_is_waiting, } } -void CheckSaveEngineSnapshot_MM(boolean button_released) +void CheckSaveEngineSnapshot_MM(boolean element_clicked, + boolean button_released) { - CheckSaveEngineSnapshotToList(); + if (button_released) + { + if (game.snapshot.mode == SNAPSHOT_MODE_EVERY_MOVE) + CheckSaveEngineSnapshotToList(); + } + else if (element_clicked) + { + if (game.snapshot.mode != SNAPSHOT_MODE_EVERY_MOVE) + CheckSaveEngineSnapshotToList(); + + game.snapshot.changed_action = TRUE; + } } void CheckSingleStepMode_EM(byte action[MAX_PLAYERS], int frame, @@ -8782,13 +8794,14 @@ void CheckSingleStepMode_SP(boolean murphy_is_waiting, CheckSaveEngineSnapshot_SP(murphy_is_waiting, murphy_is_dropping); } -void CheckSingleStepMode_MM(boolean button_released) +void CheckSingleStepMode_MM(boolean element_clicked, + boolean button_released) { if (tape.single_step && tape.recording && !tape.pausing) if (button_released) TapeTogglePause(TAPE_TOGGLE_AUTOMATIC); - CheckSaveEngineSnapshot_MM(button_released); + CheckSaveEngineSnapshot_MM(element_clicked, button_released); } void getGraphicSource_SP(struct GraphicInfo_SP *g_sp,