feat: F7/F8 redimensionan campo lógico, F1/F2 muestran notificación de zoom
- F7/F8: nuevo setFieldScale() cambia resolución lógica en pasos del 10% (mín 50%, máx limitado por pantalla), reinicia escena como F4 - F1/F2: muestran notificación "Zoom X%" al cambiar escala de ventana - Ventana física = lógico × zoom en todo momento; resizeWindowCentered() unifica el cálculo de posición leyendo el tamaño real con SDL_GetWindowSize - PostFXUniforms::time renombrado a screen_height; scanlines usan la altura lógica actual en lugar del 720 hardcodeado — F1/F2 escalan las scanlines visualmente, F7/F8 las mantienen a 1 franja por píxel lógico - Eliminados logs de debug de calculateMaxWindowScale y setWindowScale Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -76,6 +76,11 @@ class Engine {
|
||||
void toggleRealFullscreen();
|
||||
void toggleIntegerScaling();
|
||||
|
||||
// Campo de juego (tamaño lógico + físico)
|
||||
void fieldSizeUp();
|
||||
void fieldSizeDown();
|
||||
void setFieldScale(float new_scale);
|
||||
|
||||
// PostFX presets
|
||||
void handlePostFXCycle();
|
||||
void handlePostFXToggle();
|
||||
@@ -187,8 +192,11 @@ class Engine {
|
||||
float postfx_override_vignette_ = -1.f; // -1 = sin override
|
||||
float postfx_override_chroma_ = -1.f;
|
||||
|
||||
// Sistema de zoom dinámico
|
||||
int current_window_zoom_ = DEFAULT_WINDOW_ZOOM;
|
||||
// Sistema de escala de ventana
|
||||
float current_window_scale_ = 1.0f;
|
||||
|
||||
// Escala del campo de juego lógico (F7/F8)
|
||||
float current_field_scale_ = 1.0f;
|
||||
|
||||
// V-Sync y fullscreen
|
||||
bool vsync_enabled_ = true;
|
||||
@@ -242,9 +250,9 @@ class Engine {
|
||||
// Sistema de cambio de sprites dinámico
|
||||
void switchTextureInternal(bool show_notification);
|
||||
|
||||
// Sistema de zoom dinámico
|
||||
int calculateMaxWindowZoom() const;
|
||||
void setWindowZoom(int new_zoom);
|
||||
// Sistema de escala de ventana
|
||||
float calculateMaxWindowScale() const;
|
||||
void setWindowScale(float new_scale);
|
||||
void zoomIn();
|
||||
void zoomOut();
|
||||
void updatePhysicalWindowSize();
|
||||
|
||||
Reference in New Issue
Block a user