EasyRPG Player 0.6.2.2 “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 :(

Event/Interpreter

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)

Battle

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)

Savegames

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

Android

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)

Other

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 0.6.2.1 “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)

Event/Interpreter

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)

Battle

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)

Savegames

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

Building

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)

Other

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)

 

EasyRPG Player 0.6.2 “Pincer Attack”

Look what Alex found while treasure hunting: A new version of EasyRPG Player! (Animation by @Lord_Schoko, thanks!)

Here we go again. The forced home office gave us some time to do the final polishing and testing for the next minor release of EasyRPG Player. As promised it contains many accuracy improvements for the interpreter and move routes. Most games should work now (if they don’t use any patching, DynRPG, etc.).

Unfortunately we were not able to work a lot on the RPG Maker 2003 battle system: Many features are still buggy/unimplemented and you have to wait for another release. But the interpreter part should be fully working – Most limitations are visual.

RPG Maker 2000 has been released 20 years ago this month. And here we are, letting you run its games and saving its legacy for the future.

Get it from the Download page (or the Android Play Store), enjoy some RPG Maker games and #StayAtHome. :)

Crash fixes

Empty shops don’t crash any more. (#1844)

Fixed crashes when starting a battle in Home. When a battle event does an animation as the first command, which also triggers a flash effect on the first frame, the game crashed. (#1929, #1933)

Known regressions in this release

When a message with a face is shown there will be a short 1-frame flicker of the face when a new page is displayed. This is resolved as a part of another huge message code rewrite which we didn’t want to add to this release as it needs more testing.

Regressions fixed

Here you will find games that worked in older versions of the Player but were broken in newer releases of the Player.

Pictures disappeared after a flash effect when they had an alpha channel / transparency. (#1575)

Battlers with Battle Animations (RPG Maker 2003 only) were not displayed until they made an action. This affected Captain Novolin RPG and Vampires Dawn 2. (#1826)

The RPG Maker 2000 battle crashed when self destruct was used. (#1880)

The tilemap renderer optimisation invented for the 3DS was not handling a few edge cases resulting in black tiles being rendered: Lower layer tiles can be in some cases above Upper tiles (when they are tiles with star attribute). Most of the optimisations were disabled, in favour of correct rendering. Fixes the intro of Cumbound – The War against Gayass. (#1577, #1857, #1898)

A previous patch disabled resetting of text colour after a line break which is correct for messages but this broke the rendering of the Stay option in Inns when not having enough money. (#1904)

Performance

Because the compatibility of the Player is really good by now, we can focus on performance improvisations.

Much faster (2-3x) database parsing. Games load now much faster. This is a liblcf (our parser library) optimisation but this is so significant that we mention it here because it affects the Player. (liblcf#343)

This Player release received many significant performance improvements that speed up the start-up, the interpreter and the renderer. Furthermore the FPS handling was refined and recovers better from lag spikes. (#1780)

Common events are not reinitialized any more when they completed – Instead their index is only reset to 0 making common event restarts a very cheap and fast operation in common event heavy games. (#1764) A similar optimisation is available for Parallel processes. (#1884)

Faster text processing and rendering. (#1956, #1964)

The Player supports various pixel formats. Moving the most common formats (RGBA) to the start of the list gives a minor speedup in every drawing operation. (#1959)

Faster handling of Drawables (our abstraction for everything you see on the screen). (#1975)

Much faster reading of Switches/Variables and faster range operations. Single writes could not be optimized further. (#1984)

Slightly faster rendering and Flip blit is now noticeable faster (but flip is only used by the FaceSet, therefore not noticeable in real workloads). (#1990)

Optimized weather rendering. (#1991)

Optimized cache lookup. (#1993)

Intel VTune, a performance and gpu rendering profiler, is now supported. (#2021) Additionally benchmark programs such as #1987 were added that allow the detection of performance regressions easily.

The FPS logic was refactored and runs now much smoother in low FPS situations. Long freezes at 0 FPS are completely gone now. Additionally the FPS are not locked to 60 FPS any more, they can be changed to any arbitrary value or sync to the refresh rate of your display. (#2017)

Optimized tilemap rendering. (#2028)

Some math (e.g. square root) operations run now slightly faster because the compiler flags were tuned. (#2139)

Audio

When switching the audio source (e.g. from speaker to headphone) the audio playback stopped. This was a SDL2 bug fixed in a later release. (#1596)

Lime’s minigame in Witch’s Heart does not lag any more. To reduce slow disc reads sound effects were completely decoded, resampled and cached when being played for the first time. The problem here was that the SE file played is very long – Decoding it took 100 ms. Now the Player only decodes on load and resamples in the audio thread – The file loads now in 7 ms. (#1833, #2086)

The Forest World Music continued playing when returning to the Nexus in Yume Nikki. (#1874)

Playing Opus audio (not natively supported by RPG_RT, needs a custom patch) does not crash any more on Intel Celeron and Intel Pentium processors. The library was compiled with features (instruction set AVX) not supported on these CPUs. (#2059)

Event/Interpreter (#1707)

The accuracy of the interpreter was significantly improved resolving many bugs that were caused by minor timing issues. (#1707, #1871)

The interpreter state is now properly preserved in and restored from savegames. Before it was possible that the interpreter skipped a command after loading. (#757, #1740, #1742)

CommandChangeClass is now fully supported. RPG_RT has multiple bugs that we fixed: (#759)

  • Unsetting the class combined with “Set level to 1” crashes with “Invalid Job specified”
  • When the target class is the same with “Learn skills” enabled RPG_RT forgets to learn the skills available at level 1

The Change Tileset command was not updating the tileset of events. Fixes the look of the time gauge in the final battle of Seraphic Blue. (#1060)

Calling multiple scenes on the same frame has now the correct behaviour, e.g. a battle start will cancel a pending menu call. (#1642)

Death handlers are now supported in the RPG Maker 2003 battle system. (#1648)

The black screen after the Amusement Park Clown Hell Event and other events that force a wakeup in Yume2kki (ゆめ2っき) is fixed. (#1777)

Maybe you remember the obscure feature of Set Vehicle Location discussed in previous blog posts: You can do instant teleports, even across maps, when the vehicle ID -1 is used. By now we emulated this via a normal teleport but this was not enough for Yume2kki (ゆめ2っき): It needed a better emulation and this better emulation fixed many bugs (actually all we know about in this but feel free to find new ones). (#1782, #1861, #1862, #2043)

  • The music room failed with “Unknown Event 10005” (#1778). Contrary to normal teleports, vehicle teleports don’t reset the event IDs. This means that This Event references were expected to still work.
  • You can now save tracks as favourites. This was broken before because the game does a Vehicle Teleport to the main room and immediately teleports back. Before the Player incorrectly executed a clean up auto-start event. (#1864)
  • The second music room you can enter from the first room works now. (#2049)
  • The wallpaper selection was almost unusable because it auto-selected the first item automatically. (#1641)

Vehicle teleports from parallel events are now forbidden – In RPG_RT they fail with an error message. (#1877)

If both a common event and a map event are auto-start and can
run on the current frame, RPG_RT will push both of them onto
the stack and execute the interpreter. This is very similar to
as if the common event called the map event. (#1779)

Lufia V: For the Savior soft locked during the intro. (#1840)

Modifiers for ATK/DEF/etc. are now clamped correctly. Fixes distributing EXP in the Inn of Three Magic Girl (TMG). (#1865) Content warning: Hentai. The video was censored by us.

Fixed black screen after selecting Jehridan on the world map in Dhux’s Scar.  (transition bug, #1913)

CommandStoreEventID always returns the highest ID – even when the event was deleted. (#1915)

Correct timing for waits during screen pan operations. (#1932)

The transparency option of Change Actor Graphic is now supported. (#2030)
Labels: Event/Interpreter, Patch available

Fix hang in 月藍傳奇2 after walking through a secret door. (#2038)

The key input in the scene selection of ケツアクメ120連発 ケツアヘ傑作選 (2012紅白No.016) was not working: The game is a RPG2k Value! game but the Key Input Processing command looked like a RPG2k3 command. Because 2k and 2k3 have incompatible Key Input Processing commands this failed. 2k3 key inputs are unsupported by 2k and were disabled for this engine. (#2126)

Fixed the key input in the “Improve” menu of Saint Seiya Densetsu. This is another type of strange Key Input Processing behaviour: The command was not processed like RPG2k3 <1.05 command but like as RPG2k Value! command. All strange edge cases of this command are now fully supported. This game also breaks the size record: The former leader was Äedemphia with 1.2 GB, this game has 1.6 GB. (#2140)

Setting the sail in Still Mate does not soft lock any more. Here we discovered a bug in the Change Variable event command, it is surprising that a bug in such a commonly known command went unnoticed for years: When a variable range is the target of the operation the result of the operation must be reevaluated for each element. This game generated random numbers through this command and waited until the numbers were different. Because our implementation only picked one random number and assigned it to all elements in the range this check failed forever. (#2155)

In 進めアレックス a treasure chest, that is actually a vehicle, appeared when fighting an enemy. We don’t know about the purpose of the vehicle but we found a bug in RPG Maker 2000: Events always have a Map ID of 0. This game stored location of the attacked monster and applied it to the vehicle. Because the map ID is 0 the vehicle should never appear on the map. (#2156)

Time Traveler continues at the end of chapter 6 when playing the piano. When and how this was fixed is unknown. But who cares, it is fixed :).

Move Routes

In Mondschein the kid will not run away from the mother any more (move speed too high). As with many resolved issues that is related to when events update depending on how a teleport was invoked. (#1261)

The soft lock in the dancing scene of Killer Bear is resolved. Repeating move routes were not properly marked as finished when the last move command was a non-move command such as Turn. (#1853)

Fixes for jumping:

  • Turn commands are now ignored while jumping. (#1936)
  • The height of the jump does not affect the sprite rendering order (#1937) or the position of battle animations any more. (#1938)

Battle

We planned to fix all the known bugs in the RPG Maker 2003 battle but we found no time for it. Sorry :(.

Battle animation can now shake the screen in RPG Maker 2003. (#1767)

Pictures and Weather are now fully supported in battle scenes (#1488, #2003). The picture support was the final step to fully supporting RPG Maker 2003 v1.12. (#1263)

The battle in DQ2 悪霊の勇者・製品版 didn’t end after defeating the Bomb Rock (#1875)

The Boss battle in Eternal Legends ended after the 1st phase. (#1998)

Correct interaction of battle end conditions with running events: RPG Maker 2000 finishes the current event, RPG Maker 2003 stops execution immediately. (#2001)

In すでに私たちは地獄のまっただ中でした hidden enemies were hit by attacks that target the entire party. This affected any game that used hidden enemies. (#2102)

Defend and Charge are now properly reset. Before they stayed persistent for the entire battle or when the action was cancelled. (#2107)

When party members were added or removed by an event during the battle turn the attack order is now correct. (#2123)

Savegames

Loading RPG_RT savegames sometimes resulted in a screen shake. This was caused by an incorrect interpretation of the shake continuous flag: The relevant one is actually shake time left that is initialized to 65336. This means a continuous shake ends after 18.2 seconds.  (#1668)

Support for a bug to detect savegame loading via the Key Input Processing event command. This bug works by using a variable >255 as the target variable for Time until key input and saving the game. When saving, the field for storing this variable is too small causing an integer overflow. By checking whether the new variable reached via overflow is set to 0 after loading, the game can determine whether it was just loaded. (#1674)

RPG_RT compatible handling of Game System chunks. (#1842)

The title image was sometimes lost when resetting with F12. We are still aware of issues concerning incomplete clean-up. When you encounter issues after starting a new game simply restart the Player as a workaround. (#2023)

The Save window failed to render when party members had no face graphic (#2034)

RPG_RT compatible transition chunk values. (#2054)

RPG_RT compatible escape/teleport target values. (#2056)

When the savegame had a different system graphic than the title screen the new system graphic was already visible for a short moment while fading out from the load scene. (#2111)

Messages

In Ahriman’s Prophecy the text overlapped with the face graphic after a teleport. (#1781)

The text rendering in shops is now correct when a face is displayed. (#1844)

Improved message and window animation timings. (#1900)

Some choices were incorrectly displayed in Yume2kki (ゆめ2っき). (#2048)

Window/Scenes

The shop scene rendered Charsets incorrectly when the image file had non-default dimensions. (#1315)

The debug scene learned how to call common events. (#1832)

Control characters like newlines in messages are not processed anymore. They caused incorrect text rendering. They can be inserted by game developers by accident through copy-paste from a text editor. (#1873)

The Gold Window ignored message opacity settings. (#1908)

When a japanese game is executed the equipment scene shows a different arrow to match RPG_RT better. (#1918)

The fade delay for New Game / Load Game / Back to Title matches now RPG_RT. (#1939)

Pressing F12 will display a countdown before returning to the title screen. This solves issues in applications such as Steam that bind screenshots to F12. (#2010)

Scrollable windows display now animated up/down arrows. (#2109)

FileFinder

The Official “Traditional Chinese” RTP is now supported. (#1888)

Symbolic links are now valid project paths on Linux. (#1906)

The RTP search on Linux follows now the XDG standard. (#1924)

Faster start-up on Linux when Wine is installed and the registry scanned for RTPs. (#1916)

The RTP path contained trailing “/” which broke RTP loading on some platforms. (#2064)

The detection whether the operating system exposes the file type directly when enumerating directories was improved (initial start-up on macOS and BSD is now faster). (#2065)

Pictures (#1703)

Spritesheets use now a subimage of the original picture. This saves memory and is much faster because no copying is needed any more. This sounds like an obvious optimisation but the blocker was that other parts of the picture became visible before while rotating. (#1093)

Pictures are now updated before events. (#1125)

Pictures stop moving now while a message is visible except on RPG Maker 2003 English where non-blocking is the default. It is possible that this breaks games patched with the UnlockPicPatch. (#1168)

Support for the “affected by flash” picture setting. (#1362)

Pictures are correctly loaded from savegames. (#1582)

In Destined the boss picture moved upwards when damaged. This is solved by emulating a picture bug in old engine versions: Move Picture is ignored when the picture is fixed to the map. (#1741, #1969)

Use correct flash color. (#1944)

Picture wave effect is more accurate. (#1946, #1949)

The outdated bitmap format used by Aëdemphia is now supported. (#2016)

Weather

Sandstorm and Fog are now looking perfect. As you can see from all the linked issues this was a huge effort and the math behind it is worth another blog post. (#1737, #1945, #1992, #2011, #2114)

More accurate Rain and Snow effects. (#2005, #2069)

Transitions (#1715)

ShowScreen-Transitions are ignored when the screen is already visible. Instant transitions are now really instant. (#1600, #1931)

In RPG_RT transitions will execute in-place (code wise they execute a loop that will return when the transition is finished) but we can’t do it this way because some of our platforms – emscripten and libretro – require that we return from the main loop every frame otherwise they will hang. After a huge refactoring we can now simulate this behaviour through asynchronous transitions. What does this mean for you as a gamer? The compatibility took a huge step forward again, e.g. Amillusion (#1819) works now! (#1445, #1783, #1784, #1787, #1887)

Transitions look more correct when changing maps in COLORS: Lost Memories. (#1801)

Random blocks up/down were down/up. (#1947)

Transitions looked incorrectly when tiles on the tilemap had transparency. (#2117)

Animations

Battle animations are now frame accurate and saved in a RPG_RT compatible way. (#1372, #1757)

Battle animations that affect the entire map were rendered at the wrong position. (#1951)

Animations affecting the map were clipped when moving. (#2006)

Web Player (Emscripten)

The web player got a huge speed gain by switching to the new web technology web assembly (WASM). Contrary to asm.js which was always a bit experimental and had some limitations, WASM is an official web standard and is twice as fast in some games. (#1625, #1917)

The web player does not fail to start any more when the game name matches a directory in the virtual file system (bin, home, etc…) (#1255)

Newer Chrome versions prevent audio playback unless there is user interaction because of abuse by advertising companies. The audio initialisation is now delayed. (#1868)

Games with non-canonical paths (e.g. “../Pictures/PicFile”) are now supported. (#1896)

Other platforms

Android:

  • We dropped the armeabi architecture and ship now x86_64 libraries. According to Google Play the device compatibility changed by 0, we only replaced an outdated architecture with an up-to-date one. (#1911)
  • When the landscape orientation is forced in the settings both landscape orientations (as you know it from the Youtube app, #2121)
  • The touch button labels were too large on some Android systems. (#2121)

Switch:

  • Update to a newer libnx version, making it compatible with firmware 9.0.0. (#1894, #1994)
  • Support for the left thumbstick (#2082)
  • Due to a bug the B button was not working properly (#2082)

3DS:

  • BGM does not play too fast any more. (#1275)
  • Fix RTP loading. (#2063)
  • Faster sound effect loading. (#2086)

For Developers

The namespace Game_Temp that contained various global variables was removed and the variables moved to more appropriate locations. (#1240, #1867, #2025)

We require now the C++ language standard C++14. The lowest GCC compiler supporting this fully is GCC5 (#1561, #1882). This allows optimisations such as #1960, #1963 and #1981. (constexpr)

File and Directory access code was refactored to make implementing IO for different platforms easier. (#1910, #2008)

The Windows toolchain was updated from Visual Studio 2017 to 2019. The latest version of the 2019 update is the only version we support. (#1965)

Many compiler warnings were resolved. (#1966)

Fixed linking against SDL 2.0.10 on Windows. (#1971)

The unit tests use now a single executable instead of individual executables per test set. This improves the linking speed significantly. (#1976)

Many short functions moved to header with inline attribute to avoid function calls. (#1977)

Fixed Windows Debug assertion failures. (#2045)

In an ongoing approach to get rid of all the auxiliary Makefiles to build all our different ports and to improve build times the additional platform files were reorganized in subdirectories. (#2160)

Other

Experimental feature:  Multi-Game Save Importing (#1854, #1860). The Player supports now importing of savegames from other games directly through the title scene. For example Legion Saga and The Way accept the saves of there predecessors. To enable this feature you have to provide a easyrpg.ini in the game directory.

When an image is missing the amount of warnings reported was reduced. (#2092)

liblcf (RPG Maker File parser)

Support for Maniac Patch Event commands. These are just names that can be referenced in the Player later, it does not improve game compatibility. (#271)

Fixed incorrect defaults for savegame chunks: system (#333), event flash colors, vehicle sprites (#334), death handler (#338), pictures (#346) and transitions (#357).

As with Player the liblcf requires now at least a C++14 compatible compiler (GCC5, #339)

Much faster database parsing (#343)