Sorry for the lack of updates, but we've been working hard and hope to have our first release out soon! I apologise for the length, but this is a pretty detailed/technical post.
The base editor is about 95% complete now - we're simply working on bugfixes and other minor improvements. The only thing we're waiting on now is the sprite data collection. (I also need to implement custom graphics for the platform line guides, like in 8-7 - since they don't show otherwise.)
One main improvement that I've been working on today is for speed. Right now, the editor works quite well in normal usage (even on underpowered systems) - but loading tilesets is extremely slow. Reggie takes about 20 seconds to start on my netbook (1.6ghz Intel Atom CPU, Linux Mint) and about 5 seconds on my desktop (2.4ghz Intel quad-core CPU, Windows 7).
So we've been looking into optimising it. I tried rewriting the texture conversion code to avoid calling into PyQt for every pixel, and to do everything in pure Python code. It didn't help though - in fact, it was
slower than the original code.
So then, I decided to look into Python extension modules. I implemented the exact same algorithm in C, and made Reggie use it. The editor takes about 3 seconds to start with Psyco (
Python JIT) off and less than a second to start with Psyco on. Quite a nice improvement, right? Loading tilesets is still a little slow with it off, but I suspect it's due to the decompression. With Psyco on, they load almost instantly.
However, this will make it harder for source releases to work (as you'll also need the module compiled/installed), so I'm going to keep the old code - if the NSMB module is available, the optimised functions from it will be used; but if it's not available, the regular Python implementations will be used.
I'm also working on recoding a few of the other algorithms (like LZ decompression) in C, which should make it run even faster. That was your update for today