Aetherflow Preload Everything
A downloadable tool
This is a RPG Maker MV plugin that is designed to add a preloader and caching system to your game. Are you tired of having your sound not play right away? Are you tired of some images not appearing when they should, because they're still loading? Well this plugin is for you! It is designed to allow the developer to selectively preload certain things globally, or when the player loads a map, or on demand via a few scripts calls! The plugin also has a basic caching system to help alleviate the issue of MV using too much memory if used properly.
This plugin was designed and developed for RPG Maker MV >=1.6.1. It will not work in versions lower then this.
As this plugin can't really have a good "Demo" scenario due to it being more of a function over visual/game mechanic there is no Sample Project.
Caching & How It Works
This plugin extends the caching system of MV that was added in 1.5.0. The caching system now will also be able to cache audio files. The plugin includes various functions and script calls in order to load, play, cache, and remove audio files and images files. When adding an image or sound it will be included in the cache.
The cache will reference itself to remove the oldest files accessed by the game. However, it will also take into account if the sound/image is "reserved" and not remove it if so. The caching system is not a magic button that will automatically make your game run better - it is on you the developer to utilize it properly in order for that to be the case. It is not smart or advised to literally preload/cache "everything", the name of the plugin just implies that it is possible, not that it is smart!
To set the plugin up you simply use the plugin parameters for the most basic setup. This includes preloading system assets, preloading global assets and preloading map based assets. The plugin modifies some core functions of the AudioManager and thus is not compatible with other plugins that do this (though they may be if you place this above them in the plugin manager).
The parameters are as follows:
Preload System Resources - Will the plugin/engine preload all the "System" resources including audio and keep them in memory?
Release On Map Change - Will the plugin release map based assets whenever you change map?
Image Cache Size - The size of the image cache in bytes, this is a text field that is evaluated so you can use simple formulas like the default to make it easier instead of writing out so many 0's.
Audio Cache Size - The size of the audio cache in bytes, this is the same as the image cache size but for the audio files.
Global Assets - The "container" of global assets that are preloaded and kept in memory on game start.
Map Assets - These "containers" are of map based assets that are preloaded depending on the map they're for.
The plugin has many script calls that you can use to preload or modify the cache on the fly via the event command "Script Call". You can find them all in the plugin code, but some are as follows:
NOTE: Scripts calls with "AudioManager/ImageManager" are found in both of the managers and are called via one of them, such as "AudioManager.addContainer("myContainer");"
AudioManager/ImageManager.addContainer("containerName") - This script call will add a "container" or group to the cache of the type used on with the specified name.
AudioManager/ImageManager.addContainerItem("containerName", "itemKey") - This script call will add the specified cache item key into the specified container of the given type.
AudioManager/ImageManager.releaseItem(args) - This script call will remove the specified item from the cache of its type. Each type has different arguments to give to the script call. Images need to give the image path and the hue, and audio files need to give the path.
AudioManager/ImageManager.releaseContainer("containerName") - Releases this "container" of objects from memory of the specified type.
AudioManager/ImangeManager.releaseContainerItem("containerName", args) - Releases the specified object from memory and removes it from the specified container.
AudioManager/ImageManager.releaseGlobalContainer() - Releases the global container from memory of the given type. This can also be done for both at the same time by calling "$gameSystem.releaseGlobalContainer();".
The AudioManager is developed to work similarly to the original audio manager and the original image manager. You can call functions such as "AudioManager.reserveBgm("fileName", "reservationId");" similar to the image managers "ImageManager.reserveX" functions where X is the type of image (title,tileset,animation,etc). I won't list all the functions here but you can take a look at them all in the plugin.
This plugin is developed for RPG Maker MV 1.6.1 or greater. It will not work on versions lower then this!
This plugin modifies original functions of the AudioManager (specifically the AudioManager.playX functions) and therefore is not compatible with other plugins that may do the same!
1. You may use the plugin in any commerical or free game.
2. "Kaliya" must be given credit in your game.
3. Do NOT change the filename, parameters, and information of the plugin.
4. You are NOT allowed to redistribute these Plugins.
5. You MAY edit the code as see fit, but I am not responsible for offering support if you do so.
6. You may NOT take code to use in your own plugins.
- November 6th 2018 - Released the plugin.
- November 7th 2018 - Released v1.0.1 with a minor bug fix.
- March 28th 2019 - Release v1.0.2 with a bug fix.
In order to download this tool you must purchase it at or above the minimum price of $5 USD. You will get access to the following files: