Great work! I wonder whether this works with the picture that used by a plugin? For example, I have a plugin that uses a picture as the background of the menu. Can I add a layer on this picture? Does it work?
I wanna make a menu able to change its apperance while other events get triggered. If this works, it might help a lot.
I'm not an english native, sorry for my poor english :(
It depends on how the other plugin is implemented. If it uses the Sprite_Picture/Game_Picture mechanism to show the image, then it’s most likely compatible, but that’s just one way to display a static background image in a scene.
If the plugin is public and free, feel free to link to where it’s available here and I’ll check. (It’s not a problem if it’s in a different language.)
MogHunter’s MenuBackground, VisuMZ CoreEngine’s backgrounds* and SumRndmDde’s Menu Backgrounds are all unaffected by this plugin, as they use different mechanisms to load and display the menu background(s).
* as far as I can tell. The VisuMZ series of plugins is obfuscated, which is why I generally don’t add specific compatibility tweaks for them and don’t guarantee any level of compatibility with them in particular.
Your best bet would be to see if you can implement the background changes with one of those plugins alone, or alternatively to write a small plugin that displays a Picture sprite in the background of menus.
It may also be possible to use my Live Menu and Pause plugin to get the desired effect (as it can keep the map scene active without filter), but this would require at least some Event scripting to show/hide the background and may not always be perfectly in sync.
Thx, I got it. So if I write a picture-based menu by events, it is functional cuz the background image is implemented by the original command "show pictures", right?
Very interested in trying this but could do with a compatibility check before purchase - is there any reasonable way to go about this? Can you maybe provide a demo/limited obfuscated MZ version?
To be fair I may buy anyway as I can always try to rejig a bit but would be nice to know it plays well with some other plugins, thanks :)
That’s a good idea, but I don’t think I’ll be able to do so before the holidays/new year. For what it’s worth, the risk of incompatibility should be very small:
This plugin installs only transparent hooks, so it doesn’t undo or hide any previous plugin’s features.
It also doesn’t extend any engine classes or instances with new properties, doesn’t call functions with additional arguments or new argument types, and creates no globals other than the TS_Dynamic_Pictures one, so there should be no risk of ‘hard’ collisions.
(I always use a WeakMap to manage instance-attached state.)
As far as interference with this plugin goes, check if the other plugins do any of the following:
change Sprite_Picture.prototype.updateBitmap (a lot)
change Sprite_Picture.prototype.loadBitmap (a lot)
change how Bitmap instances are constructed and loaded (a lot)
Dynamic Pictures doesn’t change these directly, but it needs the string from Game_Picture.prototype.name to flow into ImageManager.loadPicture relatively verbatim in cases where you use more than one layer.
It also needs to create a deferred Bitmap and manually put that into 'pending'/'loading' and then 'loaded' state. This should work unless the Bitmap logic is entirely rewritten by another plugin (which I haven’t seen so far).
For example the Yanfly series of plugins is compatible. I assume the VisuStella MZ series is structured somewhat similarly (though of course I can’t check due to the obfuscation there).
If you still notice an incompatibility or any kind of issue, please let me know so that I can fix that for everyone. I’ll keep an eye on my emails over the holidays.
← Return to RPG Maker Plugin
Comments
Log in with itch.io to leave a comment.
Great work! I wonder whether this works with the picture that used by a plugin? For example, I have a plugin that uses a picture as the background of the menu. Can I add a layer on this picture? Does it work?
I wanna make a menu able to change its apperance while other events get triggered. If this works, it might help a lot.
I'm not an english native, sorry for my poor english :(
Your English is fine, perfectly understandable.
It depends on how the other plugin is implemented. If it uses the
Sprite_Picture
/Game_Picture
mechanism to show the image, then it’s most likely compatible, but that’s just one way to display a static background image in a scene.If the plugin is public and free, feel free to link to where it’s available here and I’ll check. (It’s not a problem if it’s in a different language.)
Currently im using MogHunter's MenuBackground Plugin, it could be downloaded from here.
Yanfly's Core Engine has a same function. It could be downloaded from this sample project.
Thank you again for your great work.
forget to say, im using MZ
MogHunter’s MenuBackground, VisuMZ CoreEngine’s backgrounds* and SumRndmDde’s Menu Backgrounds are all unaffected by this plugin, as they use different mechanisms to load and display the menu background(s).
* as far as I can tell. The VisuMZ series of plugins is obfuscated, which is why I generally don’t add specific compatibility tweaks for them and don’t guarantee any level of compatibility with them in particular.
Your best bet would be to see if you can implement the background changes with one of those plugins alone, or alternatively to write a small plugin that displays a Picture sprite in the background of menus.
It may also be possible to use my Live Menu and Pause plugin to get the desired effect (as it can keep the map scene active without filter), but this would require at least some Event scripting to show/hide the background and may not always be perfectly in sync.
Thx, I got it. So if I write a picture-based menu by events, it is functional cuz the background image is implemented by the original command "show pictures", right?
Yes, anything that uses “Show Picture…” should work without issue.
If you still notice anything at all that seems amiss, let me know and I’ll look into a fix as soon as possible.
Very interested in trying this but could do with a compatibility check before purchase - is there any reasonable way to go about this? Can you maybe provide a demo/limited obfuscated MZ version?
To be fair I may buy anyway as I can always try to rejig a bit but would be nice to know it plays well with some other plugins, thanks :)
That’s a good idea, but I don’t think I’ll be able to do so before the holidays/new year. For what it’s worth, the risk of incompatibility should be very small:
This plugin installs only transparent hooks, so it doesn’t undo or hide any previous plugin’s features.
It also doesn’t extend any engine classes or instances with new properties, doesn’t call functions with additional arguments or new argument types, and creates no globals other than the
TS_Dynamic_Pictures
one, so there should be no risk of ‘hard’ collisions.(I always use a
WeakMap
to manage instance-attached state.)As far as interference with this plugin goes, check if the other plugins do any of the following:
Sprite_Picture.prototype.updateBitmap
(a lot)Sprite_Picture.prototype.loadBitmap
(a lot)Bitmap
instances are constructed and loaded (a lot)Dynamic Pictures doesn’t change these directly, but it needs the string from
Game_Picture.prototype.name
to flow intoImageManager.loadPicture
relatively verbatim in cases where you use more than one layer.It also needs to create a deferred
Bitmap
and manually put that into'pending'
/'loading'
and then'loaded'
state. This should work unless theBitmap
logic is entirely rewritten by another plugin (which I haven’t seen so far).For example the Yanfly series of plugins is compatible. I assume the VisuStella MZ series is structured somewhat similarly (though of course I can’t check due to the obfuscation there).
If you still notice an incompatibility or any kind of issue, please let me know so that I can fix that for everyone. I’ll keep an eye on my emails over the holidays.
Thanks for the comprehensive reply, that's mega helpful, will buy and and have a play around :)
(Still going to make the compatibility checker, just a bit out of commission right now because I caught a cold.)
Edit January 25th: The Compatiblity Tester plugin is now available as free “demo” above.