X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftape.c;h=447ce12c92367faa1ff10491ac8761d450fe693b;hp=2c0661a0871f4f5cbf1d6fc9991f98d500655ca4;hb=14801844faf14be284c590b66f030c6bf7cea5c2;hpb=ed2846d97bd8b22246cb522d0de1ac73a040b414 diff --git a/src/tape.c b/src/tape.c index 2c0661a0..447ce12c 100644 --- a/src/tape.c +++ b/src/tape.c @@ -544,6 +544,8 @@ void TapeErase() tape.centered_player_nr_next = -1; tape.set_centered_player = FALSE; + + tape.use_mouse = (level.game_engine_type == GAME_ENGINE_TYPE_MM); } static void TapeRewind() @@ -596,18 +598,7 @@ void TapeStartRecording(int random_seed) static void TapeStartGameRecording() { - TapeStartRecording(level.random_seed); - -#if defined(NETWORK_AVALIABLE) - if (options.network) - { - SendToServer_StartPlaying(); - - return; - } -#endif - - InitGame(); + StartGameActions(options.network, TRUE, level.random_seed); } static void TapeAppendRecording() @@ -709,7 +700,7 @@ void TapeRecordAction(byte action_raw[MAX_PLAYERS]) for (i = 0; i < MAX_PLAYERS; i++) action[i] = action_raw[i]; - if (tape.set_centered_player) + if (!tape.use_mouse && tape.set_centered_player) { for (i = 0; i < MAX_PLAYERS; i++) if (tape.centered_player_nr_next == i || @@ -887,16 +878,19 @@ byte *TapePlayAction() tape.set_centered_player = FALSE; tape.centered_player_nr_next = -999; - for (i = 0; i < MAX_PLAYERS; i++) + if (!tape.use_mouse) { - if (action[i] & KEY_SET_FOCUS) + for (i = 0; i < MAX_PLAYERS; i++) { - tape.set_centered_player = TRUE; - tape.centered_player_nr_next = - (tape.centered_player_nr_next == -999 ? i : -1); - } + if (action[i] & KEY_SET_FOCUS) + { + tape.set_centered_player = TRUE; + tape.centered_player_nr_next = + (tape.centered_player_nr_next == -999 ? i : -1); + } - action[i] &= ~KEY_SET_FOCUS; + action[i] &= ~KEY_SET_FOCUS; + } } tape.delay_played++; @@ -914,6 +908,9 @@ byte *TapePlayAction() void TapeStop() { + if (tape.pausing) + TapeTogglePause(TAPE_TOGGLE_MANUAL); + TapeStopRecording(); TapeStopPlaying(); @@ -1348,7 +1345,7 @@ void MapTapeButtons() MapTapeWarpButton(); if (tape.show_game_buttons) - MapGameButtons(); + MapGameButtonsOnTape(); } void UnmapTapeButtons() @@ -1359,7 +1356,7 @@ void UnmapTapeButtons() UnmapGadget(tape_gadget[i]); if (tape.show_game_buttons) - UnmapGameButtons(); + UnmapGameButtonsOnTape(); } void RedrawTapeButtons() @@ -1370,7 +1367,7 @@ void RedrawTapeButtons() RedrawGadget(tape_gadget[i]); if (tape.show_game_buttons) - RedrawGameButtons(); + RedrawGameButtonsOnTape(); // RedrawGadget() may have set REDRAW_ALL if buttons are defined off-area redraw_mask &= ~REDRAW_ALL;