A port of onscripter-20060724-insani-sdl2 to the Switch

Nintendo Switch Port of ONScripter

A port of onscripter-20060724-insani-sdl2 to the Switch.

I specifically made this to support running older NScripter-based games that would break on ONScripter-EN.

Features

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

Tested games

  • Tsukihime
  • Kagetsu Tohya

I'm planning on testing other visual novels too.

Any game that uses legacy ONScripter should run just fine though. If not, please open an issue! :)

How to Play

  • Put onscripter-nx.nro in an empty folder
  • Copy the game files in the new folder:
    • arc*.nsa / arc*.sar
    • nscript.dat
    • Soundtracks (CD folder, ...)
    • default.ttf font
  • Launch ONScripter-NX from hbmenu
    • Note: Launching from the album applet seems to work, but 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.
  • Enjoy!

Controls

  • A : Enter (or proceed in text mode)
  • B : Back (or proceed in text mode)
  • X : Right-click Menu
  • Y : Draw full page at once
  • Joystick UP / Joystick LEFT : Previous element
  • Joystick DOWN / Joystick RIGHT : Next element
  • D-Pad UP / L : Scroll up text history
  • D-Pad DOWN / R : Scroll down text history
  • ZL / ZR (held) : Skip mode
  • Plus : Exit to homebrew menu

Building instructions

  • You need devkitPro in order to build ONScripter-NX and its external libraries.
  • Open the shell (devkitPro MSYS if on Windows)
  • Install the dependencies packages
    • SDL2: pacman -S switch-sdl2 switch-sdl2_image switch-sdl2_mixer switch-sdl2_ttf
    • SMPEG2: pacman -S switch-smpeg2
  • IMPORTANT! At the time of writing this, the switch-sdl2_ttf package available through devkitPro pacman is broken and causes the app to not display text properly. If it happens to you, please see the following section for building the external libraries, where I've provided a patch for switch-sdl2_ttf.
  • If you want to integrate all your game files in one executable, put them in the romfs folder
  • In your open shell, cd to the folder of this repository
  • Run make

Building external libraries

  • Open the shell (devkitPro MSYS if on Windows)
  • Install the dependencies packages
    • pkg-config: pacman -S switch-pkg-config
    • devkitPro helper scripts: pacman -S dkp-toolchain-vars
  • In your open shell, cd to the folder of this repository
  • Run make -f Makefile.extlibs

Credits

And a huge thanks to SciresM for helping me out, and for his awesome work on Atmosphére's GDB stub <3

License

See COPYING

Similar Resources

a minimal C++, SDL2, OpenGL abstraction for general game and application development

hept the hept abstraction is a minimal lightweight layer above C++ and SDL dependencies: - SDL2 - C++17 or above - GLM example use: #include "hept.h"

Sep 18, 2022

Minimal tool for measuring cost of mode switch

CPU mode switch statistics The mode-switch-stat tool measures the cost of CPU mode switch, the round trip between user and kernel mode. At present, th

Feb 22, 2022

STM32 firmware for a physical switch to set the GRUB boot selection

STM32 firmware for a physical switch to set the GRUB boot selection

Jan 4, 2023

A Nintendo Switch homebrew for importing and exporting Miis.

A Nintendo Switch homebrew for importing and exporting Miis.

MiiPort A Nintendo Switch homebrew for importing and exporting Miis. Installation Download a release and then place the .nro file at sd:/switch/MiiPor

Aug 23, 2022

Home automation light switch controller

Home automation light switch controller

Home Automation Light Switch Controller Copyright 2019-2021 SuperHouse Automation Pty Ltd www.superhouse.tv A modular Light Switch Controller for DIY

Mar 27, 2022

An improved sketch to cater for switch bounce, courtesy of Marko Pinteric

An improved sketch to cater for switch bounce, courtesy of Marko Pinteric

