RPGMaker Trans v3.02 released

Another bug fix release, but this fixes the bigger of the two issues - VX games can now be translated. The error crept in due to defective code for handling Windows's case-insensitive file system.

There's still Bug #1: Target VX games can't have non-ASCII characters in their base directory.

RPGMaker Trans VX Bugs

So currently it looks as if VX support on Windows is fairly broken. For anyone who wants to track progress, look at the bug tracker. I'll be working on fixing these bugs as soon as I am able, but at present I don't really have access to a Windows development environment, which complicates things.

RPGMaker Trans v3.01 Released

Quick critical bugfix release. Basically, RPGMaker Trans was looking for it's portable Ruby in the wrong location, which meant VX games were crashing (or at least if you hadn't installed Ruby 1.9.3, which is how this bug slipped by me).

Also fixed an issue with the issue tracker - somehow it had been set to private, when it should have been public. Bug reporting on Bitbucket should now work.

RPGMaker Trans v3.0 Released Again

So, contrary to the previous post, I've now not been able to reproduce the bugs and therefore have gone back to having RPGMaker Trans v3.0 released.

Be aware that until I get to the bottom of this bug report, there is a potential for v3.0 to overwrite patch files. So back things up before doing anything substantial, although you should be doing this anyway, really.

Release announcement:

  • VX Support
  • 3.1 Patch Format for VX Games
  • Command Line Mode for advanced users or automation
  • Race Condition that could remove parts of patches

v3.0 Delayed again

So I had a quick bug report, and something is going badly wrong with the build of 3.0 I put out yesterday. Hence I've removed it until I can figure out the bug.

Release Delayed

Release has been delayed for a bit. The reason is that I'm starting to see some odd problems - specifically, running the same patch multiple times results in some lines not being translated, but there doesn't appear to be any way of knowing what gets translated and what doesn't. Obviously, this is not desirable, so I need to get to the bottom of it.

EDIT: While I believe the above issue is probably fixed now, there are some bugs in the socket code that only manifest in Windows. Go figure.
EDIT2: And the above is also probably fixed, but one file won't unmarshal on Windows. Works fine on Linux, so I'm a little confused as to what is going on...

In other news, I'll spell out how I'll be handling the end of life for RPGMaker Trans 2.06: It'll be available until April-ish, and then it will go away.

Status, and a new Website

So, the current status of RPGMaker Trans is that I need to test it, probably fix the GUI (since the advent of CLI mode, I rarely use the GUI), and package it up for Windows, but unless I've made a catastrophic mistake somewhere version 3.0 is, to all intents and purposes, ready. Unless something goes wrong, the release will happen by Wednesday at the latest.

In other news, one of the benefits of Bitbucket is that they will host a website for you. Hence, RPGMaker Trans now has a website. It's a little bare-bones at the moment, and it is referencing version 3 which hasn't been released yet, but whatever. In the fullness of time, I'll be moving download links etc off of this blog and just having the website as the ultimate repository of RPGMaker Trans related stuff. Also, I'm fairly happy that, thanks to the CSS theme I downloaded, the website also works well on mobile phones. It's kinda neat, really.

3.0 Status

This is just a quick update before the new year to outline where things stand with regard to RPGMaker Trans 3.0

  1. Ruby Parser: Pretty much done. It needs one modification to it to be complete, but that should be easy.
  2. Patch file format 3.1: Done. There's a lot of features here, but the most prominent are that patches in 3.1 format have proper support for comments, are file agnostic (so a translation can be shared between multiple files), and don't have translations jump around (if a translation is in a given file at a given place, it will remain there). One feature is missing, which is for translations with no context.
  3. VX Backend: Pretty much done. The only feature that requires implementing is translation of embedded scripts. This isn't too difficult, but it may not make the 3.0 release.
  4. GUI/CLI separation: Previously, I had a single executable which could in principle handle both GUI and CLI modes. In practice, Windows broke the CLI when running from an executable, and given most people use RPGMaker Trans on Windows, that pretty much killed it. So the GUI/CLI have been separated out, and so there will be two executables available from now on; one handles the GUI mode, and the other the CLI. The CLI should be handy for scripting etc.
  5. Frontend: Still working on embedding the backend into the frontend. Nothing too technically demanding, just annoyingly time consuming.
  6. (editted to add) Unpacking: Also need to bake in the support for unpacking a VX game. It's implemented, but needs reworking for the RPGMaker Trans frameworks. 
  7. (also editted in) Windows Support: I use Linux for development, and so I do need to add in Windows support. Mostly this is just packing up runtimes and stuff, so hopefully not too bad.
So, unfortunately, RPGMaker Trans 3.0 will not quite make it for 2014. But it should make it within the first month of 2015, which is something.

Towards 3.0

So, I'm heading towards RPGMaker Trans 3.0. I had previously hoped to get it out this year, but not sure if that deadline will be met. The reason?

When starting to integrate the prototype VX support, I have become honestly confused as to why RPGMaker Trans hasn't blown up in more spectacular ways. Like eating parts of patches. There's a rather major race condition in the 2k patching engine, and I just don't get how it hasn't caused problems...

In any case, I'm going to be spending a little bit of time reworking the infrastructure of RPGMaker Trans, so this kind of thing doesn't happen. Fortunately, Python now has the asyncio module, which is geared for this sort of thing. It would have been really useful back when I started the Version 2 rewrite, but back then it was the world of Python 2.7 and it was a completely different landscape back then...

And for anyone not reading between the lines, 3.0 = VX support.

Ruby Parser Milestone: Successfully Parsing A Games Scripts

Huzzah! I can now actually parse a games scripts and extract everything that should be translated (or at least, that's what I believe; it certainly looks like it, but I'm obviously not checking by hand). That's a very significant milestone. The nastiest issue I've faced is Ruby ambiguous /, which is either the beginning of a Regex (which is technically translateable, and can mess with parsing strings etc) or division (which can't)

What next? Well, the Ruby parser is still not actually feature complete. There's a couple of more obscure features which need to be implemented, but most of these are easier. The only difficult one is embedded Ruby code, but hopefully there's some clever hack to work around it. Then there's the matter of finalising version 3 of the patch file format, implementing VX patching in RPGMaker Trans and also improving communication methods between Ruby and Python components (currently using temp files, but would like to use sockets).