diff --git a/source/core/rendering/screen.cpp b/source/core/rendering/screen.cpp index 3f549fe..6aff8a3 100644 --- a/source/core/rendering/screen.cpp +++ b/source/core/rendering/screen.cpp @@ -529,7 +529,10 @@ void Screen::hide() { SDL_HideWindow(window_); } void Screen::setNotificationsEnabled(bool value) { notifications_enabled_ = value; } // Activa / desactiva el contador de FPS -void Screen::toggleFPS() { show_fps_ = !show_fps_; } +void Screen::toggleFPS() { + show_fps_ = !show_fps_; + if (show_fps_) { updateZoomFactor(); } +} // Alterna entre activar y desactivar el escalado entero void Screen::toggleIntegerScale() { diff --git a/source/core/resources/resource_cache.cpp b/source/core/resources/resource_cache.cpp index 33a23fd..32f2dbc 100644 --- a/source/core/resources/resource_cache.cpp +++ b/source/core/resources/resource_cache.cpp @@ -55,6 +55,11 @@ namespace Resource { // Carga todos los recursos void Cache::load() { + // Oculta el overlay de debug durante la carga inicial; al restaurarlo + // SDL ya estará estabilizado y toggleFPS recalculará zoom_factor_ correctamente + const bool WAS_FPS_VISIBLE = Screen::get()->isFPSVisible(); + if (WAS_FPS_VISIBLE) { Screen::get()->toggleFPS(); } + calculateTotal(); Screen::get()->setBorderColor(static_cast(PaletteColor::BLACK)); std::cout << "\n** LOADING RESOURCES" << '\n'; @@ -67,6 +72,8 @@ namespace Resource { loadRooms(); createText(); std::cout << "\n** RESOURCES LOADED" << '\n'; + + if (WAS_FPS_VISIBLE) { Screen::get()->toggleFPS(); } } // Recarga todos los recursos