projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added sending flag for locally saved tape to score server
[rocksndiamonds.git]
/
src
/
tape.c
diff --git
a/src/tape.c
b/src/tape.c
index 92d24473e254224f66cad929b12fdf5d72f391a1..793bf0cec0145eb04ddaea56a01f898092558626 100644
(file)
--- a/
src/tape.c
+++ b/
src/tape.c
@@
-1400,7
+1400,7
@@
static void AutoPlayTapes_SetScoreEntry(int score, int time)
server_scores.uploaded = FALSE;
}
server_scores.uploaded = FALSE;
}
-static
void
AutoPlayTapes_WaitForUpload(void)
+static
boolean
AutoPlayTapes_WaitForUpload(void)
{
unsigned int upload_delay = 0;
unsigned int upload_delay_value = 10000;
{
unsigned int upload_delay = 0;
unsigned int upload_delay_value = 10000;
@@
-1415,7
+1415,10
@@
static void AutoPlayTapes_WaitForUpload(void)
PrintNoLog("\r");
Print("- uploading score tape to score server - TIMEOUT.\n");
PrintNoLog("\r");
Print("- uploading score tape to score server - TIMEOUT.\n");
- Fail("cannot upload score tape to score server");
+ if (program.headless)
+ Fail("cannot upload score tape to score server");
+
+ return FALSE;
}
UPDATE_BUSY_STATE();
}
UPDATE_BUSY_STATE();
@@
-1425,6
+1428,8
@@
static void AutoPlayTapes_WaitForUpload(void)
PrintNoLog("\r");
Print("- uploading score tape to score server - uploaded.\n");
PrintNoLog("\r");
Print("- uploading score tape to score server - uploaded.\n");
+
+ return TRUE;
}
static int AutoPlayTapesExt(boolean initialize)
}
static int AutoPlayTapesExt(boolean initialize)
@@
-1535,7
+1540,7
@@
static int AutoPlayTapesExt(boolean initialize)
// * solution tape may have native format (like Supaplex solution files)
SaveScoreTape(level_nr);
// * solution tape may have native format (like Supaplex solution files)
SaveScoreTape(level_nr);
- SaveServerScore(level_nr);
+ SaveServerScore(level_nr
, TRUE
);
AutoPlayTapes_WaitForUpload();
}
AutoPlayTapes_WaitForUpload();
}
@@
-1827,9
+1832,9
@@
static int AutoPlayTapesExt(boolean initialize)
}
}
}
}
- SaveServerScoreFromFile(level_nr, autoplay.tape_filename);
+ SaveServerScoreFromFile(level_nr,
TRUE,
autoplay.tape_filename);
- AutoPlayTapes_WaitForUpload();
+
boolean success =
AutoPlayTapes_WaitForUpload();
if (use_temporary_tape_file)
unlink(autoplay.tape_filename);
if (use_temporary_tape_file)
unlink(autoplay.tape_filename);
@@
-1837,6
+1842,13
@@
static int AutoPlayTapesExt(boolean initialize)
// required for uploading multiple tapes
autoplay.tape_filename = NULL;
// required for uploading multiple tapes
autoplay.tape_filename = NULL;
+ if (!success)
+ {
+ num_tapes = -1;
+
+ break;
+ }
+
continue;
}
continue;
}
@@
-1857,14
+1869,20
@@
static int AutoPlayTapesExt(boolean initialize)
{
Print("\n");
PrintLine("=", 79);
{
Print("\n");
PrintLine("=", 79);
- Print("SUMMARY: %d tapes uploaded.\n", num_tapes);
+
+ if (num_tapes >= 0)
+ Print("SUMMARY: %d tapes uploaded.\n", num_tapes);
+ else
+ Print("SUMMARY: Uploading tapes failed.\n");
+
PrintLine("=", 79);
}
// clear timestamp for batch tape upload (required after interactive upload)
global.autoplay_time = 0;
PrintLine("=", 79);
}
// clear timestamp for batch tape upload (required after interactive upload)
global.autoplay_time = 0;
- if (program.headless)
+ // exit if running headless or if visually auto-playing tapes
+ if (program.headless || global.autoplay_mode != AUTOPLAY_MODE_UPLOAD)
CloseAllAndExit(0);
// when running interactively, restore last selected level set and number
CloseAllAndExit(0);
// when running interactively, restore last selected level set and number