-1
};
+ LevelDirTree *leveldir_current_last = leveldir_current;
boolean init_level_set = FALSE;
+ int level_nr_last = level_nr;
int i;
if (!initialize)
if (!global.autoplay_all && !global.autoplay_level[level_nr])
continue;
+ char *tape_filename = (autoplay.tape_filename ? autoplay.tape_filename :
+ options.mytapes ? getTapeFilename(level_nr) :
+ getSolutionTapeFilename(level_nr));
+
+ // speed things up in case of missing tapes (by skipping loading level)
+ if (!fileExists(tape_filename))
+ {
+ autoplay.num_tape_missing++;
+
+ Print("Tape %03d: (no tape found)\n", level_nr);
+
+ continue;
+ }
+
TapeErase();
TapeRewind(); // needed to reset "tape.auto_play_level_solved"
{
autoplay.num_tape_missing++;
- Print("Tape %03d: (no tape found)\n", level_nr);
+ Print("Tape %03d: (invalid tape)\n", level_nr);
continue;
}
return num_tapes;
}
+ if (global.autoplay_mode == AUTOPLAY_MODE_UPLOAD)
+ {
+ Print("\n");
+ PrintLine("=", 79);
+ Print("SUMMARY: %d tapes uploaded.\n", num_tapes);
+ PrintLine("=", 79);
+ }
+
// clear timestamp for batch tape upload (required after interactive upload)
global.autoplay_time = 0;
if (program.headless)
CloseAllAndExit(0);
+ // when running interactively, restore last selected level set and number
+ leveldir_current = leveldir_current_last;
+ level_nr = level_nr_last;
+
return num_tapes;
}