void FiveGameInit::LoadGameFirstLaunch(bool(*callBeforeLoad)()) { g_callBeforeLoad = callBeforeLoad; g_launchedGame = true; OnGameFrame.Connect([=] () { if (g_shouldSetState) { if (*g_initState == MapInitState(6)) { *g_initState = MapInitState(7); g_shouldSetState = false; } } static bool isLoading = false; if (isLoading) { if (*g_initState == 0) { OnGameFinalizeLoad(); isLoading = false; } } else { if (*g_initState != 0) { isLoading = true; } } }); OnGameRequestLoad(); // stuff if (*g_initState == MapInitState(6)) { *g_initState = MapInitState(7); } else { if (*g_initState == MapInitState(20)) { *g_initState = MapInitState(11); } g_shouldSetState = true; } }
void FiveGameInit::ReloadGame() { OnGameRequestLoad(); *g_initState = MapInitState(14); }
void FiveGameInit::LoadGameFirstLaunch(bool(*callBeforeLoad)()) { AddCrashometry("load_game_first_launch", "true"); g_callBeforeLoad = callBeforeLoad; g_launchedGame = true; OnGameFrame.Connect([=] () { if (g_shouldSetState) { if (*g_initState == MapInitState(6)) { *g_initState = MapInitState(7); g_triedLoading = true; g_shouldSetState = false; } } static bool isLoading = false; if (isLoading) { if (*g_initState == 0) { trace("Triggering OnGameFinalizeLoad\n"); OnGameFinalizeLoad(); isLoading = false; } } else { if (*g_initState != 0) { isLoading = true; } } }); OnKillNetwork.Connect([=] (const char* message) { AddCrashometry("kill_network", "true"); AddCrashometry("kill_network_msg", message); trace("Killing network: %s\n", message); g_shouldKillNetwork = true; SetRenderThreadOverride(); }, 500); /*OnGameRequestLoad.Connect([=] () { });*/ OnGameRequestLoad(); // stuff if (*g_initState == MapInitState(6)) { *g_initState = MapInitState(7); g_triedLoading = true; } else { if (*g_initState == MapInitState(20)) { *g_initState = MapInitState(11); } g_shouldSetState = true; } }