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);
"{\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,