Motores compatibles
Sakura ejecuta los juegos sobre dos frameworks de motor independientes: un motor clásico (NScripter/ONScripter) y ONScripter-RU, un fork acelerado por GPU que se usa para títulos más nuevos y exigentes como Umineko no Naku Koro ni.
Matriz de motores
Sección titulada «Matriz de motores»| Motor | Se muestra como | Insignia | Se usa para |
|---|---|---|---|
| NScripter / ONScripter (Shift-JIS) | ONScripter | NScr | Juegos clásicos codificados en japonés |
| NScripter / ONScripter (UTF-8) | ONScripter | NScr | Traducciones de fans y repacks en UTF-8 |
| ONScripter-RU | ONScripter-RU | RU | Juegos de la era GPU como Umineko |
Las dos variantes clásicas son una diferencia de codificación, no un motor distinto: ambas aparecen en tu biblioteca como «ONScripter», y la codificación (Shift-JIS o UTF-8) se muestra por separado en las etiquetas de Detalles del juego.
Detección automática
Sección titulada «Detección automática»Cuando importas un juego, Sakura examina sus archivos para averiguar qué motor necesita — nunca tienes que elegirlo manualmente a menos que quieras. La detección funciona así, en orden:
Presencia de
script.file→ ONScripter-RU. Este es el nombre del script empaquetado que usa ONScripter-RU; el motor clásico nunca genera un archivo con este nombre, así que es una señal fiable por sí sola.Una carpeta
fonts/junto con un0.txt→ ONScripter-RU. Algunos juegos RU reempaquetados incluyen un0.txtsencillo, pero la subcarpeta obligatoriafonts/que lo acompaña es la pista definitiva — los juegos clásicos nunca incluyen una.Scripts de arranque sueltos → ONScripter clásico:
0.txt/00.txt→ Shift-JIS0.utf/0.utf.txt/00.utf/00.utf.txt→ UTF-8nscr_sec.dat/nscript.___/nscript.dat→ Shift-JISpscript.dat→ UTF-8
(Si un juego incluye por algún motivo tanto un marcador Shift-JIS como uno UTF-8, gana Shift-JIS.)
Importaciones solo de archivo comprimido — si la carpeta solo contiene un archivo empaquetado (
arc*.nsa,*.ns2,*.sar) sin ningún script de arranque suelto, aun así se etiqueta como ONScripter clásico para que tenga una insignia de biblioteca adecuada.En caso contrario, el juego se marca como desconocido.
Anulación manual
Sección titulada «Anulación manual»El selector Ajustes → Motor de cada juego te permite forzar Automático / ONScripter / ONScripter-RU en lugar de depender de la detección. Es un ajuste intrínseco por juego — no se ve afectado por el interruptor «Usar ajustes globales» — y surte efecto la próxima vez que inicies ese juego.
Qué admite cada motor
Sección titulada «Qué admite cada motor»El motor clásico y ONScripter-RU no tienen las mismas funciones. RU es un fork más nuevo basado en GPU, centrado en hacer funcionar bien los juegos exigentes, y sencillamente no tiene enganches para varios de los extras del motor clásico.
ONScripter clásico (NScripter/ONScripter, Shift-JIS o UTF-8)
Sección titulada «ONScripter clásico (NScripter/ONScripter, Shift-JIS o UTF-8)»- Escala de renderizado, filtro de escalado (Suave/xBRZ/Nítido) y enfoque adaptativo al contraste (CAS), ajustables por juego o en vivo desde la superposición del juego
- Retroceso / rebobinado, con una profundidad de retroceso ajustable
- Omitir texto no leído
- Cambio de fuente en tiempo real (fuentes de la carpeta del juego, fuentes integradas de Sakura o tu biblioteca de fuentes importadas)
- Traducción automática (Translation de Apple en el dispositivo, iOS 18+) — consulta Traducción para más detalles
- Detección automática de idioma del texto / idioma de menú
ONScripter-RU
Sección titulada «ONScripter-RU»- Tiempo del modo automático y tamaño del búfer de audio (compartido con el clásico)
- Anulaciones de ID del juego y desplazamiento NSA (compartido con el clásico)
- No tiene filtros de pantalla (escala de renderizado/escalado/CAS), no tiene retroceso, no tiene interruptor de omitir no leído, no tiene cambio de fuente en tiempo real y no tiene traducción — RU no tiene enganches de control para nada de esto, así que Sakura oculta esos ajustes por completo para los juegos RU en lugar de mostrar controles que no harían nada. La pantalla de Ajustes por juego muestra un breve aviso de «Límites del motor» que lo explica.
- La superposición en el juego refleja las mismas limitaciones: el menú rápido de RU solo muestra controles de omitir y avance automático (sin rebobinado), y el menú de superposición completo desactiva «Reiniciar al título» y el atajo del menú interno del motor, ya que RU tampoco expone esas opciones.
La regla de una familia de motor por sesión
Sección titulada «La regla de una familia de motor por sesión»Ambos frameworks de motor son bibliotecas nativas autocontenidas que enlazan su propia copia de SDL2. Cargar ambos a la vez en la misma app en ejecución no es seguro, así que Sakura solo permite una familia de motor por sesión de la app: una vez que has iniciado un juego clásico o un juego de ONScripter-RU, cualquier otro juego que inicies en esa sesión debe usar la misma familia. ONScripter-RU además está limitado a una ejecución por sesión, ya que su ruta de cierre limpio es más reciente que la del motor clásico.
Si intentas iniciar un juego que necesita una familia de motor distinta a la que ya está en uso, Sakura muestra una alerta de Reinicio necesario en lugar de iniciarlo:
«Este juego se ejecuta en un motor distinto al ya usado en esta sesión. Cierra y vuelve a abrir la app, y luego inicia este juego primero.»
Elegir Cerrar app cierra Sakura para que puedas volver a abrirla y empezar con el otro juego. Si vas a alternar entre un juego clásico y un juego RU como Umineko, prepárate para reiniciar la app entre ambos.