Saturday, May 31, 2014


Fixed a couple things.  Some sprites look better now:

Others, uh.  Less so.

Edit: Okay, well, I think all the TILES are displaying now. Just.. some of them are paletted or positioned wrong.

Thursday, May 29, 2014

Build 0213

Release notes:

  - Add support for DTE for text compression, for incoming ROMs and outgoing ROMs.  This
   saves about 20K of space in the US ROM, which is the only one NOT to use DTE in its
   original form.
 - Move offsets and other version-variable numbers out to a set of properties files,
   which in this first release grant support for the following ROM versions:
     - US Version 0
     - French Version 0
     - German Version 0
     - PAL English Version 0
   Other ROMs will not load, but support will be added later for them.
 - Write out all ROMs with version 0x0F, so the editor won't try to load them back in
   (and fail horribly)
 - Fix a couple issues in Event parsing, one of which caused the treasure chest "shaking"
   animation to disappear.
 - Don't write out SPC samples unless you changed one.  Whoops.
 - A few bosses look better now.  I still have a lot of research to do on these.
 - Partial French and German translations, and they're probably not very accurate.  For now
   this was really just a test to make sure the properties files were working correctly.  These
   will be finished/fixed soon, by .. someone who speaks those languages, as soon as I finish
   moving all my strings out to properties files.

Mostly language, font, and DTE-related stuff this time.

Monday, May 19, 2014

French & German Dialogue

This seems to load now.

There are still other issues with at least the title screen to work out before I call these ROMs "working."

Sunday, May 18, 2014


DTE for ROM output seems like it's working in the US ROM.  This allows common two-letter sequences to be encoded in a single character and reduce the space that the events occupy.

Strange thing about DTE is that while SoM has code and even tables to do it, they don't use it, and the code for the tables is even screwed up and overlapped.  The editor now patches this code and re-generates the table based on whatever dialogue you used.

The difference in event space is 109914 (original event data) bytes versus 83165 bytes with DTE.  That's a savings of like 25%.  Pretty considerable.

Also notable is that the European versions of the ROM do actually use DTE.  Maybe they couldn't figure it out in time to make the English version work, I don't know. These are still not loading correctly due to differences in title screen (it says "Nintendo" instead of "Squaresoft" in these versions and I guess that was cause for encoding it slightly differently) and font (accented characters), but support for these ROMs will be coming soon as I know a lot of you guys are German or French.

Saturday, May 17, 2014

Build 0212

Release notes:

 - Add "Export to PNG" for World Map.
 - Rearrange a lot of GUI strings so translations can function better.
   This is not complete yet.
 - Fix glitch that caused walk-on events and special events to be processed
   incorrectly for a few maps.
 - Disallow loading of foreign language ROMs until they can be processed
   correctly. US ROM only for now!

This fixes an issue I just found with certain maps (like 62) ending up with a trigger incorrectly at 0,0 and throwing everything off.

Also to the guy who wanted export world map to PNG, now you've got it.  Enjoy your giant PNGs :3

World Map

I added "Export to PNG" per someone's request a couple days ago.

It makes a nice big PNG file.

World Map still needs a little work because there's actually a part of it that I don't read in yet - the raised version of the purple continent.  Will be added sometime soon.

Monday, May 12, 2014

Next up

So, a list of things that are "next," in sort-of-priority-order

- Fixes for the existing shit as they come up

- Support for DTE for European (and maybe Japanese) dialogue.  Full support for the Japanese SD2 ROM is probably further off since last I checked it was actually organized considerably differently in at least a few spots.

- Interface/usability improvements (some have been suggested)

- Enemy/NPC sprite stuff (these only look maybe 50% correct at the moment) and Boss stuff (Currently only Mantis Ant and Metal Mantis look anywhere near correct)

- Actual implementations of the currently-useless language buttons I've had sitting in there for years.  I don't know French or German so I'll probably just run my strings through Google translate, then have someone who knows the language fix them up.

Sunday, May 11, 2014

Build 0211

Release notes:

 - Make triggers positionable, add "Return" type trigger, and
   fix processing for "Special event" trigger type.
 - Add "Save to PNG" for composite maps.  Note that not all maps
   look exactly right yet.
 - Add fast forward toggle-button for music playback.
 - Fix alignment of song names and update some of the names.
 - Fix divide by zero exception for empty song channels.
 - Add placeholders for changing the total number of certain things.
 - Change method of output to project file and external files for
   composite maps.  Now stored as human-readable/modifiable properties
   file.  Old file type still supported for compatibility.  Similar
   changes to come for other data types.
 - Probably a bunch of other shit I forgot about it's been a while.

The big thing here is maps should be more easily editable due to positionable triggers.  This works in part due to a pile of new snescode I wrote to redesign the way they handle triggers, and it hasn't quite been tested to the extent it should be, so if anything seems horribly broken, do let me know.

Saturday, May 10, 2014


A nice remix of the Mana Beast theme.

Cleaning up for a release, I think I've fixed maps 257 and 258.  I am sure there are still problems, but at the moment all the new trigger stuff SEEMS to work.

Edit: christ, blogspot makes it a giant hassle to just embed a youtube video that you already have the link to. I have no desire to pick through your crippled search results. I already have the goddamn link.

Friday, May 9, 2014

Exit Doors

I think they're place-able now!

It may still not work perfectly, but a test on map 257 worked:

Notice I moved the right-side exit-doorway block up to that corner with the shadow.

Here's an in-game shot of the screen fading out as I step on that tile.  Not really sure how else to show it working.  But it does lead me back out to where I came from.

So.. a release might be soon now that I THINK all trigger types are easily movable.

Thursday, May 8, 2014

Map 258

Figured out how the "Special Event" triggers work.  The 0x02 bit that I was ignoring from map header byte[3] is part of it, and the two bits together indicate the index of the tile in the collision layer that executes the special event.

This fixes map 258, the elder's house in potos:

For now I'm indicating them with yellow squares.  With two bits, you can pick either tile 0xC0 (which is out of range, and indicates no special event), 0xBF, 0xBE, or 0xBD for the special event trigger.  These can be useful if you want a bunch of tiles in a row to execute the same event without putting in multiple triggers.  SoM also uses them in maps with whippable posts to execute the event that shoves your party together to prepare for a whip transfer thingy.