226 Better Rotary Encoder - no switch-bounce An improved sketch to cater for switch bounce, courtesy of Marko Pinteric (https://www.pinteric.com/mped.

Nov 19, 2022

To turn on and off the pump, most people use a manual switch.

To turn on and off the pump, most people use a manual switch.

To turn on and off the pump, most people use a manual switch. As a result, people forget to switch off the pump from time to time, resulting in water overflow. They may forget to switch on the motor at times, resulting in a water problem later on. It also wastes a lot of electricity. To solve this problem, we need a smart device to control the pump.

Aug 20, 2022

In this Program, I am using C language and creating All Patterns Program using Switch case

In this Program, I am using C language and creating All Patterns Program using Switch case

In this Program, I am using C language and creating All Patterns Program using Switch case. It has 15 pattern programs like a pyramid, half pyramid, etc...

Nov 13, 2021

A modern-day Boss Key software tool. Switch instantly from work to play & play to work with Bosky.

Bosky By: Seanpm2001, Bosky-dev Et; Al. Top README.md Read this article in a different language Sorted by: A-Z Sorting options unavailable ( af Afrika

Sep 10, 2022
Moonlight port for Nintendo Switch
Moonlight port for Nintendo Switch

Moonlight-Switch Moonlight-Switch is a port of Moonlight Game Streaming Project for Nintendo Switch. Thanks a lot to Rock88 and his Moonlight-NX, lots

Jan 5, 2023
GameBoy emulator with debugger written in C++ using Win32 and SDL2
GameBoy emulator with debugger written in C++ using Win32 and SDL2

脳(のう)腐(ふ) DMG-01 emulator written in modern C++ using Win32 API and SDL2. It is intended as a hobby project to sharpen my C++ skills. The emulator is

Sep 21, 2022
Soundboard application made with SDL2
Soundboard application made with SDL2

Niilo22SoundBoard Soundboard application made with SDL2 How to run the program: Install dependencies. sudo apt install libsdl2-dev

Oct 4, 2022
CHIP-8 Emulator using C and SDL2
CHIP-8 Emulator using C and SDL2

CHIP-WALO Intro CHIP-8 is an interpreted programming language which was initially used in the late 1970s. It was made to allow more easily programed g

Nov 1, 2022
A tiny evolution simulator, which uses SDL2 and is written in C

evosim Evosim is a small evolution simulator. Evosim uses the SDL2 library for graphics. The program can be compiled by simply running make in the evo

Nov 20, 2021
Chromium Embedded Framework with OpenGL Core or SDL2

Chromium Embedded Framework's cefsimple Off-Screen Rendering I needed to use a modifed version of cefsimple using either SDL or OpenGL Core. I tried t

Nov 8, 2022
📽 A simple X11+SDL2 animated wallpaper setter and video player
📽 A simple X11+SDL2 animated wallpaper setter and video player

anipaper ?? A simple X11+SDL2 animated wallpaper setter and video player Introduction Anipaper (ANImated Wallpaper) is a simple 'wallpaper setter' for

Dec 21, 2022
Multi OS Platform Wallpaper Engine using SDL2

MOWE MOWE is 'Multi OS Wallpaper Engine'. This is Wallpaper Engine for any OS like MacOSX, Windows, Linux. This Project use SDL, WinAPI, X11 API conte

Dec 26, 2021
MTEngineSDL is a SDL2+ImGui engine for macOS, Linux and MS Windows.

Hello and welcome to the MTEngineSDL! This is an application host framework for starting custom apps created using SDL2, ImGui and OpenGL. How to comp

Jan 10, 2022
Cross-platform sandbox RPG game written in C++ with OpenGL and SDL2.
Cross-platform sandbox RPG game written in C++ with OpenGL and SDL2.

Forradia test Forradia is a cross-platform sandbox survival/RPG game written in C++ with OpenGL and SDL2. The engine loads 3D models in Wavefront-form

Nov 9, 2022