Sappharad / MultiPatch

Multi-Format File Patching App for macOS
http://projects.sappharad.com/multipatch/
GNU General Public License v2.0
190 stars 16 forks source link

It doesn't seem to ever work? #12

Closed tycooko closed 3 years ago

tycooko commented 3 years ago

I've tried this program with several game ROMs and different patches (for PS1, N64, GBA...). It just doesn't do anything. It doesn't give me error messages nor does it corrupt the games. It just makes it seem like it's done something and, when I try the game, nothing has changed. As an example, I've tried it with this patch for the PAL (not the NTSC) version of Silent Hill: http://www.mediafire.com/file/oa8g2iqyg7mmq8v/Silent_Hill_PS1_Uncensored_patch_PAL.SLES.015.14.zip/file . This patch is pretty popular and people confirm it has worked for them: https://www.youtube.com/watch?v=oPf2LBosnR8&ab_channel=Squarealex%5BJikan-2-Play%5D . When I try to patch the game with Multipatch, the monsters called "Mumblers" that this patch should change are still there at the start of the game. If I patch the game with the website https://www.marcrobledo.com/RomPatcher.js/ or the Windows' utility PPF-O-MATIC, the monsters get substituted with others, as intended. Same thing with the "famous" color and sound restoration patches of Final Fantasy VI Advance for Game Boy Advance. Multipatch confirms me it has worked, when it hasn't affected the ROM one bit. I'm on the latest macOS Big Sur 11.2, although it wasn't working on 11.0.1 or 11.1, either.

Sappharad commented 3 years ago

Works fine for me.

Screen Shot 2021-02-09 at 8 55 37 PM
tycooko commented 3 years ago

What version of the OS are you using it on? I've mentioned PPF (for PS1) and IPS files. Did you recently try both formats? Did you try to patch any PAL/European game?

tycooko commented 3 years ago

Update: I've tried patching the European ROM of FF6 Advance with IPS files with the latest version of the software and it's worked. I'm trying to find more PPF files for both PAL and NTSC PS1 games to understand if it is an issue with a specific game, a specific patch, all PPF patches or all PAL games.

tycooko commented 3 years ago

All PPF files on this website trigger a "PPF version not supported or unknown.": https://consolecopyworld.com/psx/psx_patches.shtml . I've tried this patch to remove an Italian dialogue erroneously loaded in the Spanish version of Tomb Raider IV: http://www.romhacking.net/hacks/3131/ . The resulting ROM just has audio glitches similar to radio static in the point where the patch should have switched the dialogues. By using PPF-O-MATIC or the online RomPatcher.js, I was able to successfully patch a PAL version of Resident Evil 3 with one of the patches from the first website and I could hear the correct Spanish dialogue in the Spanish (PAL) version of TR4 with the aforementioned patch. I've also confirmed it's not limited to PAL games either: I've tried to patch the NTSC/USA version of Final Fantasy VII (http://www.romhacking.net/hacks/1615/) and the ROM created by Multipatch doesn't even start. It works flawlessly with the other methods (the very first boss kicked my ass with 300+ HP of damage! LOL).

Sappharad commented 3 years ago

What version of MultiPatch are you running? The last time someone had problems with PPF those problems were resolved in version 1.7: https://github.com/Sappharad/MultiPatch/issues/6

The same situation I pointed out there is still true. LibPPF was basically abandoned and now when you search for the source code online the top hit is the copy of it that I used in MultiPatch. There is a lack of open source PPF patching code written in C-like languages.

tycooko commented 3 years ago

I don't understand: are you actually checking whether you can patch ROMs with PPF files via MultiPatch or are you writing me "It should work" and that's it?

I'm using version 1.7.1.

tycooko commented 3 years ago

I'm sure you're right and LibPPF has been basically abandoned, but I'm also telling you that PPF-O-Matic and RomPatcher.js manage just fine. So there must be something one can do.

Sappharad commented 3 years ago

I don't understand: are you actually checking whether you can patch ROMs with PPF files via MultiPatch or are you writing me "It should work" and that's it?

I'm saying it works for the PPF files that I've tested it on, including the Castlevania one linked in the previous issue that was fixed. I don't have any of the games you've provided as examples and at the moment don't have time to track down copies to test with. You're asking me to pirate games just to confirm whether they work or not.

You opened an issue with the subject "It doesn't seem to ever work" and already proved that it does.

I'll try and investigate once I have more time to get one of the affected games. But I really don't want to have to implement my own PPF patcher just to fix this. I only wrote one for RUP because I kept getting bugged about it. It's much easier if something open source exists for me to use.

Consider this "on hold".

tycooko commented 3 years ago

