Sunday, June 30, 2013

Saturday, June 29, 2013

Build 0203

Here's a new release with some random new stuff, some working, some not.

Release listing:

Latest release:

Release notes:

I dropped some red labels on all the parts that aren't editable/saveable yet.  These will probably be worked on soon.

Report broken things here, or at ACMLM.

Sprite Swapping

I'm actually surprised this worked as well as it did.

Here are rabites modified to have the sprite frame and tile settings of mushbooms.

Friday, June 28, 2013


This hasn't been fully tested, but sprites (and their graphics) are now exporting back to ROM:

That's the normal standing sprite modified to include a mirror of itself.

That means it's almost time for a release once I clean some stuff up a little bit.

Wednesday, June 26, 2013

Help Pages

Okay, after a couple hours of fucking around with a bunch of open source things that didn't quite do what I wanted, I've got something simple that works.

I ended up just using the standard RichTextBox control with embedded RTF files.  These are large, bloated files, so I embed them gzipped, and unzip & display them as they're requested.  Seems to work, so we're going with this for now.

Edit: I can make links between them as well.

Tuesday, June 25, 2013

Minor update

Character/enemy tiles (except for bosses, yet) and their palettes can be written back to the ROM.  Like most things, the editor interface is not great yet, and I'll probably end up adding some sort of export/import to/from BMP/GIF/PNG feature.  I guess when you import them it will just have to match against the closest color of the palette you're currently displaying with, or maintain indexes in a paletted file (like a GIF).  Maybe in the end you could color it however you want and it would convert your colors into a new palette (assuming you use less than 16).  I guess I can play around with this later to see what's most useful.

Next up is the character sprite data (again, not bosses yet, since with the exception of the Mantis Ant those don't even read in properly) and maybe after that I'll drop a release, since I've added a bunch of shit since the last one.

I wanted to add an in-editor help feature as well, but I'm having trouble finding a good format to do it in.  HTML was my first idea, except that referencing embedded images from embedded HTML seems to be impossible, and I prefer to have things wrapped up in the binary when possible.

Saturday, June 22, 2013

More title screen stuff

One thing at a time.  Almost got everything editable now!

This one was a bit of a pain, because to make it variable-length and not give myself a huge hassle on the rest of the data in this block, I had to move it to the end.  It's also stored with a few other strings like the four credits that fade in and out, and those had to be moved with it since the same code is used to load all of them.

Adding lines to this thing "works" but has issues.  Not sure why yet.

Edit: "issues":

I think all that's left is making those pink birds editable, and the tree graphic.  Tree graphic comes later.

Friday, June 21, 2013

Title screen palette

Man, who would have thought the palette would have been the bitch part of this.

This turned out to be one of those situations where I have no idea why they did what they did. 

Changing the palette worked fine until I noticed part of it just magically reverted itself a little way through the title screen.  Turns out to achieve the text fading and transparency effects they do with the text that rolls across the screen, they keep about a million fucking modified copies of four of the palette's colors, and swap them in and out over time.  Once I picked through all of this and started generating all of these in the ROM export, everything was good.

Triple compression on this thing.  Compressed tiles, referenced by a compressed block of data that lays them out, all processed by a compressed block of code, and then they throw this giant table of colors in here, presumably to.. make up for the space saved by compressing the whole thing, I guess.  Sigh.  Whatever, it works now.

Wednesday, June 19, 2013

Title screen arrangement

Well, this works now too.

Editing these things is pretty time-consuming at the moment, but oh well.  At least it works.  I'll work on a better interface later.

Monday, June 17, 2013

More things working

LZ77 recompression working.  This is used for these graphics, the assembly data of these graphics into their title screen formations (oddly), parts of the boss graphics, and probably some others, so this crosses a bunch of shit off my list.

JPEG tree graphic not recompressable yet.  That's going to be a big pain, and I'm leaving that for very last.

Sunday, June 9, 2013

Event Editor

Still working on making various shitty things less shitty.  Event Editor currently takes the cake.

Edit: a bunch less exceptions now.  Editing events works better.  I also added the ability to insert dialogue characters you generally don't have a keyboard key for: