New builds are uploading! I've added "game resource add-ons" to solve the BIOS problem. Here's how it works:
Game resources can be distributed with the add-on, they can be provided in userdata, or they can be provided by a "game resource add-on".
For example, BlueMSX now ships with the
"Machines" and "Databases" folders containing all the files that aren't copyright-restricted.
The user can provide their own Machines folder containing custom BIOSes at
special://userdata/addon_data/game.libretro.bluemsx/resources/system. If this is present, it will be used instead of the version that shipped with the core.
Finally, game resources can be provided by game resource add-ons. For example, I added this to Genesis Plus GX's addon.xml:
Code:
<requires>
<import addon="resource.games.libretro.restricted" version="1.0.0" optional="true"/>
</requires>
Now, if resource.games.libretro.restricted is installed, the Machines folder from that will override the one that shipped with BlueMSX.
If the core fails to load a game and a game resource is imported (but not installed), Kodi will alert the user about this missing add-on:
Code:
This game requires the following add-on: resource.games.libretro.restricted
This entire strategy is subject to change. It requires a quick hack to the libretro API, but the hack isn't going upstream (see
RetroArch PR:3713). However, the "proper" way using a VFS is being implemented (see
RetroArch PR:3715). Until then, we'll have to fork any cores that need to load resources from multiple directories. This has already been done for
Genesis Plus GX and
BlueMSX.