case GAME_CTRL_ID_STOP:
case GAME_CTRL_ID_PANEL_STOP:
case GAME_CTRL_ID_TOUCH_STOP:
- if (game_status == GAME_MODE_MAIN)
- break;
-
- if (tape.playing)
- TapeStop();
- else
- RequestQuitGame(FALSE);
+ TapeStopGame();
break;
}
}
+static void TapeStopGameOrTape(boolean stop_game)
+{
+ if (!tape.playing && stop_game)
+ RequestQuitGame(FALSE);
+ else
+ TapeStop();
+}
+
+void TapeStopGame(void)
+{
+ if (game_status == GAME_MODE_MAIN)
+ return;
+
+ TapeStopGameOrTape(TRUE);
+}
+
+void TapeStopTape(void)
+{
+ TapeStopGameOrTape(FALSE);
+}
+
unsigned int GetTapeLengthFrames(void)
{
unsigned int tape_length_frames = 0;
break;
case TAPE_CTRL_ID_STOP:
- TapeStop();
+ TapeStopTape();
break;
void TapeStopPlaying(void);
byte *TapePlayAction(void);
void TapeStop(void);
+void TapeStopGame(void);
+void TapeStopTape(void);
void TapeErase(void);
unsigned int GetTapeLengthFrames(void);
unsigned int GetTapeLengthSeconds(void);