Add EasyRPG "Patch" Flag to conditionally enable/disable some of our extensions#3209
Add EasyRPG "Patch" Flag to conditionally enable/disable some of our extensions#3209Ghabry merged 6 commits intoEasyRPG:masterfrom
Conversation
The change doubles the amount of sprites on looping maps but this fixes all the rendering issues, especially with big charsets ($). Most of the sprites are culled because they are out of bounds on larger maps, so the performance implications are small. Fix EasyRPG#3149
…Sprite from Update to Draw. This is similiar how Pictures do it since years. Avoids some unnecessary function calls when Player is frame-skipping as less draw related code is processed.
Is mostly for features that can break games by accident. Currently behind it is: - Our custom event commands - Large charset - 32 bit image support. Reporting 32 bit images is useful because this prevents that games tested with EasyRPG do not run in RPG_RT by accident. 32 bit is also enabled when: A translation is active or Maniac Patch is used.
|
Idea of a thing that could be locked: audio formats not supported by the original engine (e.g. ogg). Could search for other files in the directory with the same name that is supported by the original engine. Not implementing this wouldn't break a lot of things since only two commands (Control Variables: MIDI Tick and Conditional Branch: BGM has completed a loop) do things with the music selected, so I'm not sure if it would make sense to implement. |
|
Good point about translations allowing any image file. Disabling certain audio formats will break the web player because it is recommend to convert all the music to ogg or opus to save space. There is also a patch for RPG_RT called audioremony that adds more audio formats which would require detection in that case. |
…able range adjustment.
|
It seems that using a translation that has 32 bits PNG without using the easyrpg flag will only remove the warning: the picture will still be not loaded as if it the game was not planned for that. (If you want to test that, you should be able to do it by using a Russian translation from YNOproject). |
|
Ouch yeah you are right. Somehow the brace is at the wrong location. Must have messed up a rebase. 🤔 |
|
By now we received two bug reports about images not loading for this game here: https://zephi.itch.io/danganronpa-another-storybuild because of the 32 bit handling. Will try to contact the author and ask if a easyrpg.ini can be bundled in a game update. If not possible guess this part of the change must be reverted... interesting way to figure out who uses easyrpg already xD |
|
was told by the author that they will do an update soon which includes the ini file. |
|
The game was updated and is compatible again |
I added a new
--patch-easyrpgflag for enabling EasyRPG Extensions. For now I consider EasyRPG a "patch". This engine vs. patch split should be revised some day with a "features" system.Commit 2 is worth a discussion:
WinW=320,WinH=240as Yume2kki does).Less controversial (I could split them in a different PR, only added them here because I touched big charset by the easy-flag).
About Commit 1: Obtaining the bpp (depth) is for this 32 bit warning message mentioned above. That output struct API is based on support for animated bitmaps (APNG, Asesprite). That struct will get more fields to support this. Keeps the argument list short.
Commit 3 fixes big charsets on looping maps. Commit 4 makes it a bit faster. Imo the solution is not that great. It works by creating even more "clones" also in negative direction, not just positive. The performance impact should be minimal as they are usually culled when they are out of bounds.