ONScripter-NX Switch

From GameBrew
ONScripter-NX
Onscripternx.png
General
Authorclamintus
TypeGame Engine
Version0.3
LicenseGPL-2.0
Last Updated2022/09/20
Links
Download
Website
Source

ONScripter (O-N-Scripter) is a visual novel engine that interprets and executes scripts written for NScripter in its own way.

This is a port of onscripter-20060724-insani-sdl2, a legacy version in order to support older NScripter-based games that would break on newer versions of ONScripter or ONScripter-EN.

Features

  • 4:3 aspect ratio simulation.
  • Touchscreen support.
  • RomFS integration.
  • Optimized flush implementation.

Installation

How to install

  • Extract onscripter-nx.zip (or a game-specific zip from the releases) to the root of your SD card.
  • Go to the folder where onscripter-nx.nro is located (switch followed by onscripter-nx or game-specific folder name).
  • Copy the game files in that folder:
    • arc*.nsa / arc*.sar
    • nscript.dat / nscript.___
      • You don't need this if you are using a game-specific version of ONScripter-NX.
    • Soundtracks (CD folder, ...)
    • default.ttf font.
      • You don't need this if you are using a game-specific version of ONScripter-NX.
  • Launch ONScripter-NX from hbmenu with full ram access/title override.

Notes

  • Although launching from the album applet seems to work, it is strongly advised to launch it by holding R on an installed game to avoid potential memory problems since that's the normal environment where Switch homebrews are designed to run.
  • Game-specific zips are just convenience builds. They already come with some of the necessary files included, so you just need to copy the arc*.nsa / arc*.sar files from an original copy of the game.

User guide

Tested games

  • Tsukihime
  • Kagetsu Tohya

Any game that uses legacy ONScripter should run just fine.

HD support remarks

Starting from v0.3, ONScripter-NX supports HD resolution.

In HD mode, the engine can take advantage of Switch's higher screen resolution to render text and other internal graphics at higher quality, making for a noticeable improvement, even if the visual novel being played itself was not made for HD screens (see the picture below for reference).

Game assets, however, won't get any quality improvement, and they will only be rescaled in order to fit the screen.

Note that HD rescaling may occasionally cause minor graphical glitches (due to the fact that the upscale ratios don't always match the exact desired resolution). It will also overload the Switch's CPU a bit, causing slightly delayed input, in addition to some slowdown in moments where high CPU use is demanded (for example when skipping text).

If your visual novel was made for absurdly low screen resolutions, causing its graphics to get too blurry when rescaled, or if you are unhappy with the game's performances (or even if you just want to have the original feel to the game, just like me :P) you can always go with the normal, non-HD-enabled executable of the engine. Both versions are provided in the Releases section of this GitHub project.

Controls

Joy-Con:

A - Enter (or text advance)

B - Go back (or text advance)

X - Right-click Menu

Y - Toggle "Draw full page at once" mode

D-Pad Up or L - Scroll up text history

D-Pad Down or R - Scroll down text history

Left Stick - Change text velocity (slow/normal/fast)

Hold ZL/ZR - Skip text

Plus - Exit to homebrew menu

Joystick:

Joystick Up/Left - Previous Element

Joystick Down/Right - Next Element

Touch input is also supported.

Screenshots

onscripternx2.png

Changelog

v0.3 2022/09/19

  • HD support - yes! Play your old novel like you had never been able to! More info about it in the README page (seriously, read it).
  • A new command has been added to adjust text display speed.
    • By pressing the Left Stick, you can switch between the three available text display speeds (slow~normal~fast).
    • ONScripter-NX will also memorize your selected text speed for that game.
  • Menu navigation is now a lot easier thanks to repeated input support.
    • Now you can hold the stick to scroll menu entries faster.
    • This also works when navigating text history using D-Up and D-Down, and basically in every other directional input use case too.
  • Now the app deinitializes RomFS properly at shutdown.
    • A proper deinit function has been created. It will be called at app's shutdown, and will be eventually populated with more deinitializing code, if needed in the future. For now it just contains the RomFS deinit call...

v0.2 2022/01/24

  • Fixed a crash due to trying to load unexistent font file when no arc-files were found.

v0.1 2022/01/22

  • Follow the instructions on README.md to know how to install ONScripter-NX.
  • Game-specific zips are just convenience builds.
  • They already come with some of the necessary files included, so you just need to copy the arc*.nsa/arc*.sar files from an original copy of the game.

Credits

  • SDL2 Port by clamintus.
  • Switch Port by clamintus.
  • Studio O.G.A. Ogapee - original ONScripter and ONScripter Logo.
  • insani - modified version of ONScripter.
  • Tomi - SDL2_ttf patch.
  • And a huge thanks to SciresM for helping me out, and for his awesome work on Atmosphére's GDB stub.

External links

Advertising: