RPGMaker Trans v1.9

This version has been superseded by RPGMaker Trans v1.91

So yeah... it seems that there were some big problems in the RPGMaker Trans 1.8-series. My bad. This release fixes those problems and introduces the advice field. I'll also apologise for delays, but my laptop (and primary development machine) had it's inverter board die and I've been busy sorting it out for a repair.

This also marks the debut of my new file hosts. If there are problems, please comment and I'll do what I can. The reasons for the new file hosts are in this post.

1.9 Release Notes:
  1. Advice Field: Gives advice on text length limits etc. I'm not 100% certain on all the limits, but they seem alright...
  2. Security Fix-Fix: Issue with the security fix which meant that the even with the fix it could still be exploited - although the user would be at least informed something was amiss. This has now been fixed.
  3. Fix Escaping Problem: As the \ symbol was being used to escape a # at the beginning of a line, a \ at the beginning of a line had special properties. However, \ is used a lot in RPGMaker strings, and this bug meant that RPGMaker Trans would fail to match any string which had a line beginning with \, and in addition mangle the input file. In addition, strings weren't being escaped when written to file so something similar would happen with strings beginning with a line beginning with #. The new semantics are that a "\#" at the beginning of a line is a "#", otherwise do nothing. 
  4. Removes "Terrain Data" from Translatables: There seems to be no way of getting a Terrain Name output to screen (at least not from this variable) so I assume it's for developers.
You'll also need to restore patches to "pristine" versions, as 1.8/1.81 will have mangled them. I'm in the process of uploading fixed patches to the appropriate places.

EDIT2: There is a bug in v1.9 that stops v1 format patches from being correctly converted (specifically patches for LMU files). This will be corrected in the next version. If you need a hand with this before then, please leave a comment and I'll do my best to help out.

Next work will be on the long delayed RPGMaker XP version, and the mysterious "Project Fractal".

Next version features...

Just a heads up on what the next version will bring: an "Advice" field in the translation files, which should make a translators job somewhat easier - and incidentally bring the new patch file format up to feature parity with the old. It'll also be using the new filehosts.

Also, as you can no doubt see, I've managed to get the header with the download links to look about right.

And finally, even if it's somewhat late: Please consider donating to the Japanese Red Cross, or any other organisation trying to help with the disaster in Japan. They really need the help right now, because in addition to the massive natural disaster, Japan is quite an underinsured country, and of those who have insurance only about half had insurance against a tsunami. A lot of people have lost everything, and aren't going to be getting anything other than whatever kindness others show them.

New file hosts

EDIT: I've finished doing evaluation etc. Automation is still in progress, but the only real challenge presently is Freakshare, which may be more trouble than it's worth. Hence, future releases of RPGMaker Trans will be distributed via Easy-share, Fileserve and Filesonic. Freakshare may be added to this list if automation is practical.

This is just a call for comment, more than anything. As people probably know, RPGMaker Trans v1.81 had some problems with Megaupload; there was a lot of "This file is temporarily unavailable". Now, there's a few reasons why I was using Megaupload - primarily that I already had an account on it, and it seemed relatively fast and reliable. That's no longer the case apparently. I remedied the situation by adding a Mediafire mirror.

However, there is a problem with both Megaupload and Mediafire, and that is that they're not particularly easy to upload to; I have to upload through a website to both of these. I'd much prefer to just have my compiling script auto-upload the file.