I've tried it on 10 different games today, both PAL and NTSC. Try it on ONE, but not on Sep 21, 2018 when that issue was published. Instead, try it in 2021, which is our current year. If you manage to have it work on even ONE game with a PPF patch, please, tell me the name of the game and link the patch to me. Plus, you MUST know you can patch legal copies of games, right? And modding a game is not pirating it. Distributing it to the public for free is piracy. P.S.: The title of this thread is a question, and I'm happy that you're satisfied that it's not that your software "doesn't ever work", meaning that it sometimes works, and that's enough for you, apparently. Being contented with small things and not getting one's hopes too high is a wise and efficient attitude toward life.

Sappharad commented 3 years ago

I already provided you with a working example, the hack mentioned the last time PPF problems were reported: https://www.romhacking.net/hacks/2896/

I just tried it again and it applied fine and the game still runs. I'm telling you that I don't have any of the games you listed as examples right now. Thus I cannot look into the problem at this time.

If you want to cook up an example where you take some fake files and generate a patch with another tool that does not apply correctly here, that would help. Otherwise you'll have to wait for this to be looked at.

tycooko commented 3 years ago

I've JUST tried to apply that patch with MultiPatch: it creates a bug that results in the exact OPPOSITE effect than the one desired: the main character has infinite health (or enormous defense and it's very difficult to deal proper damage for the enemies anyway)! But when applying the patch with https://www.marcrobledo.com/RomPatcher.js/ it works and gives the enemies more strength and more defense (a hit during the very first battle with Dracula leaves the character with half his energy!). I'm sorry, but MultiPatch doesn't work for that game and that patch. It's simply not true.

tycooko commented 3 years ago

Laugh all you want, but it doesn't look like it's working, chief.

Step-by-step video that shows the issue with MultiPatch but also how other methods work as intended: https://youtu.be/RiSdAnhhPlY

Sappharad commented 3 years ago

Thanks for providing those details. I would suggest downloading version 1.7 until an investigation can be performed. https://github.com/Sappharad/MultiPatch/releases/tag/1.7

tycooko commented 3 years ago

Identical result with Castlevania and that patch on 1.7.

Sappharad commented 3 years ago

I see what you're saying. The 1.6.3 beta linked in the old issue that fixed the problem does not work anymore either. However, I am positive that it worked when it was released. Even the guy who reported the patch not working was able to get it working correctly with that beta back then.

It doesn't seem to be Big Sur either, I loaded it up in macOS 10.11 and it produces the same result. I have no idea how it worked before and suddenly isn't working 2.5 years later. Needless to say I need to get rid of LibPPF and switch to this instead: https://github.com/meunierd/ppf

It was released a few weeks before 1.7 was but since it was so new I did not find it in a google search back then.

This is still on hold, I have other things that I need to work on first.

tycooko commented 3 years ago

If it's not the OS nor the software, it must be the library (if that's the correct term) MultiPatch is using, yes. I'm merely following what you're saying and I find your explanation logical, but this is absolutely not my field and I'm very ignorant about all of this. Anyways, I just wanted to give you a heads-up because I think this has a huge potential and, for me, having one program do it all would be super useful. If, in the future, you also manage to make it possible to apply a batch of patches on one ROM at once, you'd turn it into a really essential program.

Sappharad commented 3 years ago

I don't know what it could have caused the old beta build to work before and suddenly not work now though. That is very odd and I don't think that's the PPF library's fault. Either way I'll try to upgrade to the one linked above at some point, because it also supports PPF version 3 and the current library only supported PPF 1 and 2.

Sappharad commented 3 years ago

MultiPatch_1712beta.zip Does this version work any better? I tried the Castlevania patch with this version and it still appears identical to the original for me. However, if I patch it with the site you linked above, the output I get is byte for byte identical to what this build of MultiPatch outputs.

Additionally, if I create a PPF using that site and use this build to patch it, the results are correct.

It's not done yet, if it works I'll add PPF creation, but at the moment I seem to lack good testing files for PPF.

tycooko commented 3 years ago

MultiPatch_1712beta.zip Does this version work any better? I tried the Castlevania patch with this version and it still appears identical to the original for me. However, if I patch it with the site you linked above, the output I get is byte for byte identical to what this build of MultiPatch outputs.

Additionally, if I create a PPF using that site and use this build to patch it, the results are correct.

It's not done yet, if it works I'll add PPF creation, but at the moment I seem to lack good testing files for PPF.

Hi. Yes: I'm able to patch Silent Hill's multi-language European version and the German version of Resident Evil 3. Congrats: you did it! :)

Sappharad commented 3 years ago

Thanks for testing. I'll try to release a new version in the next few weeks. Since the code I linked above also supports patch creation I still need to add that.