nxengine refactoring
Clone or download
chaoskagami and isage Strafing support like Switch CS+
A bit of a feature copy - Cave Story+ on the Nintendo Switch has a "feature"
where by holding either ZL or ZR Quote will not change direction while moving,
allowing one to backstep while firing the weapon at an enemy or lock vertical
trajectory to one side with the fireball.

This adds a new key (KEYSTRAFE) and makes it so Quote's direction/look
is not changed when it is held. It also adds a setting to make this
added feature toggleable, since strafing makes some parts far easier.

Unfortunately, this breaks the settings file since a new key was added
as well as saved option for the toggle. The version was incremented
(NSX3 -> NSX4) to avoid problems.
Latest commit 2c2c0e2 Oct 20, 2018



This is a somewhat upgraded/refactored version of nxengine

Build Status Build status


Differences from original nxengine:

  • Port to SDL2 ( thanks to https://github.com/PIlin/NXEngine-iOS )
  • More resolutions and widescreen support up to FullHD (thanks to https://github.com/EXL/NXEngine )
  • Fullscreen for any resolution
  • Gamepad with force-feedback support.
  • Localization support.
  • Mimiga mask ending pictures (re-drawn by me)
  • Modern main menu
  • Support for "New" and "Remastered" tracks from CS+
  • Header-dependency hell cleaned up. No more autogenerated headers
  • Cleaned up nx.h
  • Lists/maps from haiku replaced with std::vector/map
  • smalfont -> smallfont
  • removed built-in data extractor
  • removed replays, as they were buggy/not implemented anyway
  • fixed tons of warnings and undefined behaviour



  • For source builds see Running on wiki.
  • or just use prepackaged releases (OSX builds are done on 10.10, so that's a minimum requirement, windows builds require MSVC2015 runtime

Look in TODO.md for upcoming features

May (and most definitely) contain bugs.