Official libretro/RetroArch support for EasyRPG Player

RetroArch is a frontend for emulators, game engines and media players which is powered by the libretro API that provides an abstraction layer to connect other applications (so called  “cores”) to RetroArch.

EasyRPG Player is now supporting libretro including all features you know from our other ports, which means you can decide if you want to use any RetroArch specific features not (yet) provided by our standalone version.

We will continue maintaining and improving our standalone version. See libretro support as a bonus feature. We don’t see RetroArch as a competitor, you can decide which version you prefer :).

For stability and maintenance reasons the release schedule will be, when 0.6.1 is released, linked to our official schedule which means the core is always updated after a new official release is announced in the blog.

Features

Notable features compared to the normal version:

  • Gamepad button remapping
  • Better file browser
  • Touch UI on any platform
  • Shaders
  • Simple install of WildMidi instruments via the built-in content downloader
  • Everything else RetroArch offers ;) (when applicable, EasyRPG Player is not an emulator)

Download & Platform support

We don’t provide our own builds for it, instead use the core updater of RetroArch or download it from the libretro buildbot.

The core is available for the following platforms/architectures:

  • Windows (32 and 64bit)
  • Linux (64bit, ARM hardfloat and ARM Neon)
  • macOS
  • Android (only ARM, not for x86 due to build issues but your smartphone/tablet is usually ARM-based)
  • iOS (the only platform we don’t really support yet, due to lack of a touch UI)
  • SNES Classic & co. (Maintained by ModMyClassic)

A port for Vita and Switch is possible but due to lack of hardware for testing these are currently unsupported. Use our standalone ports instead. The 3DS is out of scope because of hardware limitations (our official port which is optimized for the 3DS already runs badly). Support for Wii and WiiU is not planned because these platforms are using big-endian byte ordering and compiling some libraries to these platforms really causes a headache. You can use our official Wii port instead. The same applies to emscripten, the web version requires many modifications to run properly, please use our own version of the web player instead.

Controls

Except for some functionality that is already provided by RetroArch (Reset, Fast Forward, Screenshot and FPS toggle) the keyboard mapping is the same as in the standalone EasyRPG Player.

RetroPad:

  • A: Confirm
  • B: Cancel
  • Y: Shift
  • Start: Confirm
  • Select: Reset game
  • X, R1-3, L1-3: RPG Maker games can use more buttons than the RetroPad has. You can map these 7 buttons in the core options.

Core options

  • Remapping of RetroPad X, R1-3 and L1-3.
  • You can decide whether the keyboard (normal EasyRPG Player button mapping), the RetroPad or both are used. Due to possible button mapping conflicts you can disable one of them here.
  • Debug/TestPlay mode can be toggled. This allows you to walk through walls by holding left CTRL or opening the debug menu with F10 (you can map them to the RetroPad)

For developers

To build it locally you can clone our repository and build it with CMake:

git submodule update --init
cmake . -DPLAYER_TARGET_PLATFORM=libretro -DBUILD_SHARED_LIBS=ON|OFF

Use ON or OFF depending on if your platform uses shared libraries for libretro, when you target your Desktop system, use ON.

This will use your platform libraries instead of “baking in” the dependencies, which is usually what you want. To compile dependencies (when cross-compiling) take a look at our buildscripts repository.

If you don’t want to use your system libraries or manually built libraries for whatever reason you can use the Makefile to invoke the “automagical voodoo-build” in the libretro-easyrpg fork. This is designed for the libretro buildbot and otherwise unsupported!