I would like to introduce/announce a small library I wrote during the last year. It started as a program which was capable of viewing Layer 1 and Layer 2 of each level of a (clean - it was only tested on those) SMW ROM. I am about to rewrite this program in a library and then write an application ontop of the library. Note that the library at this point does not do anything at all (does not compile) and the program does not do anything useful besides being a (open source) level viewer running natively under linux.
I am currently on a windows box, so here are screenshots from a windows build.
The project is on Github: http://www.github.com/horrowind/mockup
. (the master branch is the last working version of the program, the branch c_rewrite is the current branch under more or less active developement).
The tool is writen in horrible C++, the library is in C and uses a port of the 65816 emulation layer of byuu's bsnes/higan.
The library uses bsnes to run different parts of the ROM and reads the RAM afterwards. This makes life significantly easier as there is no need for hardcoding the layout of each object. This also means that ROM hackers could easily (within some limit of course) make changes to the level data format / routines which could be understood by the library/tool without any change to the code.
The tool is writen in Qt5 so it should be compilable on all platforms where you could reasonably hack SMW.
If you are interested in the code, take a look, but be warned, its ugly and unfinished. If you want to help, I am interested to know about the entrypoints of routines which write sprites in OAM, which would help me to render sprites. I think VitorViela did the necessary things with SpriteTip, with a similar aproach to mine (also using bsnes), but that is just guessing (I would be interested in the source code).
I am currently working on my university thesis and hope to resume work on this in a month.
Thank you for reading.
EDIT: I set up a build enviroment on a windows machine, so here you have a build: http://bin.smwcentral.net/u/12101/mockup.exe
Features: None, does crash randomly. To run you need a file named "smw.smc" containing a SMW ROM in the same directory. This file can be headered but this is not forced.
Your layout has been removed.