-
Project on pause
10/07/2021 at 09:55 • 1 commentIf anyone can help by building it in Windows and updating the Github so others can, as I only use Linux, also then I can then offer an ".exe" for people to use that would be great! :D.
I have too much work to catch up on, so I need to pause this project. But now it's alpha, anyone can try it and contribute with pull requests on the github page. I will reply within a day :).
-
completed alpha version!
04/22/2021 at 12:23 • 0 commentsthe alpha version of moojelly now views SML2 and SML3 completely! I am now publishing the source code to github, and welcome people to contribute.
The big delay was dealing with SML3 having multiple tile-sets per level, so now it automatically switches tile-sets by understanding the level and warps.Although currently the new re-write of moojelly only views levels, I have previously made them edit levels with no problems, so I know adding level editing isn't a big job.
this image shows a complete SML3 level, automatically switching 3 different tile-sets and sprites!
-
Auto tilesets!
01/17/2021 at 17:36 • 0 commentsThe biggest hurdle on supporting SML3 has been completed; auto tile-set (and sprite) changing.
SML3 added that each level can have multiple tile-sets that change when you go through doorways, to support this I added that it simulates playing the level and figures out where you can go, then changes the tile-sets accordingly. It works almost perfectly!
I haven't yet got it changing the sprites too, although I have the data.
the colours are different paths being traced in debug mode.
-
Project resumed
01/11/2021 at 14:26 • 0 commentsI have made some progress, I finished the Gameboy processor emulator and got it to correctly pass all the test ROMs, and integrated it to extract the SML3 sprites properly from the ROM. Also I have finally added the static bonus sprites for power ups.
So the next stage is finishing the tile-set switcher (which works by simulating player movement across the level to decide which doorway was been used then applying the correct tile-set. This is practically completed already.
The editor is now nearly feature complete as a viewer, adding the editing after isn't actually a big deal, as all the hard work of figuring out how to do this has been done in the previous version before the rewrite.
-
delay
09/22/2020 at 07:46 • 0 commentsbeen busy, with my paid work. This is coming to the end for this year, also winter is coming, which is a good time for me to do programming generally.
Update: probably 2 weeks until I have free time now. -
complexities with SML3
03/13/2020 at 14:14 • 0 commentsI 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 :) -
C++ port is feature complete
02/26/2020 at 19:24 • 0 commentsI have now got my prototype working with both games (SML2 and SML3) with all features (sprites, sectors, levels, etc...). And it is done in a far superior way than before (all extracted from the ROM).
There is still a fair amount of work to complete the editor, but it shouldn't be too long now!SML2 output sample:
-
C++ port nearly complete
02/11/2020 at 15:32 • 0 commentsmade good progress, the currently unreleased rewrite now uses the headers for SML2 and SML3 to load all resources unlike the older version that was half hard-coded. I also found a missing header for SML2 that defines the tiles for each level finally!
here is a sample of a SML3 level:
And here is a SML2 level: -
Porting to c++
01/31/2020 at 09:49 • 0 commentsthe project stopped for a long time because it was written in visual basics, which is a nightmare, so now I am rewriting it again in C++ and finally finishing the editor!
I have also made a little progress backwards engineering Super Mario Land 3 now, so will be adding that too :).
got it extracting levels already, just need to add tiles now:
-
project restarted
04/10/2016 at 20:30 • 0 commentsfixed a bug that made the edited levels white screen the original hardware. (don't patch the rom name to work around it for now).
Me and one collaborator have started to compile levels to get this finished.