- Mar 5, 2021
- Reaction score
- First Language
- Primarily Uses
Really Experimental Temporal Reliability Operations - R.E.T.R.O. v0.10
This plugin has the rather lofty goal of allowing MZ plugins that are otherwise incompatible to function in RPG Maker MV.
It is a work-in-progress, and is nowhere NEAR ready for a full release.
RETRO now has a documentation file located here. This file will provide an overview of the major elements RETRO currently enables, some of its under-the-hood supporting functions, and a detailed breakdown on manual command entry.
For MZ plugin commands, I highly recommend OcRam's RETRO Plugin Command UI. This little program was made by @OcRam specifically for RETRO. It emulates MZ's plugin command UI and builds a command string that you can just copy into MV's existing event command for plugin commands. For complex plugin commands, like some from his own plugins, this UI is practically required.
RETRO's list of functional features grows with each release. For a (non-exhaustive) overview, please see the documentation text.
Previously it was brought to my attention that the method RETRO used to read plugin information was only possible on PC environments due to requiring Node.js functionality, which mobile and web versions of a game apparently don't or can't support. It originally only affected the use of MZ plugin commands. However the functionality in question has expanded slightly in scope, so adjusting the information retrieval method got pushed to the front of the line. RETRO should hopefully now be compatible with mobile/web releases, but this hasn't been tested yet.
Working through Casper's CGMZ plugin library. So far, one plugin mysteriously non-functional. No crashes on it, so figuring it out is low priority, as I've sunk too much time into it already. I'll come back to it.
How to Use
Save this plugin as "RETRO.js". Make sure it goes above all MZ plugins you're using in the plugin list.
Update to Plugin Commands (v0.10) - The MZ Plugin Command system has been overhauled a LOT. It is now capable of handling nearly any kind of command and argument list, with two exceptions. However, this also means that its usage has become very complex if the command itself has any complexity to it. To use MZ plugin commands, you will either need OcRam's RETRO Plugin Command UI(the easiest solution), or read the documentation VERY carefully(the hard, potentially painful way).
The two known exceptions to RETRO's MZ plugin command functionality are both for nested arguments. RETRO can handle an array inside a struct(object), or a struct inside an array. But it currently CANNOT handle structs inside of structs, or arrays inside of arrays. Attempting to use arguments like this will crash the game. This is planned to be remedied in the next update.
Plugin Commands / Script Calls
This plugin offers no commands, and any custom functions declared are really only useful within the plugin code itself.
Known Functional Plugins
The plugins listed here are ones that I or others have personally tested with RETRO, and can confirm are functional.
Coelocanth's Item Crafting
Drakkonis' Plugin Core
Drakkonis' TP Control
Casper Gaming Plugins - His Core is required, full functionality unknown, but no issues so far with any of his plugins on this list. Some of these plugins are compatible only because the core doesn't break with them, if they were standalone they wouldn't even need RETRO.
Casper Gaming's Achievements
Casper Gaming's Encyclopedia and Bestiary
Casper Gaming's Extra Stats
Casper Gaming's Infinite Colors
Casper Gaming's Item Crafting
Casper Gaming's Item Conditions
Casper Gaming's Menu Theme
Casper Gaming's Splash Screens
Casper Gaming's Game Info
OcRam Plugins - OcRam was kind enough to work with me on RETRO, primarily in getting his MZ plugins operational. His MZ plugins are all in their own dedicated thread.
OcRam's MZ Plugins
Partially Functional Plugins
The plugins listed here are technically functional, but currently have certain issues that will be explained for each. I intend to fix as many of these as possible.
Really Experimental Temporal Reliability Operations
OcRam's RETRO Plugin Command UI
Terms and Credits
This plugin is free to use in any project, commercial or otherwise. Make sure to credit myself(Drakkonis), and anyone else mentioned below:
Restart - Created FOSSIL and inspired the creation of RETRO.
OcRam - Provided substantial assistance in not only getting his plugins operational, but also provided insight that improved RETRO's efficiency in a few areas. He also created the RETRO Plugin Command UI tool, making the newly-complex plugin commands a trivial matter.
This is a work in progress, and it will probably be a long time before it's ready for a v1.0 release. As such, I don't recommend using it in its current form for a finished/released game unless its current compatibility is sufficient for you. Until it's released at v1.0, RETRO is to be considered an unstable build at all times. I'm only one guy, and I'm just getting started learning MV's code and the differences between it and MZ, and most functions/features are being worked on by repeatedly throwing an MZ plugin at it until it stops throwing a fit. As such the only plugins I'll be able to test RETRO on are the ones I have access to, namely my own and any freely available ones I can get my hands on. Progress will probably be a little slow as I intend to solve any issues a single plugin has with MV until it works, before moving on to the next.
If anyone wants a paid plugin to be compatible with RETRO, someone who legally has that plugin would need to either update their copy of RETRO, or assist me with the appropriate updates. I don't intend to purchase plugins solely to test with RETRO.
On that note... this is not porting any plugin from MZ to MV, that's an edit/update to the plugin itself. While RETRO does read the parameters declared in a plugin to make plugin commands work, it does not write anything to those plugins, and solely acts as a go-between.
Quite a few MZ plugins are(or start off as) ports of MV plugins, so if you like a plugin but it's for MZ, check around to make sure it's not a port of an MV plugin that will work just fine. While my vision for RETRO would allow the MZ version to work just fine, versions written by the original author should always be preferred, as their functionality is guaranteed from the get-go.
Final note: As I said above, I'm just one guy, working on this in my spare time, with only freely-accessible plugins available to me for testing. I have a family and a full time job, so that spare time is pretty sparse, so don't expect fast updates. I appreciate any and all bug reports, feature/plugin suggestions, and assistance with getting paid plugins functional(though that's low priority as I would hope their issues would be the same as one a free one would run into).
I've also been made aware that MZ plugin commands may not function in mobile and web versions of a game, due to how RETRO gets its data. Any issues on that front are intended to be fixed for the v1.0 release.