Rinnegatamante is still on porting spree and ported the Player to another platform: The PS Vita (requires the HENkaku exploit). As usual you find the download in the Download section (Continuous builds → Other).
The hardware of the PS Vita is on-par with 3DS hardware (even though the Vita only has 444 Mhz), the games run quite smooth and there shouldn’t be big performance problems in most games.
Basicly everything should run (in worst case with some lag), all audio formats are supported.
Place the games (the folder with the RPG_RT.ldb) in subdirectories of ux0:/data/easyrpg-player, then you can pick them using the game browser.
The RTP (RPG Maker 2000/2003 Runtime Package) should be placed in ux0:/data/easyrpg-player/rtp/2000 and ux0:/data/easyrpg-player/rtp/2003
This is a community provided port without official support. If you think you found a bug please verify that it also occurs in the official versions (e.g. on Windows or Linux). If this is the case please report an issue. If you can’t reproduce it this must be a Vita only bug. Please report it to Rinnegatamante instead. He also has a compatiblity list there and would be happy when you contribute.
The Player arrives on a new platform: The Nintendo 3DS. As usual for such ports you need a console with homebrew support to launch it. You can grab a 3dsx and a CIA in our Download section (Continuous builds → Other).
The biggest part of the porting work was done by Rinnegatamante. Without his help the port would be still a slow, silent and crashing prototype. Thanks a lot.
Due to 3DS hardware limitations lags and slowdowns should be expected. The Old 3DS can handle many games but playing it on the New 3DS will be more fun.
The same rules as for the Wii version apply: Place the game (the folder with the RPG_RT.ldb) directly in the 3dsx folder to launch the game standalone otherwise place the games in subdirectories to use a game browser.
The CIA searches for games in the folder sdcard:/3ds/easyrpg-player.
The RTP (RPG Maker 2000/2003 Runtime Package) should be placed in /data/rtp/2000 and /data/rtp/2003
You can create your own standalone games by embedding a game into the romfs. See this tutorial for instructions.
File input/output is very slow. Games that load many graphics or sounds will have a very heavy slowdown.
MP3 and MIDI audio are not supported yet. This will come in another release in May, stay tuned.
This is a community provided port without official support. If you think you found a bug please verify that it also occurs in the official versions (e.g. on Windows or Linux). If this is the case please report an issue. If you can’t reproduce it this must be a 3DS only bug. Please report it to Rinnegatamante instead.
You want to port to a platform that isn’t supported by Player yet? Contact us!
It’s time for the first bug fix release since December. The new release features a heavily improved event interpreter, many fixes to the battle system and other minor improvements.
But at first something completely different: In December one of our developers held a lightning talk at the 32c3. Check out the article and the slides. And there is the lightning talk:
One port that is not maintained by us, is for the Pandora. The user “Ingo Reis” has a Youtube channel where he showcases all the homebrew for the Pandora. Check out running “Zelda Links Awakening” (Inofficial RPG Maker version) on the Pandora:
Now back to the changelog. As usual we group the detailed changes in our blog post in “Interpreter”, “Battle system” and “The other stuff” ;).
The way how interpreter updates are executed in the original engine was figured out via many hours of testing and using a tool we invented (“event tracer”). This probably fixed hundreds of games. The games we are aware of the got fixed are Doraemon: Nobita’s Resident Evil (#692), Dungeoneer: A Beautiful Escape (#677), the combat system of Violated Heroine and speaking with Marin in Zelda: Link’s Awakening. Read the details in the linked issue if you want to know, how chaotic the interpreter is: #753
Event movement speed/acceleration was too high due to a script bug (#762), which made the school hunt event in .flow unplayable:
Above/Below hero events that collide with the Player character are now triggered. This fixes the game Dyhortfight. (#661)
After defeating Orca the game Wadanohara did not continue properly. This was a bug in the way how win-handlers are executed. (#702)
Nyria can rescue her mother now in Vampires Dawn 2. This was caused by a quirk in the way how RPG Maker encodes events. (#724)
The game Embric of Wulfhammer’s Castle got many issues resolved:
The “Frame” (a strange RPG Maker 2003 feature which overlays a frame over the map and is not scriptable) got implemented (#694)
Tile opacity was not restored after loading a savegame (#695)
Scripted events did not continue properly after losing a fight. We are not sure how this got fixed, probably same issue as Wadanohora. (#682)
After using an Inn in 7thjojo a black screen appeared. #769
The Sacred Tears: TRUE crashed in the savegame scene. This was due a bug in the reencoding of strings in movement commands. This bug got fixed in liblcf. (#556)
Issues in Doraemon: Nobita’s Resident Evil got fixed by improvements to the event interpreter and by implementing “Condition: Started by Action Key”
Ara Fell heavily relies on variable changes for the fade-in effect on the title screen. This way we found a performance bug: The Player always refreshed common events when variables were updated. This doesn’t make sense because common events are only influenced by switches. Now the title screen in Ara Fell is fading in smoothly. Another title crash was caused by another data structure optimization of RPG Maker, this time in terrain data. (#785)
Events can now jump onto the field of the Player when they are above or below the hero. This fixes a game breaking bug at the end of のび太戦記ACE (Nobisen ACE). (#822)
Picture rotations calculates the angle now correctly. (#722)
The interpreter holds execution now when a vehicle is (un)boarded. (#768).
The ATB flag for RPG Maker 2003 battles is now saved and toggling and checking via event commands works now. (#796)
Calling a non-existant Event page shows a warning now instead of crashing. (#689)
When a message contained a “kill” (\^) command and a choice the kill flag was not reset and killed the next message. (#783)
Using of “*.script.wav” files result in a more descriptive warning now because they require Ineluki’s Key Patch which is not implemented (#731).
Exit Game (RPG Maker 2k3 1.11 feature) returns now to the Game Browser (if available) instead of closing the Player (#791).
The using of skills and items in battle was improved. This fixes problems in Vampires Dawn 2 and Embric of Wulfhammer’s Castle. This affected especially equipment (swords & co.) which contained a skill. (#732). Equipped equipment is also listed now in the item window and usable as a skill. (#745)
Battle music did not play in Embric of Wulfhammer’s Castle (#600). This was again a liblcf issue, the battle music was not correctly set after loading a savegame created with the original engine (RPG_RT).
Spell drain (e.g. Blut saugen/sucking blood in Vampires Dawn) was draining HP and not SP due to a typo (#808)
Inflicting states (e.g. Poison) broke due to a bug invented months before 0.4. This works again now and additional effects (HP drain when poisoned) got invented. (#815) Furthermore RPG Maker 2003 battles did not apply states at all (#764)
The “0” (zero) was not always rendered in the Gauge battle system (RPG Maker 2003) because we failed in math (#678), e.g. in Vampires Dawn 2:
Another problem with Vampires Dawn 2 was, that it does not use cursors for actor selections. Therefore it was not possible to see which actor is highlighted for items or skills. The highlighted actor flashes now like in the original engine.(#825).
A crash was fixed in OFF when fighting with an enemy group which spawned additional enemies. Also the gauge of invisible enemies is not updated anymore and heal skills invoked by enemies don’t deal damage to them anymore. #723
The “Rundumschlag” Skill always missed in Unterwegs in Düsterburg because it had a base damage of zero (#766)
Return of Touhou Mother locked up in battles because it uses “Get Midi Ticks” for timing (#744). This is still not 100% reliable, at least the combo system won’t work.
The “End battle” command was not ending battles (#741, #739)
After reviving a character the dead state was not correctly removed when the item/skill had a power of 0. The revived actor gets now 1 HP instead (#825).
We fixed many deadlocks (battle hangs and you must close the Player) many happening because of death in the battle system (#825):
After reviving an actor the dead animation was not reset to the idle animation, which resulted in a hang because the battle system waits until the actor returns to the idle animation.
When an enemy and an actor reached a full gauge the same time and the enemy does the turn and kills the actor the dead actor will get the turn and hang the battle. Dead actors get now a gauge of 0.
The algorithm for picking the next movable actor had an error in the way how it looped over the party resulting in dead actors being selected which hangs the battle like in the previous case.
Enemy Self Destruct and Enemy Escape actions hang the RPG Maker 2003 battle. (#763)
The GameOver event command resulted in an hang when used in battles, too. (#771)
The algorithm for battles got improved and supports now the following features (#826):
Attribute multiplier and resistance are supported now (e.g. Fire skills that are weak to water enemies)
Weapons respect the “Attack attributes” now for getting damage multipliers
Weapons can increase the critical hit rate
Weapons can inflict conditions
Weapon can ignore the target’s dodge rate
Weapons consume SP now when they have a SP cost and are used as a normal weapon.
Atk, Def & co. changes as results of skill/item damaged are applied now in battle. (#767)
Saving the next script line instead of the current one as the next executable line. This resulted in problems in loops because this way loops got exited when the saving occurred while an interpreter was on the “Continue Loop” command. (#770)
The way how states (Dead, Poison, …) are saved by RPG Maker was incompatible to the way we stored them. This was adjusted and we write more proper savegames now. Together with other minor fixes savegames created by EasyRPG Player are usable in RPG Maker Runtime (RPG_RT) now (though, in some cases, we found more incompatibilities)! (#670)
Starting from Android 4.4 (KitKat) the SdCard is not writable anymore by default. This rendered our additional game directory implementation almost useless. The save directory is redirected now to a directory on the internal storage to work around this issue. (#534, #726)
The architectures armeabi, x86 and mips are supported now. (#413)
Our App is now also available in Korean language (#790).
The buttons enter/cancel/shift were not usable anymore in the layout editor, because their names were not translated. (#777)
You can now send bug report emails from the in-game menu. This feature is heavily used since then and we already got hundreds of emails. Thank you for your help improving the Player!
Player Emscripten failed to download sound effects invoked via “Play Sound” in movement commands (#509)
Because the emscripten version downloads game resources asynchronous race conditions can occur when assets finish downloading out of order. This was resolved now by rewriting the downloader to abort requests, that are not required anymore (e.g. because they were on the previous map or the BGM was already stopped).
The Wii port got some love, too. Debug log messages are not spammed on the screen anymore (#742) and overscan issues got fixed. (#743)
System background mode “tiled” got implemented (#479), now the menus render correctly in AE:
Fixed equipment can’t be changed anymore in the Equip scene (#800)
The savegame path stayed at the toplevel directory when using the game browser (#750). When launching multiple games from the gamebrowser, the first engine of the first was used for all (#755).
Rendering issues for HP/MP got solved in RPG Maker 2003 games (#715), for example in El Heredero del Rey:
“F12” and “end game” stop now the music playback when returning to the title scene (#756).
The ICU data file got updated to support Thai. Thai itself is currently unusable in Player due to missing font support. But this is a first step. (#746) Another encoding problem got resolved in Nobita’s Biohazard (Korean version). Some files were not found (#649).
The Player is now packaged via the Open Build Service. (#499). You can download packages for your favourite Linux distributions.
We got a request if we could provide EasyRPG Player binaries for Windows RT (ARM). You can get them in the download section under “contributed ports” because we provide this without any support. Creating this port didn’t require much effort because it is highly similar to the other Windows builds.
This port is probably of not much interest for most users because Windows RT does only allow signed desktop apps and Windows store apps. To run the Player your system must run in test mode. Running in test mode is not supported by Microsoft, do it at your own risk!
As usual this was also integrated in the Jenkins build service (and of course in the download section under “Continuous builds”). We don’t have any system with Windows RT, but the build system is almost the same as for the other Windows systems, it should “just work” without further maintenance.
You are a developer and want to maintain a port for another system? Feel free to contact us!
The RTP installer won’t run under Windows RT. Install the RTP on your normal Windows system and copy the installed files on your Windows RT system.
For RPG2K games: Set the environment variable RPG2K_RTP_PATH to the RPG Maker 2000 RTP path
For RPG2K3 games: Set the environment variable RPG2K3_RTP_PATH to the RPG Maker 2003 RTP path
Same as for Windows: Copy the games anywhere and PlayerArm.exe in the game directory (or one directory above to use the game browser)
If you are celebrating christmas: Merry christmas! For everybody else: Today is your lucky day!
Today we release version 0.4.0, Codename “Poison Attack”.
This version introduces a simple game browser for all platforms (except Android, which already has a native one) and fixes lots of important issues in the game interpreter and battles. Furthermore the new conditions and events of RPG Maker 2003 v1.11 (The official English release) are supported now.
The new version codename refers to the next database tab (skills), and “Poison Attack” is the first skill in the list.
The battle against Sylvia in Unterwegs in Düsterburg resulted in a hang because battle animations were repeated endlessly (#656).
Fixed a divide by 0 crash during battles in Mystic Sunrise because some battlers had zero MP (#653).
Battle event pages with start condition “actor turn” or “enemy turn” don’t run multiple times now in the same turn. This fixes repeated message issues in OFF (#674).
Fix hang in battles in Monigote Fantasy when using idle animation states (#608).
Pending battle events were not correctly cleared in RPG Maker 2003 battle system when the battle ended. The next battle deadlocked the game (#652).
Loading a save from RPG_RT didn’t restore RPG 2003 battle commands correctly, rendering battles impossible (#601).
Pressing F12 during a RPG Maker 2000 battle crashed the game the next time a battle started (#419).
There were many fixes to the interpreter which are a bit difficult to explain. Most of them are related to the execution order of events and special corner cases of the RPG_RT interpreter. In short: Many games will work better.
Ib: Interpreter hanged in the sketchbook bucket house (#629).
Ib: Picking of one piece of the Guertena painting was not possible. The reason for this was that there were two events that started when pressing “Enter” but Player only started one (#669).
Ib: Pressing decision/cancel key in the Mirror was closing it mostly instantly. This issue was also affecting Wadanohara (#645).
The “Measure time until key is pressed” method of “Process Key Input” incremented the counter ten times faster than RPG_RT, affecting Clock of Atonement (#659)
Mimicry Man: Message Window was not closing (#589).
Monigote Fantasy. Entering houses required touching the tile twice (incorrect handling of “On Touch” events) (#654).
Unterwegs in Düsterburg. A bug in move route handling (Event command: Proceed with Movement) resulted in a hang in Grandys house (#650).
Unterwegs in Düsterburg. The interpreter froze in Grandys Zimmer at Königsberg (#665).
The Sacred Tears: TRUE and Standstill Girl
The main character was not able to move because these games used move routes that could finish in one update tick (e.g. commands like “Change sprite” or “Face left”). RPG_RT will not block the movement in such cases but Player did. This fixed movement in The Sacred Tears: TRUE and Standstill Girl. Which is quite ironic because of Standstill :D.
The cursor in the title scene of Sacred Tears: TRUE was not displayed (#559).
Switching from charset to tileset graphics was broken. This resulted in a hang in the library of Boy Ichiro’s Modesty (#667).
Support for music loop condition in conditional branch. This fixes a hang in the intro cutscene of のび太戦記ACE (#655).
The rain sound effect was played hundreds of times in Vampires Dawn. Parallel common events are now suspended when the start condition is not met anymore (instead of reset) (#453).
Incorrectly render order (Z value) when tiles were substituted in Æ: (#620).
The new event commands and conditional branch conditions introduced with RPG Maker 2003 v1.11 (English release) are supported now (#587).
The “Change Equipment” was not working correctly (#688)
When an event contained multiple battle encounters the interpreter jumped to the condition handler (win/lose) of the last one (#610).
The call inn command was not working properly, it was not recovering the party and this was making games much harder to play (#631).
Fixed KeyInputProc for games that were created with RPG Maker 2000 and later converted to RPG Maker 2003 (#604).
Events on the map were not refreshed by all events that altered variables (#590).
Screen flash timing was not working properly (#644).
F12 (Return to title) did not reset all values (#651).
Web Audio issues were resolved and now supports MIDI and MOD playback (#641).
Many improvements for Android (they were already available in the PlayStore since months, but to sum it up):
The buttons are resizable and multiple layouts can be saved. Also portrait orientation is now supported. You can get vibration feedback when you press a button (#598, #597, #591).
Support for systems with x86 CPU (before: only ARM). If it was crashing on start up on your device: Try again.
“EXFONT” rendering (glyph symbols rendered when using $a-$z and $A-$Z codes) finally works. It was broken because our lazy Android maintainer did not update our library for PNG rendering since years :P .
Hungarian translation (#648). Thanks to Farkas Ürdüng.
This was a quick one. In 0.3.1 we found a critical bug that hung the Player when loading some maps. This version is codenamed “Hornet” because that’s the 3rd enemy in the official English RPG Maker 2000, in Don’s translation the 3rd one is “Spider”.
Besides this crash fix we also introduced some other improvements that didn’t finish on time before 0.3.1: Battle animations finally work as expected everywhere, this includes animations on the whole screen and animation on targets, additionally sound effects and flash effects are executed now (#365, #574)
Another interesting one broke ゆめ２っき (Yume2kki). This game faded out the screen at the beginning and then showed a message box which got instantly closed using “\^” and showed the screen again. So this message box was never visible and completely useless (same for the fade out/in), but the Player had a bug that had the closing logic of the window in the drawing code which was never called because it is faded out. Now the closing logic is in the normal update loop and the game finally starts. It seems this game was designed on purpose to break the Player :D. (#577)
Music was not playing in the battle in OFF. The cause for this was that many parts of the Player code used the Database default music/sound effects and not the ones in the savegame data (the ones that can be altered via events). A gigantic “Search & Replace” resolved this issue everywhere. (#581)
Another annoying bug that crashed the Player randomly after ending a battle since a long time and nobody ever found a reason for is #580. But the cause is finally found: It happens when a battle animation plays on the map while the battle is started. But this is finally resolved so you must not be afraid of that crash anymore :)
Games that used bitmaps with a width that was not a multiple of four were rendered incorrectly. This affected the game “Mimicry Man”. (#583)
liblcf got some more chunks documented. These chunks are not yet used by the Player, but will be in a future release. Thanks to Cherry for the help! (#152)
The hot days are over and the developers move from outside to inside again. The result is the next bugfix release 0.3.1 (Codename: /\../\ (Bat), the flying friend of slime).
The most significant changes are as usual: Interpreter and battle improvements resulting in the best version of EasyRPG Player by now.
Another guy who likes bats is the main protagonist, “The Batter” in OFF. This game is now compatible with EasyRPG Player. Bat (0.3.1) makes the battles with The Batter and his bat better. Everything is better with Batter. Sorry for the bat puns :)
Besides OFF the following popular games got fixed: The battle against Sal in Wadanohara, drinking blood in Vampires Dawn, the intro of Vampires Dawn 2 (rescue your mother).
Yeah we know that the German community says that Vampires Dawn is overrated but for testing the battle system of the Player it’s great.
Just retest your favourite game, maybe it works now, too?
In terms of events some really significant features were implemented.
Characters on lower layer can pass the Hero now. (#486)
When using more then 50 pictures the picture data got corrupted and the Player crashed (#485)
Message command “\!” (pause) printed sometimes the next character (#515)
The ESC key was not recognized by Ahriman’s prophecy (#433)
The command “Continue event execution” when combined with a Move command does not result in random dead locks anymore, this happened e.g. in Unterwegs in Düsterburg before fighting any random encounters. (#344)
When the hero is moved by an event and touches “On touch” events on his route these touch events are now executed when the event that executed the move route ends (#331)
Another game that got fixed thanks to these changes is “Vampires Dawn 2”. When Nyria comes back to her house at the beginning you got an instant game over before because the timer did not start.
Basicly these improvments fixed probably hundreds of games.
We are happy to announce the next major EasyRPG Player release. We want to thank all our developers for the huge amounts of time they invested in improving the Player. The new release is called “slime” everyones favourite enemy. You can get it in our download section. But what is the 2nd most popular enemy? You will see when 0.3.1 comes out.
Official RPG Maker 2003 release
Before we write about the new features we have an annoucement to make. It was a really unexpected news for all of us: An official English version of RPG Maker 2003 was released. Instead of using an illegal fan translation you can buy a legal version now. This is basicly your only option because our own editor is still far away from being in a usable state. (No we were never in contact with Enterbrain and are not payed for this statement). We read that the sourcecode got lost. Therefore they have to use binary patches. This means the risk that gigantic new features are provided is reduced – Which is good for us. The new English RTP is automatically detected by the Player (#454), games made with the new version will work as good as the old ones.
Now back to the new major release. It brings many important features, some of them were completely missing before, these are:
Vehicles (#219) was one of most important missing feature, breaking many games depending on them. A well known game broken directly at the beginning by this was Don Miguels Sample Game, you can now cross the lake together with Marcus! The implementation includes boarding/unboarding, vehicle teleport, on board music change, save and load position support, airship terrain based landing check and system graphics based airship shadow (#434, #436, #441).
Another important feature implemented is the endless scroll map, vertical, horizontal or both. This was required by some games to work properly and some of them didn’t work without this at all. The implementation includes support of special movements, like jumping between loop edges, and takes care of event picture, panorama and camera movement. This change makes the dreams in Yume Nikki finally completely enjoyable. (#455,#457)
The battle system is one of the most complex and most commonly used parts of RPG Maker. We added further additions to our implementation, including: Items dropped by defeated enemies are now added to the party’s inventory (#398) and multi-use items are really multi-use now (#420). Some skills crashed the game when used (#405).
When a timer reaches 0:00 the battle ends now. This is a strange behaviour because there is no way to call a timer based event in battle. But that’s the RPG2k way.
The event interpreter got some bug fixes: The command “End battle” is now supported (#393) and weather/tone effects are visible now on-screen (#396). The condition checks “Monster/Hero can act” and “enemy hp” were broken (#367)
We also fixed a deadlock that sometimes occured in the RPG2k3 battle system. (#474)
As you know RPG Maker uses a binary format and we try to figure out the fields to improve compatibility. Our main problem is still the save file because we are the only ones who try to figure out the format. We don’t provide our own format but are compatible with the original RPG Maker savefiles. There were many new fields discovered, some statistic:
In 0.2.2 release we had 1103 chunks in all binary formats (LDB, LMU, …) of which 81 were unknown (92.66% known). Now with 0.3 new chunks were discovered resulting in a total of 1122, of which 31 are unknown (97.24% known). Yes, 19 new chunks were discovered, it’s possible that we discover even more. (#128, #132 and #133)
A nasty bug preventing parallel events from continuing after loading got resolved. (#474)
Fix savegame corruption for Russian games when encoding was specified in RPG_RT.ini file (#139)
If you checked the PlayStore the last weeks you probably noticed that we made some updates to the Player. Thanks to a new developer (BlisterBoy) the Android version got significant improvements. He added support for the long-awaited button mapping, now you can enjoy all RPG Maker 2000/2003 because all buttons are available on the screen if you want. (#443)
Besides these there were some minor improvments:
Accessing the settings for changing encoding crashed the program when the INI file was missing (#435)
Further extensions like support for different game directories and game/engine dependend will come later because our Android developer is currently busy with real life.
Run in the Web
As already mentioned in an earlier blog post EasyRPG Player runs now inside your web browser. This port was further improved and supports now asynchronous loading of assets. That means not the whole game is downloaded during start up which significantly improves the loading times. All images and music is downloaded on demand and map files are downloaded while the transition plays. Save files are locally stored, they are lost when you clear the local storage of your browser (#389,#417, #425 and #462).
How about playing a round of Ib? More games will come! We can also help you in releasing your own RPG Maker games to the web. Just contact us!
You will need an up-to-date browser. Firefox runs the games a bit better then Chrome. This could change when new versions of the web browser are released.
Now about other fixes that don’t fit anywhere else:
The most funny one is probably a Polish fan translation of RPG Maker that translated a bit too much. The “stop music” event specified by file name “(OFF)” was translated as “(Brak)”. The Player accepts now both strings. (#391)
Frame skipping is now more smooth (FPS stay constant). Before frameskip was speeding up and slowing down the game which felt strange (#287)
PNG transparency was incorrectly applied in some cases. (#358, #430)
Referencing a variable indirectly via another variable wasn’t working correctly (#387)
Transparent textshadow color in Wadanohara fixed. (#394)
Common events were reset during map change. In Vampires Dawn this resulted in recasting of transformations after each map change (#402)
Switch items (e.g. save stones in VD) were not consumed. Same for skills of type switch. (#403, #404)
This is the second blog entry from our “Quirks in RPG Maker” series. In the previous article we introduced the non-Unicode application problem. Now let’s explain how this problem has been addressed.
The problem: Non-Unicode games
As explained in the previous article, Unicode is a standard for writing characters and texts using an universal encoding. Before existing an universal standard, some languages were using their own character encoding, sharing often the same bytes representing different glyphs. Games created with a non-Unicode editor contain non-Unicode texts. These games won’t be readable properly under operating systems with a different encoding than the original, unless some conversion between encodings is applied.
Encoding conversion issues
Modern operating systems are Unicode. This helps to convert non-Unicode encodings to Unicode, having enough room to fit any previous encoding to the new universal. However there are multiple issues when conversion standard was being designed.
Non-Unicode Windows Japanese Encoding is Shift JIS. This encoding was similar in the first 127 characters with ASCII (7-bit part), except the backslash (\) showing a yen symbol as a replacement. Originally, the command trigger for show messages is a ¥ followed by a letter, e.g. ¥c, in western is \c. This was breaking message codes before. In fact, Japanese Windows shows a Yen sign (¥) as a directory separator even in modern Unicode Windows. In Korean Windows shows a Won sign (₩) instead. The wave dash from Shift JIS was incorrectly mapped to the Unicode full-width tilde, generating issues not only when showing the sign, the problem could affect games with filenames using this character.
The first approach: libiconv and Windows API
libiconv is a library to convert common legacy encodings to Unicode, supporting most non-Unicode Windows encodings. In order to play any non-Unicode game we needed to set the encoding manually before playing the game. There is an EasyRPG specific parameter in RPG_RT.ini to set the encoding by hand.
However, libiconv and Windows API were not supporting a way to detect the encoding. There were issues with yen, won and full-width tilde conversions, having issues when playing Japanese and Korean games.
Games don’t say which encoding are using
There are RPG Maker 2000/2003 games written in many encodings, but there is no a clear way to determine which encoding are using, as they can share the same bytes for different languages.
The solution: ICU
ICU (International Components for Unicode) is a library which brings very good support, including proper encoding conversion for Yen, Won and full-width tilde and an heuristic system for character encoding detection. With this feature the encoding can be autodetected and works fine for most games.
Broken game translations
There are games however, specifically game translations which are mistranslated, having mixed encodings and making the encoding autodetection fail. This is the case for some broken Yume Nikki translations. If you have file not found errors, you probably are using a broken translation. You can try to force manually the encoding in RPG_RT.ini for these particular cases, they may work better.
The ICU encoding heuristics detection gets some text data from the game. Currently uses some texts from the game database terms. Not all are passed because some default database translations from some editors are untranslated from Japanese and ICU would detect these games as Shift JIS when they probably are written using Windows codepage 1252 (western).
This effort could be considered too early to be done, however it is pretty useful, for example, for checking the result online along with the Test Game for fast testing without needing to download Player, game and RTP if not installed in the current machine.
The new port will require a fast machine with a modern browser. Mozilla Firefox (newest version) is recommended, as it is faster than other browsers when running it. Processor requirements are currently high, a +2GHz multi core processor is suggested.
Saving works. The Esc key maps to “Disable fullscreen” in the browser in some cases, use the X key instead to toggle the menu. But even with these flaws it is still a nice proof of concept.