Render: try to cleanly exit when glut window is closed

This isn't perfect, but it's better than not having it IMO. Only applies to borderless and windowed modes.
This commit is contained in:
somewhatlurker
2020-02-09 17:47:42 +00:00
parent 42be4c5b3b
commit 06e60b2360
@@ -15,6 +15,11 @@
using namespace std::chrono;
void exitGameClean(int)
{
*(bool*)0x0000000140EDA6B0 = true;
}
int hookedCreateWindow(const char* title, void(__cdecl* exit_function)(int))
{
SetProcessDPIAware();
@@ -39,7 +44,7 @@ int hookedCreateWindow(const char* title, void(__cdecl* exit_function)(int))
printf(GameModeString);
printf("\n");
*fullScreenFlag = 1;
glutCreateWindow(title);
__glutCreateWindowWithExit(title, exitGameClean);
}
}
else // windowed or borderless
@@ -68,7 +73,7 @@ int hookedCreateWindow(const char* title, void(__cdecl* exit_function)(int))
glutInitWindowSize(nWidth, nHeight);
glutInitWindowPosition(wndX, wndY);
glutCreateWindow(title);
__glutCreateWindowWithExit(title, exitGameClean);
if (nDisplay == 1 || nDisplay == 3) // borderless mode
{