projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added using command line level identifier/nr for single tape tests/uploads
[rocksndiamonds.git]
/
src
/
tape.c
diff --git
a/src/tape.c
b/src/tape.c
index d77703295f3fcb5ee69619d658bd713de42e36b5..0fc6c782478d68746c997e2625359ab2f9900cfe 100644
(file)
--- a/
src/tape.c
+++ b/
src/tape.c
@@
-1579,21
+1579,28
@@
static int AutoPlayTapesExt(boolean initialize)
{
autoplay.tape_filename = global.autoplay_leveldir;
{
autoplay.tape_filename = global.autoplay_leveldir;
+ if (!fileExists(autoplay.tape_filename))
+ Fail("tape file '%s' does not exist", autoplay.tape_filename);
+
LoadTapeFromFilename(autoplay.tape_filename);
if (tape.no_valid_file)
LoadTapeFromFilename(autoplay.tape_filename);
if (tape.no_valid_file)
- {
- if (!fileExists(autoplay.tape_filename))
- Fail("tape file '%s' does not exist", autoplay.tape_filename);
- else
- Fail("cannot load tape file '%s'", autoplay.tape_filename);
- }
+ Fail("cannot load tape file '%s'", autoplay.tape_filename);
- if (tape.no_info_chunk)
+ if (tape.no_info_chunk
&& !options.identifier
)
Fail("cannot get levelset from tape file '%s'", autoplay.tape_filename);
Fail("cannot get levelset from tape file '%s'", autoplay.tape_filename);
+ if (tape.no_info_chunk && !options.level_nr)
+ Fail("cannot get level nr from tape file '%s'", autoplay.tape_filename);
+
global.autoplay_leveldir = tape.level_identifier;
global.autoplay_leveldir = tape.level_identifier;
+ if (options.identifier != NULL)
+ global.autoplay_leveldir = options.identifier;
+
+ if (options.level_nr != NULL)
+ tape.level_nr = atoi(options.level_nr);
+
if (tape.level_nr >= 0 && tape.level_nr < MAX_TAPES_PER_SET)
global.autoplay_level[tape.level_nr] = TRUE;
if (tape.level_nr >= 0 && tape.level_nr < MAX_TAPES_PER_SET)
global.autoplay_level[tape.level_nr] = TRUE;
@@
-1794,7
+1801,8
@@
static int AutoPlayTapesExt(boolean initialize)
getDefaultSolutionTapeFilename(level_nr));
boolean correct_info_chunk =
getDefaultSolutionTapeFilename(level_nr));
boolean correct_info_chunk =
- (strEqual(leveldir_current->identifier, tape.level_identifier) &&
+ (!tape.no_info_chunk &&
+ strEqual(leveldir_current->identifier, tape.level_identifier) &&
level_nr == tape.level_nr);
if (!correct_info_chunk)
level_nr == tape.level_nr);
if (!correct_info_chunk)