EasyRPG Player “Pincer Attack – Patch 3”

This release was unplanned but we introduced a regression in that we have to fix. Next time we will be a bit more conservative in backporting fixes :(. But this is for-sure the last patch release. The next release will be huuuge.

Regressions fixed

The implementation of Skill reflection crashed the Player when the skill had no target, e.g. when it was a skill that just toggled a switch. This broke directly the first battle in OFF. (#2342)


The correct default state rank B instead of C is now used for enemy damage calculation. (#2332)

Damage calculation for states is now more correct: The damage/recovery is rounded down. (#2343)

For Developers

The Player compiles now on the Haiku operating system. (#2359)

When using vcpkg and CMake 3.15 or newer the detection whether a shared or a static runtime (/MD vs /MT) shall be used is now autodetected via MSVC_RUNTIME_LIBRARY. (#2267)

CMake will not download the TestGame via git anymore. The motivation here was years ago that we want to use the TestGame for unit and regression testing but this never happened.

libretro build improvements (#2267)

libretro-common was updated to the latest commit.

The libretro core builds now on MacOS (Foundation Framework was not linked) and on Windows when Visual Studio is used (pthread dependency removed).

The CMake option PLAYER_BUILD_LIBLCF always builds now a static library. Before it inherited BUILD_SHARED_LIBS which was already used by libretro for building a shared library core.

Position independent code is now enabled when a shared library core is built. (#2353)

EasyRPG Player “Pincer Attack – Patch 2”

The hot days and vacations make the Player advance more slowly and it is about time for another major release but too many awesome new features are still in the works so we decided to make another minor bugfix release instead but you can expect a new major release by the end of year :).

Games affected by bugfixes in this release are DRAGON FANTASY 2, Heaven and Hell: Episode 3 and Yume2kki (ゆめ2っき). Escape and reflect work now correctly in the battle system and the Android game browser learned how to sort the game list and supports pinning of games to the top. Read the rest of this article for more.

For package maintainers: No new liblcf release (use 0.6.2). We believe that we solved all your build issues (see developer notes). Thank you for sending us your patches!

Crash fixes

When entering the Tatami room in Yume2kki (ゆめ2っき) the Player crashed because the Tilemap image was too small. (#2265)

Regressions fixed

When using Command Control Variables with a range of size 1 (start and end are the same) the command was not working properly. This was a regression introduced in 0.6.2 when fixing the Random number in range feature. (#2225, #2289)

Teleport targets were not properly overwritten, resulting in the list becoming longer and longer every time a target was changed. Not many games use this feature, a noticable on is DRAGON FANTASY 2 (#2234)

This is not a screenshot from Dragon Fantasy II – We had no suitable savegame for making one :(


Parallel events do not receive key inputs anymore when a message box is active. This caused the custom menu to appear when Escape was pressed while a message was shown in Heaven and Hell: Episode 3. (#2284)

The panorama was not redrawn in NIWATORIベンチマーク because this game used a hacked map of size 1×1 which is smaller than the minimal size of 20×15. (#2289)


When using healing magic RPG Maker 2000 only shows the difference between current and full HP but RPG Maker 2003 does not clamp the value – It always showed the entire healed amount. (#1680)

The escape algorithm matches now RPG Maker behaviour. (#2150)

The spell reflection feature of RPG Maker 2003 is now fully implemented. (#2251)

In the RPG Maker 2000 battle system the action of dead actors was not reset when pressing ESC to select the previous actor. This was not crashing but gave a Actor X has multiple battle actions warning. Dead actors are assigned a No Move pseudo action because of state recovery and event processing. (#2309)


Spritesheets were incorrectly saved in the savefile when spritesheets were disabled. (#2226)


The Android game browser received a small face-lift, sorts the list alphabetically and got a favorite feature. Your favorite games are shown first in the list. (#2257, #2258)

The new game browser (to the right) features a better aspect ratio for the title images and lists your favorite (❤️) games first.
In landscape mode the title graphics use now the entire space of the box and the game title is overlayed.

Web Player

The web player should be around 10%-20% faster now.

This was broken for a very long time but the fullscreen mode of our web player finally works again! (#1665)

When the web player is embedded on an external website (iframe) the keyinput input did not work properly. (#2307)

We replaced the text “Fullscreen” with a language neutral U+26F6 “SQUARE FOUR CORNERS” (⛶). (#2307)


The Game Browser launches now games in Test Play / Debug mode when SHIFT (or the button mapped as SHIFT) is pressed. (#2239)

The macOS version is now distributed as an app bundle. From a user perspective this means that the Player has now our beautiful Player logo and you can double click it to launch games. (#2249)

When the popular patches DynRPG or Maniac Patch are found in the game directory the Player emits now a warning that the games are unsupported. (#2283)

The warning “Sound effect playback failed: No free channels available” is not shown to the user anymore. It was not very helpful (and very annoying when doing a fast forward). We know by now how RPG_RT implements sound effects but our audio system is not yet designed for it. (#2291)

When the first actor used a skill from the menu that only had “self” as a target it was possible to pick any actor as the target. (#2304)

The sand storm colors were slightly off. (#2315)

For Developers

The unit tests build now on macOS. (#2232)

Some constexpr code failed to compile on GCC < 7.2. (#2246)

CMake on macOS can now create app bundles. (#2249)

Our CMake buildsystem is now able to create a working Emscripten Player. Just point to the emscripten toolchain file or use emcmake and you will get a working web player. Unit tests that don’t touch the filesystem are also supported. (#2253)

The man target in the CMake buildsystem failed when doing out-of-tree builds. (#2272)

The circular dependency check between FreeType and Harfbuzz was not working anymore since CMake 3.18. (#2274)


EasyRPG Player “Pincer Attack – Patch 1”

Another release? You are not dreaming like Madotsuki – From now on we offer patches. They consist of cherry-picked improvements from our code base with the goal to provide fixes for crashes, regressions, security issues and minor new features faster. Don’t worry, there are no security related fixes, but we have now the ability to quickly publish one when this happens. With this new release model we gain more flexibility and improve your experience with our application.

Among the games with fixed issues are Vampires Dawn 2 and Yume2kki (ゆめ2っき). We are not aware of any game breaking bugs yet, the fixes are all cosmetic. The Wii port works again, in 0.6.2 the Player was stuck at the logo. As usual the detailed changelog is below.

The release cycle for our major releases (with the very long blog posts) will stay at 3 to 6 months. For bleeding-edge releases you can still use our Continuous builds or subscribe to the Android Beta program.

For package maintainers

This patch depends on liblcf 0.6.2, there is no new liblcf release. This way we keep the maintenance costs low because you only have to update the Player package.

Crash fixes

The Player does not crash anymore when certain broken/unsupported image files are loaded. It is unlikely that you encountered this bug because these images will fail to load in RPG_RT and close the program. (#2177)

Regressions fixed

We consider something a regression when it was working in a previous version of EasyRPG Player.

When the game used “..” in the filenames to traverse in a different path loading the file failed when the resulting path was the games root directory. This was used by the custom computer background feature of Yume2kki (ゆめ2っき). (#2176)

RPG Maker 2003 before the English release supports bottom and a top transparency for pictures. However in the last release we broke the handling of the RPG2k Show Picture command in RPG2k3. They occur when the game was created with RPG2k but later converted to RPG2k3. One of these games is Vampires Dawn 2. This wrong transparency is stored in savegames. To fix it completely you have to change the map once (#2178).

The Wii port was completely broken. (#2186)

Resting in the Inn when the Inn costs money works again. You get what you pay for. (#2212)

The wrong states were removed after a battle ended. (#2213)


The damage calculation of the Simulate Attack event command was incorrect. The zombies in the unreleased game Diablo Lab are now damaging the hero. (#2194)

The Eyes in the Crying Eyes Cave in Yume2kki (ゆめ2っき) were not updating properly due to a bug in our update logic for off-screen bitmaps. (#2204)

Move Routes

The algorithm for movement type “Random” matches now the RPG_RT algorithm. (#1638)

In the intro cutscene of the unreleased game Saint Seiya – Il Mito the event facing was incorrect. We are aware of multiple facing issues related to facing lock, but here we only fixed this specific case. Fixing all of them is too complex for a patch release. (#2193)


The variance value is now correctly applied in the damage calculation. (#2157)

The hit rate algorithm for physical attack is now correct. (#2215)

The screen flashes now in the RPG2k3 battle when a critical hit occurred. (#2215)


If an actor belonged to a class, the experience points were wrong after loading a savegame. (#2215)


Fixes for the Amiga build (uses now SDL2). (#2188)

Unit tests were broken in the release tarball because we forgot to include some files. (#2222)


Debug scene improvements (#2214)

  • Full Heal was broken and you had to reopen the scene under some conditions
  • Common events with a ID > 100 are now callable
  • Gold has now only 6 instead of 7 digits

For Developers

The requirement on SDL 2.0.5 is now enforced. Previously older versions of SDL2 were accepted but the compilation failed. (#2100)