Moteurs pris en charge
Sakura exécute les jeux via deux frameworks moteur distincts en coulisses : un moteur classique (NScripter/ONScripter) et ONScripter-RU, un fork accéléré par GPU utilisé par des titres plus récents et plus exigeants comme Umineko no Naku Koro ni.
Matrice des moteurs
Section intitulée « Matrice des moteurs »| Moteur | Affiché comme | Badge | Utilisé pour |
|---|---|---|---|
| NScripter / ONScripter (Shift-JIS) | ONScripter | NScr | Jeux classiques encodés en japonais |
| NScripter / ONScripter (UTF-8) | ONScripter | NScr | Traductions fan et repacks UTF-8 |
| ONScripter-RU | ONScripter-RU | RU | Jeux de l’ère GPU comme Umineko |
Les deux variantes classiques sont une différence d’encodage, pas un moteur différent — les deux apparaissent dans votre bibliothèque comme « ONScripter », l’encodage (Shift-JIS ou UTF-8) étant affiché séparément dans les puces de détails du jeu.
Détection automatique
Section intitulée « Détection automatique »Lorsque vous importez un jeu, Sakura analyse ses fichiers pour déterminer de quel moteur il a besoin — vous n’avez jamais à choisir manuellement, sauf si vous le souhaitez. La détection fonctionne ainsi, dans l’ordre :
Présence de
script.file→ ONScripter-RU. C’est le nom de script empaqueté utilisé par ONScripter-RU ; le moteur classique ne produit jamais de fichier portant ce nom, c’est donc un signal fiable à lui seul.Un dossier
fonts/accompagné d’un0.txt→ ONScripter-RU. Certains repacks RU embarquent un simple0.txt, mais le sous-dossierfonts/obligatoire qui l’accompagne est le signe distinctif — les jeux classiques n’en embarquent jamais.Scripts de démarrage isolés → ONScripter classique :
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 jeu embarque à la fois un marqueur Shift-JIS et un marqueur UTF-8, c’est Shift-JIS qui l’emporte.)
Importations d’archive seule — si le dossier ne contient qu’une archive empaquetée (
arc*.nsa,*.ns2,*.sar) sans script de démarrage isolé, il est quand même étiqueté ONScripter classique afin de recevoir un badge de bibliothèque correct.Sinon, le jeu est marqué comme inconnu.
Forçage manuel
Section intitulée « Forçage manuel »Le sélecteur Réglages → Moteur de chaque jeu vous permet de forcer Auto / ONScripter / ONScripter-RU plutôt que de vous fier à la détection. C’est un réglage intrinsèque, propre à chaque jeu — il n’est pas affecté par le bouton « Utiliser les réglages globaux », et prend effet au prochain lancement de ce jeu.
Ce que prend en charge chaque moteur
Section intitulée « Ce que prend en charge chaque moteur »Le moteur classique et ONScripter-RU n’offrent pas les mêmes fonctionnalités. RU est un fork plus récent, basé sur le GPU, axé sur la bonne exécution des jeux exigeants, et il ne dispose tout simplement pas de points d’ancrage pour plusieurs des extras du moteur classique.
ONScripter classique (NScripter/ONScripter, Shift-JIS ou UTF-8)
Section intitulée « ONScripter classique (NScripter/ONScripter, Shift-JIS ou UTF-8) »- Échelle de rendu, filtre de mise à l’échelle (Lisse/xBRZ/Net) et accentuation adaptative au contraste (CAS), ajustables par jeu ou en direct dans la superposition de jeu
- Retour arrière / rembobinage, avec une profondeur de retour arrière ajustable
- Passer le texte non lu
- Changement de police en temps réel (polices du dossier du jeu, polices intégrées de Sakura, ou votre bibliothèque de polices importées)
- Traduction automatique (Translation d’Apple sur l’appareil, iOS 18+) — voir Traduction pour plus de détails
- Détection automatique de la langue du texte / langue des menus
ONScripter-RU
Section intitulée « ONScripter-RU »- Minutage du mode auto et taille de la mémoire tampon audio (partagés avec le classique)
- Substitutions d’ID du jeu et de décalage NSA (partagées avec le classique)
- Aucun filtre d’affichage (échelle de rendu/mise à l’échelle/CAS), aucun retour arrière, aucun bouton passer-le-texte-non-lu, aucun changement de police en temps réel, et aucune traduction — RU n’a de points d’ancrage pour aucun de ces éléments, donc Sakura masque entièrement ces réglages pour les jeux RU plutôt que d’afficher des contrôles qui n’auraient aucun effet. L’écran Réglages propre à chaque jeu affiche un court avis « Limites du moteur » expliquant cela.
- La superposition en jeu reflète les mêmes limites : le menu rapide de RU n’affiche que les contrôles de passage et d’avancement automatique (pas de rembobinage), et le menu de superposition complet désactive « Revenir à l’écran-titre » et le raccourci vers le menu du moteur, puisque RU ne les expose pas non plus.
La règle d’une seule famille de moteur par session
Section intitulée « La règle d’une seule famille de moteur par session »Les deux frameworks moteur sont des bibliothèques natives autonomes qui lient chacune leur propre copie de SDL2. Charger les deux à la fois dans la même app en cours d’exécution n’est pas sûr, donc Sakura n’autorise qu’une seule famille de moteur par session d’app : une fois que vous avez lancé un jeu classique ou un jeu ONScripter-RU, tout autre jeu lancé pendant cette session doit utiliser la même famille. ONScripter-RU est en outre limité à une seule exécution par session, car son chemin d’arrêt propre est plus récent que celui du moteur classique.
Si vous essayez de lancer un jeu nécessitant une famille de moteur différente de celle déjà utilisée, Sakura affiche une alerte Redémarrage nécessaire plutôt que de le lancer :
« Ce jeu utilise un moteur différent de celui déjà utilisé pendant cette session. Fermez puis rouvrez l’app, puis lancez ce jeu en premier. »
Choisir Fermer l’app quitte Sakura afin que vous puissiez la relancer et recommencer avec l’autre jeu. Si vous alternez entre un jeu classique et un jeu RU comme Umineko, attendez-vous à devoir redémarrer l’app entre les deux.