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 0dc7d6672b
commit e9c1f18a62
@@ -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
{