Corrige bugs críticos en el manejo de ventanas cuando se inician con parámetros de línea de comandos (-w, -h, -z). ## Problemas Resueltos **1. Zoom incorrecto con parámetros CLI** - El zoom calculado no se guardaba en current_window_zoom_ - F1/F2 usaban valor default (3) en lugar del zoom actual - Resultado: Posicionamiento erróneo de ventana al hacer zoom **2. Ventana no centrada al iniciar** - Faltaba SDL_SetWindowPosition() después de crear ventana - Ventana aparecía en posición aleatoria **3. F4 restauraba tamaño incorrecto** - toggleRealFullscreen() usaba DEFAULT_WINDOW_ZOOM hardcoded - Al salir de fullscreen real, ventana cambiaba de tamaño - No re-centraba ventana después de restaurar ## Cambios Implementados **engine.cpp:initialize() línea 86-87:** - Guardar zoom calculado en current_window_zoom_ antes de crear ventana - Asegura consistencia entre zoom real y zoom guardado **engine.cpp:initialize() línea 114-117:** - Centrar ventana con SDL_WINDOWPOS_CENTERED al iniciar - Solo si no está en modo fullscreen **engine.cpp:toggleRealFullscreen() línea 1174-1175:** - Usar current_window_zoom_ en lugar de DEFAULT_WINDOW_ZOOM - Re-centrar ventana con SDL_WINDOWPOS_CENTERED al salir de F4 ## Casos de Prueba Verificados ✅ Sin parámetros: vibe3_physics.exe ✅ Con resolución: vibe3_physics.exe -w 640 -h 480 ✅ Con zoom: vibe3_physics.exe -z 2 ✅ Combinado: vibe3_physics.exe -w 1920 -h 1080 -z 1 ## Teclas Afectadas - F1 (Zoom Out): ✅ Funciona correctamente - F2 (Zoom In): ✅ Funciona correctamente - F3 (Fullscreen Toggle): ✅ Funciona correctamente - F4 (Real Fullscreen): ✅ Ahora restaura tamaño correcto 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
96 KiB
96 KiB