Closed GB-CG closed 5 years ago
I've never heard of this format before, I doubt it's very common. I'd be glad to support it, if there's an open source implementation available for it in a C-like language.
In my search, nothing of the sort appears to exist. At the moment, I don't really have any interest in implementing something from scratch. If it was popular or better than the alternatives, I might give it a try, but BPS seems to be very good for modern games.
Sorry, forgot to ask, have you looked at this?: https://github.com/sobodash/ninja or http://www.romhacking.net/documents/140/
For some reason I seem to recall you linking to these, or maybe I found them when you first brought this up. The PHP one is promising, I can't use it directly of course but I could translate it to C.
It's still a low priority, since it's only used by a few patches and the guy who came up with the format also started using BPS himself. I'll keep this here though, it's worth trying at some point.
Comprehensive list of every .RUP patch ever released?
http://www.romhacking.net/translations/640/ http://www.romhacking.net/translations/799/ http://www.romhacking.net/translations/843/ http://www.romhacking.net/hacks/129/
@GB-CG Know of any others?
So I've started looking at writing a patcher, and grabbed copies of the patches above. The PHP source you linked above only covers RUP version 1, while every single one of the patches linked in this thread is for version 2. That kind of sucks, because I won't be able to use the v1 code as a reference since the format changed. I can't find any version 1 patches.
Should I just support version 2 then? Either way, it's going to be patching only. No creation, since BPS made the format obsolete. Let me know if you find any more patches, so I can check if they're v1 or v2.
Should I just support version 2 then?
I guess so. Did you get in touch with Sobodash regarding this?
it's going to be patching only.
That's OK, since the Ninja creator works with Wine at least.
Should I just support version 2 then?
I guess so. Did you get in touch with Sobodash regarding this?
No, I didn't see any reason to. Someone logged an issue on his Github back in May and there was no response to it.
it's going to be patching only.
That's OK, since the Ninja creator works with Wine at least.
It'll work in macOS as well. He wrote it in PHP, so you can just use it via the command line Terminal.
I was doing more research into Ninja 2 and discovered that his patcher required .NET Framework, which was initially very exciting because it meant I could decompile it to C# and just translate his code. Sadly, once I got into the code I realized it's just calling php via command line to do the actual patching and there's a php folder included with the patcher that contains the PHP runtime plus his patcher.
On the plus side, that directory includes the Ninja 2 PHP code, so I have something to use as a reference. Not sure why he didn't put that version on his Github instead of the old version 1 code.
Commit 6588d8b70619bec97ede3f741e0df16dad5181ca is the first of several for Ninja2 support.
Tested against http://www.romhacking.net/translations/640/ and successfully applied that patch. RUP has separate logic for 8 different consoles, and I've only handled NES so far so that is the only patch which will work right now because none of the others are NES. Even NES isn't finished, because only iNES format is implemented right now.
I will continue adding the rest of the consoles as time permits. The actual patching part is done, just the console-specific bits are necessary to patch the other systems. No estimate when this will be done. I will test all patches documented here. Creating patches will not be supported, since the format is deprecated in favor of BPS and nobody should create new patches in it.
Ninja2 support is completed. I have tested all patches linked in this thread and they all apply successfully.
Attached is a beta build. MultiPatch.zip
If no issues are discovered in the next few days, I will release a new version next Monday.
Did some testing and found it was broken on macOS 10.7 and fixed that. Released MultiPatch 1.7
So I've tested the N64 one (Virtual Pro Wrestling 2 english patch) and can confirm it works! Thank you for the implementation.
Hello there! Any chance of RUP being added to MultiPatch? Currently, I use Ninja for RUP patching.