I wouldn't say it suits the thread name with the "quickest way", if someone's fast with his hands he can do it manually faster still;P but I made a lame patcher to feed of crc list for easy patching. It's pretty stupid, workaround'ish, soo I don't bother releasing it in any other thread. Through it should be pretty fast in compare to what it does:
-checks the list of CRC's from the file,
-finds correct place where GSdx stores CRC(based on aob scan with wildcards - should always work, tested on both normal and debug GSdx),
-finds the first adress for all crc's to patch and patches only that ensuring nothing get's broken by it;3.
Basically I lost interest in this when I found how buggy it is in outdated lua implemented in cheat engine;P, in new lua it could be done nicer, in any other scripting or programming language probably even better;], I wrote something about considering to pass on pure lua, but then it would take time, be boring etc. I gaved it another try through only to see if I could find a way to do this anyway within CE;3. The fail wasn't an option I guess;P.
Very hacky, althrough it's still "just" CE trainer, it'll will work only as an exe, and soo I'm releasing it as such:
-
GSdxCRC Patcher, short wall of text aka manual included.
Has no gui, only ini file to input GSdx filename, Patched GSdx filename, optional adress to plugins directory and ofc crc to patch. Checks for a pattern soo it should sooner fail completely than patch something else than configured CRC's;].
Edit:
I didn't really wanted to bother with this again;P, it's usefullness is very limited to people who cannot hex edit or just want to patch more crc's at once easily every time they update GSdx, but I messed around the method I used a bit longer and after some findings I had to return to this;].
Small Update:
-Found some serious flaw in my method and corrected it - around 4 times faster patching, especially with bigger amount of CRC's to patch,
-Added error messages - they'll show only if program fails to do something, mostly when user forget's to set something in the ini file or does it incorrectly, if it doesn't show anything the file should be patched correctly.
update ad:
- now the error messages should show correctly(shucks I never tested it;P, anyway when configured correctly no need for error message and it was/is easy to configure anyway;P)
- corrected 1 typo which resulted in serious bug limiting the visible list of crc's to patch to like first 1/5>.>, hopefully the only person that used it, had a game CRC inside that range and it still worked. Somehow I tested it only on few early ones as well soo didn't notice untill accidently finding it now. xD Please redownlod if you had broken version(well still working for 1/5 of the CRC's, but that's a stupid bug to have;P).
-added short(and hopefully clear) manual as below:
Manual:
-Unpack to PCSX2\plugins directory or to any other one*,
-open included ini file and type GSdx filename as the file you wish to patch,
-you can also type Patched GSdx name as you wish,
-*if you unpacked it to any different directory, set a path to plugin directory as well(otherwise leave it to false),
-set CRC's in a list in format: ExistingCRC/NewCRC(for example 0x42E05BAF/0x2113EA2E),
-save the ini file and run the program:3, if anything bad happens it should show error message, otherwise it'll just silently finish it's work.
You can later re-run it when upgrading GSdx to quickly patch it again, patching should take from X to XX seconds after depending how many crc's you had on the list(safety checks are the heaviest, soo 2-3 crc's will not take much more time than 1).
Notes:
- if you set optional plugins directory make sure it ends with "\"
- the patcher filename MUST HAVE "GSdxCRC" string(in case you wish to rename it;]),
- patched GSdx filename can be same, but for safety reasons probably better for it to differ,
- make absolutely sure GSdx you're patching to is NOT used at the moment(or the patching will fail without any error message),
- do not add any empty lines and keep correct format of the ini file, especially crc list,
----------
Oh and one note from me, I understand GSdxCRC patcher will most likely be used for so called "elf" patches, just an info for people who think otherwise, you can simply patch the ISO itself just like I said with my RG patcher before some guy start taking the info we gathered to patch elf files;], it obviously still changes CRC, but at least it can be burned and ran on modded ps2 easier, made it for my game as I'm not really into keeping any files unpacked off iso nor using those elf aobs to begin with;3. It's good to know it's in that elf, but that's it, memory or file edit, it's still just about searching for floats we found earlier;].
------------
If anyone interested I added ppf-o-matic3, ppf studio and an example ppf file as a counter proposition to "elf patches" which are pretty stupid and limited to more knowledgeable users only, while ppf patches can be used by anyone, are instantly applied and can have an undo data;].
Anyway you can find those
here under "ISO patch" label, made one only for DC2, feel free to use those programs to mass produce existing "elf patches" into ppf;]. Most of the time you'll have to increase the size of the pattern to search by firstly finding it in ELF, couse those posted by people can easily repeat alot in whole iso;], otherwise you can also rebuild it, but well, that's the least efficient method ever. xD
------------
About the side question about widescreen, the patches in all of those games could still be made on pnach, the problem is pnach files update is at best a bit slower or similar to GS update, soo if a game updates value all the time, there are only two ways to fix it, one is to change the code of the game itself, the other is to simply edit the data within the files. Patches editing game assembly are still possible, but there are few problems with this such as lack of knowledge which makes any code above constant write some kind of magic;], lack of experience in ps2 which makes it bothersome and timewasting even when having some basics with assembly and ofc, general humanity which makes most people join projects either only to leech or find the easiest way they can think off to fix existing problems.(Like me with that bt hackfix...>.<)