mirror of
https://github.com/GabsPuNs/Project-Zenith-Main.git
synced 2026-05-27 13:14:37 +00:00
Use Fullscreen option
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user