Homebrew RELEASE NXEngine (Cave Story / Doukutsu Monogatari reimplementation)

  • Thread starter Thread starter carstene1ns
  • Start date Start date
  • Views Views 14,354
  • Replies Replies 25
  • Likes Likes 19

carstene1ns

Well-Known Member
Newcomer
Joined
Apr 1, 2018
Messages
81
Reaction score
241
Trophies
0
Website
f4ke.de
XP
729
Country
Germany
Cave Story / Doukutsu Monogatari is a Japanese freeware PC side-scrolling platformer game from 2004.

This is a reimplementation of the original freeware game engine, using its data files.
It has nothing to do with Cave Story+ (published by Nicalis and being an actual, official Switch game).
You can find more information about Cave Story on the fan site.

Gameplay Video:


Installation

Copy the executable from the zip archive to your "sdmc:/switch" folder, best is to use a "nxengine-evo" subdirectory, as it will save settings and savegames there.

Default Controls:

Hat - Movement
A - Fire
B - Jump
X - Map
Y - Enter
L/R - Change Weapons
Minus - Pause/Menu
Plus - Inventory
The engine lets you reconfigure the buttons used.

Source Code at GitHub.
Download: See attachment and also available on my website.

Changelog:
alpha - first release
beta - shipping data files inside romfs, resolved a crash when exiting
beta-rebuild - testing on 4.x/5.x needed
 

Attachments

Last edited by carstene1ns,
Impressive work! Cool to see some new Switch homebrew. And even with the official release being a thing, this'd allow modded versions of the game to run too.
 
Not sure if anyone's posted (and it should come as no surprise), but this crashes the switch instantly on 5.0.X
 
I cannot debug anything related to higher firmwares, but maybe this will be fixed in libnx later...

Jenka's nightmare is not possible, as it changed the original game engine (not supported in NXEngine).
 
Not sure what this game is, but I appreciate the porting work you're doing and look forward to the next one. :yay:
 
That German translation is pretty bad, nxengine runs really well though.

You are right, in the video i just wanted to demonstrate it is able to save the settings... :D
There are actually two translations to german on the fansite, but no idea if the other one is better.
I do not really intend to use it, but patches may be sent here.

Scrolling is slow unfortunately (joys of software rendering), when disabling the widescreen mode (i.e. setting to 320x240) this can be avoided, however, you get black bars of course.
 
There's an issue with the game being unplayable in docked mode as the joy cons are set to 2 players once you remove them from the tablet.
Until CFW is released there's no way to make the joysticks work.
 
There's an issue with the game being unplayable in docked mode as the joy cons are set to 2 players once you remove them from the tablet.
Until CFW is released there's no way to make the joysticks work.

I was going to point this out as well (I prefer playing in tabletop mode). But I do think it's related to configuration? I'm able to play games in the pfba emulator with the joycons detached.
 
Yeah, unfortunately that is a problem in the current SDL2 code. Controller configuration is set on app start (single mode) and the internal state is not changed afterwards. I can set dual mode manually, but this is not optimal.
@cpasjuste has a patch to disable that behavior, however we need to set the correct mode ourselves then and keep an eye on what the user does. Currently it may just crash when you undock the controllers while the app is running, because ids change then.
I think we may need to add some custom function to SDL2 and use it to change the controller mode to be able to react on this, but this needs to be done carefully as we need to support these hacks afterwards.
 
  • Like
Reactions: konamicode89
Yeah, unfortunately that is a problem in the current SDL2 code. Controller configuration is set on app start (single mode) and the internal state is not changed afterwards. I can set dual mode manually, but this is not optimal.
@cpasjuste has a patch to disable that behavior, however we need to set the correct mode ourselves then and keep an eye on what the user does. Currently it may just crash when you undock the controllers while the app is running, because ids change then.
I think we may need to add some custom function to SDL2 and use it to change the controller mode to be able to react on this, but this needs to be done carefully as we need to support these hacks afterwards.

Wouldn't it be best to wait for the release of CFW then? Its not just the undocking of the joy cons but the joysticks arent functional either in both cave story and retroarch emulators. Im happy enough that we have a working port no matter how slow or what it lacks, I understand theres not much that can be done until we have better resources(CFW)
 
Thing is, CFW will not magically bring these improvements. Someone still needs to write code to handle these things.
For homebrew developers CFW means more users can use their stuff and it is easier to setup and run code (for testing).
 
There's an issue with the game being unplayable in docked mode as the joy cons are set to 2 players once you remove them from the tablet.
Until CFW is released there's no way to make the joysticks work.
What about the Pro controller? I've seen in this topic and others people saying the joycons don't work undocked, but does the Pro controller work fine? Cuz that's what I always use.
 

Site & Scene News

Popular threads in this forum