Fixing logger and windows version - remove terminal
This commit is contained in:
1 parent
76287dda46
commit
a7d17d9afd
27 files changed
+349
-243
No files matched your search
+39
-29
@@ -67,7 +67,7 @@ static void applyResize(int logicalW, int logicalH) {
|
||||
e.window.data2 = physicalH;
|
||||
SDL_PushEvent(&e);
|
||||
|
||||
std::cout << "Resized, new size: " << logicalW << "x" << logicalH
|
||||
logger() << "Resized, new size: " << logicalW << "x" << logicalH
|
||||
<< " (physical: " << physicalW << "x" << physicalH
|
||||
<< ", DPR: " << dpr << ")" << std::endl;
|
||||
}
|
||||
@@ -226,11 +226,46 @@ extern "C" int SDL_main(int argc, char* argv[]) {
|
||||
|
||||
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__linux__)
|
||||
|
||||
// Read the persisted fullscreen preference (if any) before creating the
|
||||
// window, so it opens directly in the right mode instead of flashing
|
||||
// windowed -> fullscreen once settings are loaded later during setupPart2().
|
||||
void readSettings()
|
||||
{
|
||||
|
||||
const std::string settingsContent = ZL::readSavedTextFile("settings.json");
|
||||
if (!settingsContent.empty()) {
|
||||
try {
|
||||
const nlohmann::json settingsRoot = nlohmann::json::parse(settingsContent);
|
||||
if (settingsRoot.contains("fullscreen")) {
|
||||
ZL::Environment::isFullscreen = settingsRoot["fullscreen"].get<bool>();
|
||||
}
|
||||
|
||||
if (settingsRoot.contains("isHighDPIEnabled")) {
|
||||
ZL::Environment::isHighDPIEnabled = settingsRoot["isHighDPIEnabled"].get<bool>();
|
||||
}
|
||||
|
||||
if (settingsRoot.contains("enableLogging")) {
|
||||
ZL::Environment::enableLogging = settingsRoot["enableLogging"].get<bool>();
|
||||
}
|
||||
|
||||
}
|
||||
catch (const std::exception& e) {
|
||||
std::cerr << "[settings] Failed to parse settings.json: " << e.what() << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
|
||||
SDL_GLContext ctx = nullptr;
|
||||
try
|
||||
{
|
||||
readSettings();
|
||||
ZL::initLogger();
|
||||
|
||||
ZL::logger() << "Log started!" << std::endl;
|
||||
|
||||
#ifdef STEAMSDK
|
||||
// Передаем явный App ID демо-версии
|
||||
if (SteamAPI_RestartAppIfNecessary(4945840)) {
|
||||
@@ -259,31 +294,6 @@ int main(int argc, char* argv[]) {
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
|
||||
|
||||
// Read the persisted fullscreen preference (if any) before creating the
|
||||
// window, so it opens directly in the right mode instead of flashing
|
||||
// windowed -> fullscreen once settings are loaded later during setupPart2().
|
||||
{
|
||||
|
||||
const std::string settingsContent = ZL::readSavedTextFile("settings.json");
|
||||
if (!settingsContent.empty()) {
|
||||
try {
|
||||
const nlohmann::json settingsRoot = nlohmann::json::parse(settingsContent);
|
||||
if (settingsRoot.contains("fullscreen")) {
|
||||
ZL::Environment::isFullscreen = settingsRoot["fullscreen"].get<bool>();
|
||||
}
|
||||
|
||||
if (settingsRoot.contains("isHighDPIEnabled")) {
|
||||
ZL::Environment::isHighDPIEnabled = settingsRoot["isHighDPIEnabled"].get<bool>();
|
||||
}
|
||||
|
||||
}
|
||||
catch (const std::exception& e) {
|
||||
std::cerr << "[settings] Failed to parse settings.json: " << e.what() << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Uint32 windowFlags = SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_ALLOW_HIGHDPI | SDL_WINDOW_RESIZABLE;
|
||||
if (ZL::Environment::isFullscreen) {
|
||||
windowFlags |= SDL_WINDOW_FULLSCREEN_DESKTOP;
|
||||
@@ -291,7 +301,7 @@ int main(int argc, char* argv[]) {
|
||||
|
||||
SDL_DisplayMode dm;
|
||||
if (SDL_GetCurrentDisplayMode(0, &dm) == 0) {
|
||||
std::cout << "Desktop resolution: " << dm.w << "x" << dm.h << " @ " << dm.refresh_rate << "Hz\n";
|
||||
ZL::logger() << "Desktop resolution: " << dm.w << "x" << dm.h << " @ " << dm.refresh_rate << "Hz\n";
|
||||
}
|
||||
else {
|
||||
SDL_Log("SDL_GetCurrentDisplayMode failed: %s", SDL_GetError());
|
||||
@@ -320,14 +330,14 @@ int main(int argc, char* argv[]) {
|
||||
SDL_GL_GetDrawableSize(ZL::Environment::window, &drawW, &drawH);
|
||||
ZL::Environment::width = drawW;
|
||||
ZL::Environment::height = drawH;
|
||||
std::cout << "HiDPI enabled, drawable size: " << drawW << "x" << drawH << std::endl;
|
||||
ZL::logger() << "HiDPI enabled, drawable size: " << drawW << "x" << drawH << std::endl;
|
||||
}
|
||||
else {
|
||||
int winW, winH;
|
||||
SDL_GetWindowSize(ZL::Environment::window, &winW, &winH);
|
||||
ZL::Environment::width = winW;
|
||||
ZL::Environment::height = winH;
|
||||
std::cout << "HiDPI disabled, window size: " << winW << "x" << winH << std::endl;
|
||||
ZL::logger() << "HiDPI disabled, window size: " << winW << "x" << winH << std::endl;
|
||||
}
|
||||
|
||||
// Динамическое создание объекта игры
|
||||
|
||||
Reference in new issue
Block a user