if (game_status != GAME_MODE_PLAYING)
return;
- GameActions(); // main game loop
+ GameActions(); // main game loop
if (tape.auto_play && !tape.playing)
- AutoPlayTapes(); // continue automatically playing next tape
+ AutoPlayTapesContinue(); // continue automatically playing next tape
}
struct AutoPlayInfo
{
LevelDirTree *leveldir;
- boolean initialized;
boolean all_levelsets;
int last_level_nr;
int level_nr;
Print("- uploading score tape to score server - uploaded.\n");
}
-void AutoPlayTapes(void)
+static void AutoPlayTapesExt(boolean initialize)
{
static struct AutoPlayInfo autoplay;
static int patch_nr = 0;
boolean init_level_set = FALSE;
int i;
- if (autoplay.initialized)
+ if (!initialize)
{
if (global.autoplay_mode == AUTOPLAY_MODE_FIX)
{
// auto-play selected level set
autoplay.leveldir = getTreeInfoFromIdentifier(leveldir_first,
global.autoplay_leveldir);
-
}
if (autoplay.leveldir == NULL)
options.mytapes = TRUE;
init_level_set = TRUE;
-
- autoplay.initialized = TRUE;
}
while (1)
CloseAllAndExit(0);
}
+void AutoPlayTapes(void)
+{
+ AutoPlayTapesExt(TRUE);
+}
+
+void AutoPlayTapesContinue(void)
+{
+ AutoPlayTapesExt(FALSE);
+}
+
// ----------------------------------------------------------------------------
// tape patch functions
void FixTape_ForceSinglePlayer(void);
void AutoPlayTapes(void);
+void AutoPlayTapesContinue(void);
void PatchTapes(void);
void CreateTapeButtons(void);