Combine visual and nonvisual path so that there is only one gameloop

Differential Revision: https://code.wildfiregames.com/D5161
This was SVN commit r27906.
This commit is contained in:
phosit 2023-10-28 20:54:12 +00:00
parent dc61483e82
commit 50cbe24cc5

View File

@ -525,7 +525,7 @@ static void RunGameOrAtlas(const PS::span<const char* const> argv)
const bool isVisualReplay = args.Has("replay-visual");
const bool isNonVisualReplay = args.Has("replay");
const bool isNonVisual = args.Has("autostart-nonvisual");
const bool isVisual = !args.Has("autostart-nonvisual");
const bool isUsingRLInterface = args.Has("rl-interface");
const OsPath replayFile(
@ -668,30 +668,24 @@ static void RunGameOrAtlas(const PS::span<const char* const> argv)
g_Mods.UpdateAvailableMods(modInterface);
}
if (isNonVisual)
{
if (!InitNonVisual(args))
g_Shutdown = ShutdownType::Quit;
else if (isUsingRLInterface)
StartRLInterface(args);
while (g_Shutdown == ShutdownType::None)
{
if (isUsingRLInterface)
g_RLInterface->TryApplyMessage();
else
NonVisualFrame();
}
}
else
if (isVisual)
{
InitGraphics(args, 0, installedMods);
MainControllerInit();
if (isUsingRLInterface)
StartRLInterface(args);
while (g_Shutdown == ShutdownType::None)
Frame();
}
else if (!InitNonVisual(args))
g_Shutdown = ShutdownType::Quit;
if (isUsingRLInterface && g_Shutdown == ShutdownType::None)
StartRLInterface(args);
while (g_Shutdown == ShutdownType::None)
if (isVisual)
Frame();
else if(isUsingRLInterface)
g_RLInterface->TryApplyMessage();
else
NonVisualFrame();
// Do not install mods again in case of restart (typically from the mod selector)
modsToInstall.clear();