// initialize delay for next tape entry (to be able to continue recording)
if (tape.counter < MAX_TAPE_LEN)
// initialize delay for next tape entry (to be able to continue recording)
if (tape.counter < MAX_TAPE_LEN)
ResetDelayCounter(&download_delay);
// wait for score tape to be successfully downloaded (and fail on timeout)
while (!server_scores.tape_downloaded)
{
ResetDelayCounter(&download_delay);
// wait for score tape to be successfully downloaded (and fail on timeout)
while (!server_scores.tape_downloaded)
{
- char *tape_filename = getScoreTapeFilename(entry->tape_basename, level_nr);
+ char *tape_filename =
+ (entry->id == -1 ?
+ getScoreTapeFilename(entry->tape_basename, level_nr) :
+ getScoreCacheTapeFilename(entry->tape_basename, level_nr));
- LoadScoreTape(entry->tape_basename, level_nr);
+ if (entry->id == -1)
+ LoadScoreTape(entry->tape_basename, level_nr);
+ else
+ LoadScoreCacheTape(entry->tape_basename, level_nr);
ResetDelayCounter(&upload_delay);
// wait for score tape to be successfully uploaded (and fail on timeout)
while (!server_scores.uploaded)
{
ResetDelayCounter(&upload_delay);
// wait for score tape to be successfully uploaded (and fail on timeout)
while (!server_scores.uploaded)
{