OpenDoor(DOOR_CLOSE_1 | DOOR_OPEN_2);
SyncEmscriptenFilesystem();
+
+ // needed once to upload tapes (after program start or after user change)
+ CheckUploadTapes();
}
static void gotoTopLevelDir(void)
// temporarily change active user to edited user
user.nr = type_name_nr;
- // load setup of edited user (unless creating user with current setup)
- if (!create_user ||
- !Request("Use current setup values for the new player?", REQ_ASK))
- LoadSetup();
- else
+ if (create_user &&
+ Request("Use current setup values for the new player?", REQ_ASK))
+ {
+ // use current setup values for new user, but create new player UUID
setup.player_uuid = getStringCopy(getUUID());
+ }
+ else
+ {
+ // load setup for existing user (or start with defaults for new user)
+ LoadSetup();
+ }
}
char *setup_filename = getSetupFilename();
int num_tapes_uploaded = UploadTapes();
char message[100];
- sprintf(message, "%d tapes uploaded!", num_tapes_uploaded);
+ if (num_tapes_uploaded < 0)
+ {
+ Request("Cannot upload tapes to score server!", REQ_CONFIRM);
+
+ return FALSE;
+ }
+
+ if (num_tapes_uploaded == 0)
+ sprintf(message, "No tapes uploaded!");
+ else if (num_tapes_uploaded == 1)
+ sprintf(message, "1 tape uploaded!");
+ else
+ sprintf(message, "%d tapes uploaded!", num_tapes_uploaded);
Request(message, REQ_CONFIRM);
SaveSetup();
- return (num_tapes_uploaded > 0);
+ return TRUE;
}
void CheckUploadTapes(void)
if (!setup.ask_for_uploading_tapes)
return;
+ // after asking for uploading all tapes once, do not ask again
+ setup.ask_for_uploading_tapes = FALSE;
+
if (directoryExists(getTapeDir(NULL)))
{
boolean tapes_uploaded = OfferUploadTapes();
setup.provide_uploading_tapes = FALSE;
}
- // after asking for uploading all tapes once, do not ask again
- setup.ask_for_uploading_tapes = FALSE;
-
SaveSetup();
}