forked from jaildesigner-jailgames/jaildoctors_dilemma
fix: pantalla completa, integer scale i vsync
This commit is contained in:
@@ -431,12 +431,18 @@ void Screen::toggleDebugInfo() { show_debug_info_ = !show_debug_info_; }
|
||||
void Screen::toggleIntegerScale() {
|
||||
Options::video.integer_scale = !Options::video.integer_scale;
|
||||
SDL_SetRenderLogicalPresentation(renderer_, Options::game.width, Options::game.height, Options::video.integer_scale ? SDL_LOGICAL_PRESENTATION_INTEGER_SCALE : SDL_LOGICAL_PRESENTATION_LETTERBOX);
|
||||
if (shader_backend_) {
|
||||
shader_backend_->setScaleMode(Options::video.integer_scale);
|
||||
}
|
||||
}
|
||||
|
||||
// Alterna entre activar y desactivar el V-Sync
|
||||
void Screen::toggleVSync() {
|
||||
Options::video.vertical_sync = !Options::video.vertical_sync;
|
||||
SDL_SetRenderVSync(renderer_, Options::video.vertical_sync ? 1 : SDL_RENDERER_VSYNC_DISABLED);
|
||||
if (shader_backend_) {
|
||||
shader_backend_->setVSync(Options::video.vertical_sync);
|
||||
}
|
||||
}
|
||||
|
||||
// Getters
|
||||
@@ -470,6 +476,10 @@ void Screen::initShaders() {
|
||||
}
|
||||
shader_backend_->init(window_, tex, "", "");
|
||||
|
||||
// Propagar flags de vsync e integer scale al backend GPU
|
||||
shader_backend_->setVSync(Options::video.vertical_sync);
|
||||
shader_backend_->setScaleMode(Options::video.integer_scale);
|
||||
|
||||
if (Options::video.postfx) {
|
||||
applyCurrentPostFXPreset();
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user