60633099329f4dc68296ec43012227d9f9d86775
setVSync demanava SDL_GPU_PRESENTMODE_IMMEDIATE sense comprovar suport. A SDL_GPU només VSYNC està garantit; IMMEDIATE i MAILBOX són opcionals. Si no estaven suportats (típicament Wayland/X11 amb compositor), SDL retornava error i la swapchain es quedava en VSYNC sense que ho sabéssim. Ara: - Consultem SDL_WindowSupportsGPUPresentMode abans de fer la crida. - En VSync OFF: provem IMMEDIATE → fallback a MAILBOX → si cap, ens quedem en VSYNC i avisem (driver/compositor força VSync). - Loggejem sempre el mode efectiu (no només els errors), perquè ara mateix no hi havia forma de saber des de fora si el toggle havia tingut efecte.
Orni Attack
Destrueix als cosinus mesisinus que ens ataquen montats en ORNIs!
Controls
El joc permet l'ús del teclat per a controlar la nau i la finestra. Les tecles són les següents:
| Tecla | Acció |
|---|---|
| ↑ | Accelerar la nau |
| ↓ | Frenar |
| ← | Rotar a l'esquerra |
| → | Rotar a la dreta |
| Espai | Disparar |
| ESC | Eixir del joc |
| F1 | Disminuir la mida de la finestra |
| F2 | Augmentar la mida de la finestra |
| F3 | Alternar pantalla completa |
Compilació i execució
Compilar el joc
make # Compilar
make debug # Compilació en mode debug
make clean # Netejar fitxers compilats
./orni # Executar
Crear versions release
make macos_release # macOS .app bundle + .dmg (Apple Silicon)
make linux_release # Linux .tar.gz
make windows_release # Windows .zip (requereix MinGW a Windows)
make windows_cross # Cross-compilació Windows des de Linux/macOS
make rpi_release # Raspberry Pi ARM64 cross-compilació
Requisits
- C++20 compatible compiler
- SDL3 library
- CMake 3.15 o superior
Plataformes suportades
- macOS (Apple Silicon i Intel)
- Linux (x86_64)
- Windows (MinGW)
- Raspberry Pi (ARM64)
Història
Joc original creat en Turbo Pascal 7 per a DOS (1999), ara migrat a C++20 amb SDL3. Aquest port modern preserva la jugabilitat i l'estètica de l'original mentre aprofita les capacitats dels sistemes actuals.
Versió actual: BETA 3.0
