There's an idea that's been floating around my mind for quite some time now:
split npc/weapons into some scriptable language, probably lua, and turn some binary formats, like sprites.sif into something human readable. And maybe even map support/converter for Tiled.
That would definitely make modders life easier.
But here's the thing: all that would just turn nxengine into some generic platformer engine. And there's far more better tools for that: godot, love, gamemaker, unity (ugh).
And while i would definitely love to see some of the mods ported to nxengine, i'm not sure all that worth the work. It probably even easier to just port all game logic to love or whatever and ditch nxengine completely.
As for messing with source code of nxengine - well, you should be brave enough. Caitlin did a great work writing it, but damn, it's still a hackish hybrid of old-school C and C++
Yes, but it would add support for some mods. I was referring to mods that change things like health, weapon damage, entity stats, where the stages are, etc.Mods are not just variables, you know. They frequently reuse existing logic in other places or even use completely new logic (like new TSC commands). That's impossible to support.
No it wouldn't, it would just make it harder because it would have to turn it back into executable form to run it and how would that work anyways? There is no need to decompile anything or is it possible to have mods with logic code in them run on NX without emulating x86 instructions which at that point you might as well just use wine.It could also be simple if you can decompile the files
yethis needs some h4ckz0rs sk1llz
Well, would you consider decompiling to NASM, FASM or GAS from binary decompiling because those are some very different languages (one makes sense and one makes you want to kys). In most cases decompiling means the exact same thing as dissasembling. If I wanted to, I could decompile to C-- or Pascal, languages which CS was not written in and are very different. The issue is that Pixel removed debugging symbols from Cave Story which makes decompiling produce functions with no names. I believe that it would be useful if someone was to map out the executable completely though and create a version of the executable with debugging symbols. That I believe would make modding and studying the source/assembly much easier. Even just having some ASM macros would help using EQU.It's disassembling, not decompiling. Decompiling means turning the x86 code back into C/C++. Though the funny thing is, I'm currently using the Hexrays decompiler to decompile the source. (Actually if there was some need to help with adapting CS code to the NX-Engine, I could help idk)
Nah, 1) i know how to use IDA, 2) adapting code is illegal (looking how it works and reproducing from scratch isn't) 3) even disassembling/decompiling CS+ is illegal in most countries (luckily not in mine), not sure about original.Actually if there was some need to help with adapting CS code to the NX-Engine, I could help idk
The issue is that Pixel removed debugging symbols from Cave Story which makes decompiling produce functions with no names. I believe that it would be useful if someone was to map out the executable completely though and create a version of the executable with debugging symbols. That I believe would make modding and studying the source/assembly much easier. Even just having some ASM macros would help using EQU.
In the United States it is legal as long as the licence agreement says that its okay. Then again, iTunes requires you to sign away your rights to an attorney in court and your first born child, ok maybe not but its darn close.Nah, 1) i know how to use IDA, 2) adapting code is illegal (looking how it works and reproducing from scratch isn't) 3) even disassembling/decompiling CS+ is illegal in most countries (luckily not in mine), not sure about original.
Seeing how little NICALiS changes, they probably just copy pasted the variables from CaveStory into CaveStory+ but maybe not.Some of first linux builds of CS+ contain debug symbols. So if anyone have time to compare functions from original and CS+ - it's totally doable.
3) even disassembling/decompiling CS+ is illegal in most countries (luckily not in mine), not sure about original.
They shouldn't be able to. Because Pixel made CaveStory freeware and never stated that showing the decompiled code is not allowed you should be fine. Think of it this way, disassembly is just a pretty way of displaying machine code and C is just a pretty way of showing assembly (it's much more complicated but I digress).Does that mean I'm gonna get sued by NICALIS for this : https://raw.githubusercontent.com/GabrielRavier/Cave-Story-Disassembly/master/IDA output/Doukutsu.c
Also, when people say decompiling, it's usually supposed to mean converting to a non-assembly language.Well, would you consider decompiling to NASM, FASM or GAS from binary decompiling because those are some very different languages (one makes sense and one makes you want to kys). In most cases decompiling means the exact same thing as dissasembling. If I wanted to, I could decompile to C-- or Pascal, languages which CS was not written in and are very different. The issue is that Pixel removed debugging symbols from Cave Story which makes decompiling produce functions with no names. I believe that it would be useful if someone was to map out the executable completely though and create a version of the executable with debugging symbols. That I believe would make modding and studying the source/assembly much easier. Even just having some ASM macros would help using EQU.
Don't obsess over semantics.Also, when people say decompiling, it's usually supposed to mean converting to a non-assembly language.
Nicalis only rewrote renderer/sound engine/main menu. All game logic is straight copy-paste from original, afaik.Seeing how little NICALiS changes, they probably just copy pasted the variables from CaveStory into CaveStory+ but maybe not.
That depends on how much rights Pixel actually signed off to Nicalis (which we'll never know).They shouldn't be able to. Because Pixel made CaveStory freeware and never stated that showing the decompiled code is not allowed you should be fine.