Use Fullscreen option

This commit is contained in:
GabsPuNs
2026-05-22 23:46:39 -04:00
parent c85ac14c40
commit d8d80c3ec4

View File

@@ -72,8 +72,6 @@ static bool g_bResizeReady = false;
char g_Win64Username[17] = { 0 };
wchar_t g_Win64UsernameW[17] = { 0 };
// Fullscreen toggle state
static bool g_isFullscreen = false;
static WINDOWPLACEMENT g_wpPrev = { sizeof(g_wpPrev) };
// ---------- Persistent options (options.txt next to exe) ----------
@@ -84,40 +82,6 @@ static void GetOptionsFilePath(char *out, size_t outSize)
if (p) *(p + 1) = '\0';
strncat_s(out, outSize, "options.txt", _TRUNCATE);
}
static void SaveFullscreenOption(bool fullscreen)
{
char path[MAX_PATH];
GetOptionsFilePath(path, sizeof(path));
FILE *f = nullptr;
if (fopen_s(&f, path, "w") == 0 && f)
{
fprintf_s(f, "fullscreen=%d\n", fullscreen ? 1 : 0);
fclose(f);
}
}
static bool LoadFullscreenOption()
{
char path[MAX_PATH];
GetOptionsFilePath(path, sizeof(path));
FILE *f = nullptr;
if (fopen_s(&f, path, "r") == 0 && f)
{
char line[256];
while (fgets(line, sizeof(line), f))
{
int val = 0;
if (sscanf_s(line, "fullscreen=%d", &val) == 1)
{
fclose(f);
return val != 0;
}
}
fclose(f);
}
return false;
}
// ------------------------------------------------------------------
void DefineActions(void)
@@ -1027,7 +991,9 @@ void ToggleFullscreen()
{
const DWORD dwStyle = GetWindowLong(g_hWnd, GWL_STYLE);
if (!g_isFullscreen)
const int primaryPad = ProfileManager.GetPrimaryPad();
const unsigned char fullscreen = app.GetGameSettings(primaryPad, eGameSetting_Fullscreen);
if (!fullscreen)
{
MONITORINFO mi = {};
mi.cbSize = sizeof(mi);
@@ -1044,8 +1010,7 @@ void ToggleFullscreen()
SetWindowPos(g_hWnd, nullptr, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_FRAMECHANGED);
}
g_isFullscreen = !g_isFullscreen;
SaveFullscreenOption(g_isFullscreen);
app.SetGameSettings(primaryPad, eGameSetting_Fullscreen, fullscreen ? 0 : 1);
if (g_KBMInput.IsWindowFocused())
g_KBMInput.SetWindowFocused(true);
@@ -1306,7 +1271,7 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
}
// Restore fullscreen state from previous session
if (LoadFullscreenOption() && !g_isFullscreen)
if (app.GetGameSettings(ProfileManager.GetPrimaryPad(), eGameSetting_Fullscreen))
{
ToggleFullscreen();
}