-
Notifications
You must be signed in to change notification settings - Fork 198
Support for ppcomp, LS.dat & BetterAEP #3363
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
… one call in FileFinder; Moved constant for save file count to "Player::Constants::MaxSaveFiles" (Many instances did not check the overridden count)
… Maniac commands into "Game_Interpreter_Shared" (Many other patches implemented something similar before MP)
c71cfc4
to
80d1f95
Compare
…mulation support for some external programs can be properly handled.
…n game "Earthcraft")
…euristic check for the "full" version of PowerPatch (unsupported)
…l tools is found in the game directory
…avior. (Could maybe also be used for improving compatibility the Maniac Load command)
…s that also make use of "ppcomp")
…ript handling (Re-enabling it by default, for easier testing)
- Make options code more dynamic, similar to Scene_Menu, so the option positions could theoretically be swapped or removed entirely - Added static field "force_cursor_index" to allow overriding the default cursor position
…ameMenu" & "CallTitleScreen"
80d1f95
to
fa01f3a
Compare
The keystate stuff is already in maniac patch https://github.com/EasyRPG/Player/blob/master/src/maniac_patch.cpp#L674 So this could be unified in the file you proposed |
Yeah, I already moved that mapping code as part of another branch that's still WIP: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs some explanation:
While testing around with the ppcomp debug utility, I first came to the conclusion, that this command is meant to always force the Title Scene, even if something like BetterAEP (also made by Cherry) is used.
At least, I had managed this once in RPG_RT & then promptly added this new force flag to the Player, to ignore the "new-game" option set by other patches/configurations.
But then I couldn't reproduce this at all later. Using this command in a BetterAEP-patched RPG_RT seems to always skip the title screen.
Didn't mean to commit this line at first, but the flag could still be a useful feature.
hm that the Ineluki script ran async is another bug. Makes no sense to execute a script this way. Though there are almost no games using Ineluki in the web player so was never noticed 🤔 |
KeyPatch scripts actually do have a setting for "Wait" that is ignored by EasyRPG but I never checked the details of that one out for myself. So this could maybe lead to behavior changes in some instances :/ |
Support for the "Compact" version of Cherry's PowerPatch features. This version wasn't really a patch but just an external utility program named "ppcomp.exe" (sometimes renamed to ppcomp.dat or ppcomp.dll) which provided access to some new functions by accessing the memory of the running game process.
Detecting the original PowerPatch to give info about compatibility
This is not the full version of the original "Power Patch", which goes way deeper (including early Lua support) & barely found use in any games. But I also added a small heuristic check to detect the "Full" version & log a warning about limited compatibility:
Supported PPCOMP functions
NOT PLANNED:
SetGlobalBrightness(Apparently this was only implemented to address a blackscreen issue caused by the original patch)ChangeScene(Sounds a bit too dangerous)For the remaining features, I only found instances of "DELETESAVE" & "SIMULATEKEYPRESS" actually being used in some archived games.
-> These are still TODO
Adjustments to Ineluki KeyPatch implementation
BetterAEP patch support
While testing this implementation, it quickly became obvious, that many games that were using ppcomp, also relied on BetterAEP, and some used this patches' special functionality to access the Load Scene or even exiting the game via command. (Even though ppcomp also had these options).
So I added support for this patch as well:
Player.exe --patch-better-aep 3350
So far I've only seen games that use the default var-id of '3350' for this.-> Issue #1182
Some games using ppcomp
Info