/Mooo;3
I have a small release to the project, ICO widescreen patch was well pretty much gamebreaking;], turning it on/off before changing every stage would be quite awfull thing to do manually, soo I wrote an automatic patcher to do that;], basically it keeps the correct WS code ON all the time during gameplay, but when the stage changes it disables the patch making it sure the stage loads just fine without bugs. I activated the patcher before even main menu showed up and tested first few stages and they loaded fine, tested also random location of end game saves and it seems to work:
Final Version - Both 16:9 and 16:10 included - can be switched during gameplay, turned on/off hopefully without any glitches;]. Added a colorfull status to see what the patcher does which could be helpfull if it still has some bugs or something:
-WAITING(blue) - the patcher doesn't do anything, it's deactivated and waiting user input,
-ACTIVATED(green) - -||- makes sure your ICO game is playing in widescreen,
-STAGE CHANGE(red) - -||- detects gamebreaking situation and doesn't do anything to avoid bugs,
-WRONG GAME(light blue) - -||- detected pcsx2 and attached to it, but can't recognize game version, if you don't turn it off manually, when you return back to playing ICO it'll find it and start patching again,
-ATTACHING(light blue) - pcsx2 was closed or crashed without turning off patcher soo it still tries to attach itself to pcsx2 and will do it once you run it again, you can turn it off or close manually through.
Works in EU, US, JP versions - meaning potentially all, as any others are just re-releases of the above(?;]).
WARNING: If you use savestates and load the widescreen patched game, you'll need to activate the patcher again before changing stage(you could also deactivate it before saving state to avoid such need).
Download final v2:
-
CEtrainer(requires CE6.2+ installed) and Standalone EXE packed together.,
and as I cleaned the code and was asked by Avih for this, my lua script included:
ICO WS Patcher lua.txt (Size: 17,39 KB / Downloads: 1.174)
//added a save of game-code adress which turned out to be bios dependant(found automatically on the first run) and updated the included source code by it;]
Yah I know what word "final" means, but anyway v2:
Add's some new features to be set in ini file(created after first run in same directory)
- no-gui option which will run in the background without gui, when it starts working pcsx2 must be running already, but if that's a problem, it has built in delay(default 10seconds, can be changed via ini setting as well),
- pcsx2 process name - if your pcsx2 executable has different name, you can set it in here.
- fix for my game-code check as it turned out it was BIOS version dependant(soo old versions wasn't working on anything, but 2.00 bios which I have;c)
I also made a slight change and basically you can swap games activate at any game in PCSX2, but it'll work only when it finds ICO gamecode in pcsx2 memory, no-gui version will automatically close itself when pcsx2.exe is closed, but gui one will actually still be running waiting you to run pcsx2 again and continue lurking there in case you would like to run ICO again:3, you can ofc still turn it off or close it manually.
About the code, it's hope not too badly commented now and also made some changes, soo it could be used as an example code to learn some basic lua or simply used as a small gui template for trainers or anything. It can probably still be a bit chaotic to read, it's just how I write, but lua generally is easy to learn and read, I had only problems with syntax when starting with it like a month or two ago.
Big Thanks to Synce for all his help with NTSC versions(both JP & US) which allowed me to finally finish it @_@.
Manual:
=========================
- run pcsx2.exe,
- run the patcher,
- click 16:9 or 16:10,
- boot ICO and be happy.
as long as it finds the ICO game loadded in pcsx2 it should change status to "activated", it's pretty automatic, even if it doesn't find the game or pcsx2 in memory, it'll just keep trying to find it.
If you're running pcsx2, but patcher only shows "ATTACHING", it failed to detect pcsx2 in memory. It could happen from reasons like:
- running pcsx2 by file called differently than "pcsx2.exe" ie. buildbot add's second exe called pcsx2-rXXXX.exe which wouldn't be detected, you can change process name in ini file now to fix that,
- MTvu bug can leave quite a bit of "pcsx2.exe", I'm not sure if my patcher would always attach to correct one in such case, but it's probably better to close those ghost pcsx2 leftovers.
I guess I could complicate my little script a bit to avoid those potential problems, but for now I hope it's clear enough.
SEMI-IMPORTANT: I had to fix the patcher a bit, previously it used a check which was successfull only on PS2 BIOS v2, it'll work on all bioses now, but the activation on different bioses can be slightly longer(only the first time as I included a save of the found adress). Soo info to share: The very start of EE memory is actually BIOS and it's length seems to depend on version.;3
If anyone is interested in my Rogue Galaxy and Dark Cloud 2(Dark Chronicle too I think, but not soo confirmed;]) patcher it can be found
here.