void ExecuteAsThread(SDL_ThreadFunction function, char *name, void *data,
char *error)
{
+#if defined(PLATFORM_EMSCRIPTEN)
+ // threads currently not fully supported by Emscripten/SDL and some browsers
+ function(data);
+#else
SDL_Thread *thread = SDL_CreateThread(function, name, data);
if (thread != NULL)
// nasty kludge to lower probability of intermingled thread error messages
Delay(1);
+#endif
}
char *getPasswordJSON(char *password)
"{\n"
"%s"
" \"game_version\": \"%s\",\n"
+ " \"game_platform\": \"%s\",\n"
" \"levelset_identifier\": \"%s\",\n"
" \"level_nr\": \"%d\"\n"
"}\n",
getPasswordJSON(setup.api_server_password),
getProgramRealVersionString(),
+ getProgramPlatformString(),
levelset.identifier, level_nr);
ConvertHttpRequestBodyToServerEncoding(request);
char *player_name_raw = score_entry->name;
char *player_uuid_raw = setup.player_uuid;
- if (options.player_name != NULL)
+ if (options.player_name != NULL && global.autoplay_leveldir != NULL)
{
player_name_raw = options.player_name;
player_uuid_raw = "";
"{\n"
"%s"
" \"game_version\": \"%s\",\n"
+ " \"game_platform\": \"%s\",\n"
" \"batch_time\": \"%d\",\n"
" \"levelset_identifier\": \"%s\",\n"
" \"levelset_name\": \"%s\",\n"
"}\n",
getPasswordJSON(setup.api_server_password),
getProgramRealVersionString(),
+ getProgramPlatformString(),
(int)global.autoplay_time,
levelset_identifier,
levelset_name,