Then, create a "Data" folder in that folder, and place whichever files you want your mod to replace in their relative paths within that folder (ie Data\Sprites\Players\Sonic.bin).

To use mods, extract it into the folder Sonic Mania is in, run ManiaModManager.exe, click the "Install Loader" button on the bottom, then check the mods you want to enable and hit "Save" or "Save and Play".

Neato. I see a lot of potential use of this by talented modders, and perhaps more possibilities for the program in future (scripting etc.). May be able to contribute to the loader if needed as I see it's in C#.

Is the modloader under a licence of any kind? I want to adapt it to another (non-Sonic) game, but I can't see a licence file anywhere, so right now I can't (legally).

I hate software licenses. Even if I just want to say "yeah I don't care what you do with any of this", it has to be some kind of legally binding document that gets applied to every project that uses so much as one line of code from my project. None of the tools I write are released under any kind of license. Some of them probably can't be licensed because they use copyrighted code or assets.

Is the modloader under a licence of any kind? I want to adapt it to another (non-Sonic) game, but I can't see a licence file anywhere, so right now I can't (legally).

I hate software licenses. Even if I just want to say "yeah I don't care what you do with any of this", it has to be some kind of legally binding document that gets applied to every project that uses so much as one line of code from my project. None of the tools I write are released under any kind of license. Some of them probably can't be licensed because they use copyrighted code or assets.

You should use the MIT license then, and state in your readmes that it only applies to the things you've made.

I hate software licenses. Even if I just want to say "yeah I don't care what you do with any of this", it has to be some kind of legally binding document that gets applied to every project that uses so much as one line of code from my project. None of the tools I write are released under any kind of license. Some of them probably can't be licensed because they use copyrighted code or assets.

New version of the mod loader, now it supports custom code by loading DLL files. To create a DLL, you'll need the files from the mod loader's include folder, and a C++ file that looks something like this:

You can also export lists of byte patches, jumps, calls, and pointers to be applied to the game, but I find it's generally simpler to just do that from Init.

I don't currently have an example mod, but the system is basically identical to SADX mods, so maybe look at those, idk.

Unfortunately, as Mania is very likely going to be updated in the future, the mod loader and all custom code mods will have to be rebuilt to account for the shifted addresses. I currently have a mechanism in place so the mod loader should detect if the game has been updated and refuse to do anything, and the GameVer setting will be able to detect mods built for other versions of the game as well, since I'll increment it every time I have to update the mod loader for a new version of the game.

Now the mod loader supports cheat codes, OnFrame hooks for mods, and options to start Mania with the console enabled, or at a specific scene. Cheat codes use the same format as the other mod loaders, so you can look at the Codes.xml files from the others for examples, or this document that lists all the code types. It comes with a few basic codes to start with, I may add more in the future, and contributions are certainly welcome.