I've had a look around for filehosts which I can autoupload to, via FTP or otherwise. So far I've got the following (updated as of 11th):
  • freakshare (FTP seems alright / would like to automate file acceptance and getting link, may be possible using some trickery) 
  • easy-share (Again, FTP seems OK but the API looks kinda neat for doing automation The API is brilliant!) 
  • Badongo (haven't tried yet, but this is on my ISPs throttle list so probably not) Uploads to Badongo take hours due to ISP
  • fileserve (Not investigated yet, but advertises FTP and doesn't seem to be throttled; thanks anonymous commenter)
  • filesonic (Just spotted it has FTP upload. Not investigated yet, but seems OK)
So then, question: would people be happy with a freakshare / easy-share /fileserve mirror combo in future? Please reply via comments. Also if anyone knows of any other filehosts which provide FTP or an upload API (not an upload program), I'd love to know so I can take those into consideration as well.

EDIT: As a lot of people who use RPGMaker Trans and would be affected by a change in filehosts come from Hongfire, I've temporarily enabled Anonymous comments.

RPGMaker Trans v1.81 Release

This release has been superseded by RPGMaker Trans v1.9.

Well, it didn't take long for some critical bug to pop up. New link at top of page.

Release notes:
  1. Bugfix: Fixes the bug where fully patched files (e.g. images etc) crashed the translator
  2. BOM-Support: Support for files with BOM (as some Windows software insists on them, and apparently it can make it easier for some people to use to translate) and also support outputting files with BOM. To output files with BOM, in the config.ini file add the line "bom=True"
One notable... um... note is that this version also marks a change in my build system. As I do most development in Linux I was originally having to switch OS to build the executable. I've now got a setup which lets me use Wine to build the executable natively, and am using that. One slight problem is that it seems that, at least on my current version of Wine, I'm unable to actually test the executable natively. I have checked with the current version that it runs etc, but I may not with other versions (as it takes a fair amount of time). As Python is highly portable, I'm not too concerned about this, as things will almost certainly work anywhere... but if there's a crash with really obscure errors, that's probably what's happened.

RPGMaker Trans v1.8 Release

This release has been superseded by RPGMaker Trans v1.81

Download link is at the top of the page. I've gotten around my ISP filters by walking to University to upload stuff there. If you can't download off the filehost(s) which I've picked, please leave a comment and I'll try to get some more mirrors up; don't mirror this yourself without asking permission first.

One important note on this is that there's been a minor change in the way that translated games are detected and manipulated. This means that initally, games translated by an older version will be detected as untranslated games. In theory, as soon as the game is repatched, this will go away.

So, the new features:
  1. Multiprocessing: Uses multiple processes to get a pretty big speedup on patching
  2. Patch file format v2.0: The new patch format has contexts to identify strings, which gives translators more info, and also avoids some translation issues. It still needs an "advice" field, to let translators know of character limits etc, but as this format is extensible it should be easy to add. Another benefit of this patch format is that it less than half the size.
  3. Update checker: RPGMaker Trans checks to see if it's running the latest version. If not, then you get prompted to download the latest version. This is mainly to ensure that everyone is running the latest version, so I don't have to try and guess what version someone is using when doing support.
  4. Security Fix: Quite important, I think. Some mitigation against the security issue I outlined in the previous post. Still exploitable, but a lot harder.
  5. Doesn't Disappear: Another quite important feature. RPGMaker Trans will now wait for you to press enter before closing the window. This makes it easier to determine if something has gone wrong.
  6. Log Mode: Produces an easy to submit log file for error reporting. Just type 'd' at the game select prompt. Note that log mode disables multiprocessing, so it isn't recommended for general use.
I have (or will in the very near future) released updates for all the translation projects that I am aware of, to bring them up to v2.0 support. For those who I'm not aware of... there is a unsupported (meaning I'm not going to be responsible if it works or not) feature for loading old format translations. Instructions:
  1. In the patch folder, delete any .txt file which has a size of about 2 bytes.
  2. In the patch folder, rename "RPGMK2kTRANSPATCH" to "RPGMKTRANSPATCH"
  3. Delete the translated version of the game
  4. Patch the untranslated version of the game; Theoretically, what will happen is that the game will not get patched, but the patches will be ported to version 2 instead. Rerun RPGMaker Trans if you want to patch the game and it should work fine.
I will warn anyone porting a patch up that the limitation of the porter is that it cannot port any unused strings, because there will be no valid context for them. So you'll probably want to backup the patch, I think.
    The next features I'll be working on (in no particular order):
    •  XP/VX support
    • Automatic insertion of a machine translated script
    • Alternative patch file formats (CSV or YAML)
    • Advice fields for translators + Advice checking
    And the final note of this long post: I have put Ads on this blog. This isn't so that I can get rich - I won't have anywhere near enough visitors for that. However, I'm using some open source / public domain stuff which isn't sponsored by big companies (BeautifulSoup, for example), and am going to be putting whatever I get from the ads to donations for these projects.

    Stupid damn ISPs...

    I'm ready to release stuff.

    Unfortunately, I've just found out that the way I was bypassing the IWF proxy (something that the UK has to deal with; overall there's very good reasons for it, but some implementations are problematic) on the file sharing sites I was planning to use no longer works. This results in an upload speed that's being reported in bytes per second, which means I'll have to wait far too long to upload anything, really.

    So basically, there'll be a release as soon as I can actually do it. When I get a chance, I'll started poking about with other file hosts, or failing that, other Internet connections.

    I would like to apologise to everyone who was waiting patiently, but this is really out of my hands.


    Annoyingly, things haven't quite gone to plan. There's two main contributing factors to this; first off is that the fix for the security issue is a little hard to actually program (I know what I need to do, but just haven't been able to do it yet). The second is that today a lot of the time I had planned to allocate to this project got consumed by some mandatory DIY I had to do.

    So basically, I've got to push the project back a couple of days. New target date is 3rd March, but hopefully sooner.

    More features, but possibly controversial

    As you'll probably note, there's now a RPGMaker Trans "latest version" thingy at the top of the page, in preparation for a launch soon. Hopefully I'll be able to make the style look a bit better at some point, but that's not important presently.

    The latest version part is a little scheme I've cooked up to try and minimise support headaches for me. I have my suspicions that some problems that people had with older versions of RPGMaker Trans was because they used outdated versions. Hence new versions of RPGMaker Trans will check to see if updates are available by looking up this blog - this is one of the other advantages of moving off Hongfire. If an update is available, then RPGMaker Trans will notify the user and will not run until the update is applied. Or as far as that is possible; in practice a user can get around this by simply deleting or editing the configuration file, or blocking RPGMaker Trans with a firewall. There will also be a clause in the RPGMaker Trans license which means that users are only authorised to run the latest version of RPGMaker Trans, so hopefully ethical people will heed the new rules.

    On the subject of license changes, I've redone the redistribution clause. The new clause actually works from a legal point of view (the old one did not specify the license that people with a redistributed copy should use, and so did not work), but also there is a requirement to get permission from me first. This is mainly so that I can have a list of people to e-mail updates to, again to minimise support headaches.

    ... Actually, when I say support headaches, I also mean "serious security flaws". There is a concerning attack vector in older versions of RPGMaker Trans, given it's usage case. Potentially,  it is possible to create a game which can execute pretty much any code when fed through RPGMaker Trans; this could be of concern to unauthorised translations when the creator really strenuously objects, but also if there's just some malicious person wanting to expand a botnet or something. Whilst I've got the solution to this hole planned out and nearly implemented, I think it's wise to get some form of centralisation so I can get updates out in a timely fashion, in case there's some other problem.

    And for reference, I'm not being spiteful and making up this security hole because I object to other people sharing the present version of RPGMaker Trans, despite my request not to. I'm not going to be disclosing the problem quite yet (as it would be irresponsible of me to do so when users have no way of fixing the problem), but there will be a full disclosure of the problem once the new version is out.

    EDIT: As an addendum, patch files can also be used to exploit the flaw (thanks for the question, Matt). I mentioned game files simply because there is a translation project going on which I'm pretty certain isn't approved of by the creators, and so I think this is perhaps the more likely place for the attack to happen from.

    Preliminary launch date

    Turns out other projects occupied more of my time than previously thought, but the new version of RPGMaker Trans is nearly ready. The new patch format is coming along nicely - the changes are as follows:

    • UTF-8 rather than UTF-16: Reduces file size
    • Changing the method of string identification: Previously, a string was identified by the string itself. Now it is identified by the string and a context (e.g. Hero Name, Item Name, etc). The context is shown in the translation file which provides extra info to the translator. It also means that, for example if a character and an item shared a name in Japanese, they no longer match meaning both can have a different translation.
    • Currently working on an Advice field which can store for instance, a character limit.
    The bad news is that RPGMaker XP support might have to wait a little. I haven't had a chance to complete or test it, so it's still sitting at 50% done.

     Anyhow, the preliminary launch date is 27th February. I'm hoping to launch with XP support, but I can't guarantee that.

    First Post

    This blog is just a place for me to post some misc programs and stuff.

    The first program to be released will be a new version of RPGMaker Trans, when it is finished. This was originally being released through Hongfire, but doing this seemed to give some members of that community the impression that the license could be freely ignored (or at least, that's the impression I got from various flames that came in my general direction) and that my attempts to get people to honour the license / not encourage breaking the license were some kind of capital offence. Part of this might be because some individuals have some misguided sense of community there, as in a sense that everyone has the same values - which seems to be fairly low with regard to respecting copyright, authors wishes etc - something which I actually try to do!

    Hence this blogs main purpose is to put distance between my work and Hongfire. These tools are NOT meant as a contribution to the Hongfire community. They are something I created in my own free time, and have released so that other people may use them.

    There are also other reasons which are probably better reasons: releasing stuff over at Hongfire does reduce the audience of these tools and editting the posts on Hongfire was becoming a pain, as well as worrying about the thread bumping rules - tricky to manage when the release thread doesn't get many posts.

    So, with the gloomy stuff on why this blog exists over, the teaser for new features in RPGMaker Trans 2.0

    • Multiprocessing - provides a big speed boost on most machines (Implemented)
    • New patch file format - Easier for translators to work with, and necessary for a plan I'm working on (auto insertion of a machine translated script)
    • RPGMaker XP support (50% complete)
    • Various bug fixes

    The date for this release is not set in stone. I'd be surprised if it's later than the end of this month, probably more like a week and a half.