I have spend a couple of weeks dealing with the odd way SML3 handles sprites, unlike SML2 it does this with code instead of tables. So I wrote a Z80 emulator to follow the code then extract the needed info.
Also SML3 has multiple tilesets per level, and switches them arbitrarily when passing through doorways, so I wrote a smart way of automatically detecting which tileset is used by each part of the level. This works by flood filling from the doorway then assuming all of those blocks use the same tileset (simulating Wario travelling around).
Due to work I need to take a few weeks of from the project, which is a shame as the editor is really close to being completed. I'll be back though :)