Zum Inhalt springen

Unterstützte Engines

Sakura führt Spiele unter der Haube auf zwei separaten Engine-Frameworks aus: einer klassischen Engine (NScripter/ONScripter) und ONScripter-RU, einem GPU-beschleunigten Fork, der von neueren, anspruchsvolleren Titeln wie Umineko no Naku Koro ni verwendet wird.

EngineAngezeigt alsAbzeichenVerwendet für
NScripter / ONScripter (Shift-JIS)ONScripterNScrKlassische, japanisch kodierte Spiele
NScripter / ONScripter (UTF-8)ONScripterNScrUTF-8-Fanübersetzungen und Repacks
ONScripter-RUONScripter-RURUGPU-Ära-Spiele wie Umineko

Die beiden klassischen Varianten unterscheiden sich nur in der Kodierung, nicht in der Engine — beide erscheinen in deiner Bibliothek als „ONScripter”, wobei die Kodierung (Shift-JIS oder UTF-8) separat in den Details-Chips des Spiels angezeigt wird.

Wenn du ein Spiel importierst, durchsucht Sakura dessen Dateien, um herauszufinden, welche Engine benötigt wird — du musst nie manuell wählen, es sei denn, du möchtest es. Die Erkennung funktioniert in dieser Reihenfolge:

  1. script.file vorhanden → ONScripter-RU. Dies ist der gepackte Skriptname, den ONScripter-RU verwendet; die klassische Engine erzeugt niemals eine Datei mit diesem Namen, daher ist dies allein schon ein zuverlässiges Signal.

  2. Ein fonts/-Ordner plus eine 0.txt → ONScripter-RU. Manche repackten RU-Spiele liefern eine einfache 0.txt mit, aber der obligatorische fonts/-Unterordner daneben ist das Erkennungsmerkmal — klassische Spiele bündeln nie einen solchen.

  3. Lose Boot-Skripte → klassisches ONScripter:

    • 0.txt / 00.txt → Shift-JIS
    • 0.utf / 0.utf.txt / 00.utf / 00.utf.txt → UTF-8
    • nscr_sec.dat / nscript.___ / nscript.dat → Shift-JIS
    • pscript.dat → UTF-8

    (Wenn ein Spiel irgendwie sowohl einen Shift-JIS- als auch einen UTF-8-Marker mitbringt, gewinnt Shift-JIS.)

  4. Reine Archiv-Importe — wenn der Ordner nur ein gepacktes Archiv (arc*.nsa, *.ns2, *.sar) ohne loses Boot-Skript enthält, wird es trotzdem als klassisches ONScripter markiert, damit es ein passendes Bibliotheksabzeichen erhält.

  5. Andernfalls wird das Spiel als unbekannt markiert.

Über den Einstellungen → Engine-Wähler jedes Spiels kannst du Auto / ONScripter / ONScripter-RU erzwingen, statt dich auf die Erkennung zu verlassen. Dies ist eine intrinsische, spielspezifische Einstellung — sie wird vom Umschalter „Globale Einstellungen verwenden” nicht beeinflusst und wirkt sich beim nächsten Start dieses Spiels aus.

Die klassische Engine und ONScripter-RU sind nicht funktionsgleich. RU ist ein neuerer, GPU-basierter Fork, der sich darauf konzentriert, anspruchsvolle Spiele zum Laufen zu bringen, und verfügt schlicht nicht über Anschlüsse für mehrere der Zusatzfunktionen der klassischen Engine.

Klassisches ONScripter (NScripter/ONScripter, Shift-JIS oder UTF-8)

Abschnitt betitelt „Klassisches ONScripter (NScripter/ONScripter, Shift-JIS oder UTF-8)“
  • Renderskalierung, Hochskalierungsfilter (Weich/xBRZ/Scharf) und kontrastadaptive Schärfung (CAS), anpassbar pro Spiel oder live im Spiel-Overlay
  • Rückblick/Zurückspulen mit anpassbarer Rückblick-Tiefe
  • Ungelesenen Text überspringen
  • Laufzeit-Schriftwechsel (Schriften des Spielordners, die mitgelieferten Schriften von Sakura oder deine importierte Schriftbibliothek)
  • Automatische Übersetzung (Apples On-Device-Translation, iOS 18+) — Details siehe Übersetzung
  • Automatische Erkennung von Textsprache/Menüsprache
  • Automodus-Timing und Audiopuffergröße (gemeinsam mit klassisch)
  • Spiel-ID- und NSA-Offset-Überschreibungen (gemeinsam mit klassisch)
  • Keine Anzeigefilter (Renderskalierung/Hochskalierung/CAS), kein Rückblick, kein Umschalter für ungelesenen Text, kein Laufzeit-Schriftwechsel und keine Übersetzung — RU hat für keine dieser Funktionen Steuerungsanschlüsse, daher blendet Sakura diese Einstellungen für RU-Spiele vollständig aus, statt Steuerelemente anzuzeigen, die ohnehin nichts bewirken würden. Der spielspezifische Einstellungsbildschirm zeigt einen kurzen Hinweis „Engine-Grenzen”, der dies erklärt.
  • Das In-Game-Overlay spiegelt dieselben Einschränkungen wider: Das Schnellmenü von RU zeigt nur Steuerelemente zum Überspringen und automatischen Fortschreiten (kein Zurückspulen), und das vollständige Overlay-Menü deaktiviert „Auf Titel zurücksetzen” sowie den Shortcut zum engine-internen Menü, da RU auch diese nicht bereitstellt.

Beide Engine-Frameworks sind eigenständige native Bibliotheken, die jeweils ihre eigene Kopie von SDL2 einbinden. Beide gleichzeitig in derselben laufenden App zu laden, ist nicht sicher, daher erlaubt Sakura nur eine Engine-Familie pro App-Sitzung: Sobald du entweder ein klassisches Spiel oder ein ONScripter-RU-Spiel gestartet hast, muss jedes weitere Spiel, das du in dieser Sitzung startest, dieselbe Familie verwenden. ONScripter-RU ist zusätzlich auf einen Lauf pro Sitzung beschränkt, da sein sauberer Beendigungspfad neuer ist als der der klassischen Engine.

Wenn du versuchst, ein Spiel zu starten, das eine andere Engine-Familie benötigt als die bereits verwendete, zeigt Sakura einen Neustart erforderlich-Hinweis an, statt es zu starten:

„Dieses Spiel läuft auf einer anderen Engine als der in dieser Sitzung bereits verwendeten. Schließe die App und öffne sie erneut, und starte dieses Spiel dann zuerst.”

Mit App schließen beendest du Sakura, sodass du es neu starten und mit dem anderen Spiel beginnen kannst. Wenn du zwischen einem klassischen Spiel und einem RU-Spiel wie Umineko wechselst, musst du damit rechnen, die App dazwischen neu starten zu müssen.