39 lines
1020 B
Bash
Executable File
39 lines
1020 B
Bash
Executable File
#!/bin/bash
|
|
# detect-engine.sh - Detecta el motor de una novela visual según su estructura
|
|
# Uso: detect-engine.sh <ruta_proyecto>
|
|
# Salida: renpy | unity | web | onscripter | unknown
|
|
|
|
PROJECT="${1:-}"
|
|
|
|
if [ -z "$PROJECT" ] || [ ! -d "$PROJECT" ]; then
|
|
echo "unknown"
|
|
exit 1
|
|
fi
|
|
|
|
# Ren'Py: tiene project.json o game/script.rpy
|
|
if [ -f "$PROJECT/project.json" ] || [ -f "$PROJECT/game/script.rpy" ]; then
|
|
echo "renpy"
|
|
exit 0
|
|
fi
|
|
|
|
# ONScripter: script 0.txt/nscript.dat, ons.cfg o ejecutable onscripter
|
|
if [ -f "$PROJECT/0.txt" ] || [ -f "$PROJECT/nscript.dat" ] || [ -f "$PROJECT/ons.cfg" ] || [ -f "$PROJECT/onscripter-ru.exe" ] || [ -f "$PROJECT/onscripter.exe" ]; then
|
|
echo "onscripter"
|
|
exit 0
|
|
fi
|
|
|
|
# Unity WebGL: estructura típica
|
|
if [ -d "$PROJECT/Build" ] && [ -d "$PROJECT/TemplateData" ] && [ -f "$PROJECT/index.html" ]; then
|
|
echo "unity"
|
|
exit 0
|
|
fi
|
|
|
|
# Web genérico: solo necesita index.html
|
|
if [ -f "$PROJECT/index.html" ]; then
|
|
echo "web"
|
|
exit 0
|
|
fi
|
|
|
|
echo "unknown"
|
|
exit 1
|