afegit mode kiosko

This commit is contained in:
2026-03-11 19:14:22 +01:00
parent b79f1c3424
commit ce5c4681b8
4 changed files with 29 additions and 8 deletions

View File

@@ -16,6 +16,7 @@ void printHelp() {
std::cout << " -z, --zoom <n> Zoom de ventana (default: 3)\n";
std::cout << " -f, --fullscreen Modo pantalla completa (F3 - letterbox)\n";
std::cout << " -F, --real-fullscreen Modo pantalla completa real (F4 - nativo)\n";
std::cout << " -k, --kiosk Modo kiosko (F4 fijo, sin ESC, sin zoom)\n";
std::cout << " -m, --mode <mode> Modo inicial: sandbox, demo, demo-lite, logo (default: sandbox)\n";
std::cout << " --help Mostrar esta ayuda\n\n";
std::cout << "Ejemplos:\n";
@@ -24,6 +25,7 @@ void printHelp() {
std::cout << " vibe3_physics -w 640 -h 480 -z 2 # 640x480 zoom 2 (ventana 1280x960)\n";
std::cout << " vibe3_physics -f # Fullscreen letterbox (F3)\n";
std::cout << " vibe3_physics -F # Fullscreen real (F4 - resolución nativa)\n";
std::cout << " vibe3_physics -k # Modo kiosko (pantalla completa real, bloqueado)\n";
std::cout << " vibe3_physics --mode demo # Arrancar en modo DEMO (auto-play)\n";
std::cout << " vibe3_physics -m demo-lite # Arrancar en modo DEMO_LITE (solo física)\n";
std::cout << " vibe3_physics -F --mode logo # Fullscreen + modo LOGO (easter egg)\n\n";
@@ -36,6 +38,7 @@ int main(int argc, char* argv[]) {
int zoom = 0;
bool fullscreen = false;
bool real_fullscreen = false;
bool kiosk_mode = false;
AppMode initial_mode = AppMode::SANDBOX; // Modo inicial (default: SANDBOX)
// Parsear argumentos
@@ -80,6 +83,8 @@ int main(int argc, char* argv[]) {
fullscreen = true;
} else if (strcmp(argv[i], "-F") == 0 || strcmp(argv[i], "--real-fullscreen") == 0) {
real_fullscreen = true;
} else if (strcmp(argv[i], "-k") == 0 || strcmp(argv[i], "--kiosk") == 0) {
kiosk_mode = true;
} else if (strcmp(argv[i], "-m") == 0 || strcmp(argv[i], "--mode") == 0) {
if (i + 1 < argc) {
std::string mode_str = argv[++i];
@@ -118,10 +123,13 @@ int main(int argc, char* argv[]) {
return -1;
}
// Si se especificó real fullscreen (F4), activar después de inicializar
if (real_fullscreen) {
// Si se especificó real fullscreen (F4) o modo kiosko, activar después de inicializar
if (real_fullscreen || kiosk_mode) {
engine.toggleRealFullscreen();
}
if (kiosk_mode) {
engine.setKioskMode(true);
}
engine.run();
engine.shutdown();