A new project for WL4 ROM hacking and Level Editing

2018 September & October Progress Report :

We had a great progress in implementing Entity rendering (you can call it sprites) in the last 2 months. Now, almost all the Entities include enimies and some other things can be rendered correctly in the Room now with yellow boxes showing where it is. Everything we want to display in the main editor panel are totally showed. I really like to show you the whole render result in this level to show how amazing and complicated the Entity engine is in this game:
You will find a log of things you won't expect before are Entities, in the graphic, every yellow rectangle representing there is a Entity put there. To implement the Entity part in the Editor in the Editor, we decided not to just hardcode all the Tiles and positions of each Tile for each Entity, instead, we directly hardcode the pointer of the Entity ingame frame data, reimplement the GBA sprites engine in an alternative way in the editor so that we can render the Entity according to the frame data in ROM, this laid the foundaiton for Entity graphic and frame data editing for the later version of WL4Editor.

Another developer ccl joint us in this month, he help fixed an issue. The WL4Editor cannot open the gba ROM if you put it in a path with not only English characters, like E:\Program files\ワリオ\瓦里奥\wl4.gba, one month ago. and he also looked into the Qt Documentation and helped implement the EntitySet filter in the Door Config Dialog. (Though I have not added the code to connect Door data to the filter before I writing this report, lol.)

There are more than 120 Entities in the game, and the game engine just cannot load all the Entities into the RAM once due to the limitation of GBA hardware. So Entities are seperated into a lot of sets and each set includes some of the Entities. And the game engine save the EntitySet id in the Door config data so that you can change EntitySet in different Doors. (You can guess why the game not saves the EntitySet id in the Room config attributes but saves it in the Door data. XD) So we have to put the filter here. Anyway, it is really hard to promote that TableView to put CheckBox, and Entities graphics into different cells and let it works well, but he did it finally.
You can also find BGM id is saved per Door, that let you change BGM when entering different Doors.

We also start writing a helpfile for our editor recently in Sept. you can read it here. I will update it sometimes to show more details in the game and also how to use WL4Editor in this file.

It still needs a long time to build the first release, but we will build and publish beta test versions in our Discord server when the master branch in github is stable, if you want to help us test the editor or use the WL4Editor before we release it in public, join our Discord server now. We also report more details of the progress in WL4Editor in #announcement channel in the server. if you have any good idea for the editor, let us know.
Last edited:
Looks awesome @shinespeciall!

May want to point out that we're hoping to tie the the Wario Forums resources section into this tool though. That's gonna have a real positive effect on the community when the editor is finished!
Looks awesome @shinespeciall!

May want to point out that we're hoping to tie the the Wario Forums resources section into this tool though. That's gonna have a real positive effect on the community when the editor is finished!
Not the Editor itself but another software to link to the forums and download patch files, and also apply patches. I think it will be good to render Room in that tool.
2018 November Progress Report :

More progress is made this month.

First of all, the Door config dialog was full-implemented in the early days of this month. Although there are several Entities cannot be rendered correctly ( including 2 Bosses), the filter functionality for picking a EntitySet and the whole dialog work well as we expected. the textbox under the Entity Filter show all the Entities can be used in the current selected EntitySet, that means you can put those extra Entities together with the first 15 Entities showed in the Filter. (Note: the first 15 Entities can be used in all Rooms, though you will find only 9 of them are available. )

We plan to implement 4 editing modes in the Main Window, and recently all the UI logic has been added, so all the elements in the Room is editable now. Besides the Layer and the Door editing modes, the Entity editing edit mode and the Camera control editing mode have also been implemented this month:

This is the new Entity Selector and what it looks like when you switch to Entity editing mode. You can select an Entity included in the default EntitySet and put that type of Entity as many as you can into the Room, sure, it has a number limitation in the Entity list for each difficulty. because there are a lot of Entity are not align to the Layer mesh, so we render an extra yellow box align to the mesh for each Entity to show where it is put exactly.
For deleting existing Doors or Entities, you can switch to Door/Entity editing mode then click and select one of them then use "Backspace" or "DEL" key to delete it. also to add a new Door, we add that functionality in the "Edit" menu, that will add a Door in the current room, you should switch to Door editing mode to change its setting.

This is the Camera control setting dock widget when you switch to Camera editing mode. Basically, there are 3 camera control types found in the game. the first one let the camera be able to slide smoothly horizontally but set vertical movement fixed. Only when Wario go up or down out of the range, then the camera will move up or down with a constant value of height. The screenshot shows the first case how all the slots the camera slide on are like. The second type called "Follow Wario", it just set free to the Camera and it will follow wario everywhere as long as wario does not get out of the Room range. it also has a limitation, in 4 sides of the whole Room rectangle, the side 2 blocks of each edge won't be showed as it showed below.
The third type called "Use camera limitators", if you want to divided the Room into several parts and they cannot be easily divided by camera control type 1 or 2, then, you can set the limitation rectangle by yourselves, this is an example.

This mode also has extra usage, you can let one side of the rectangle be changable if Wario breaks a block you designate. just change the limitator type to which you want and then set the trigger block un the setting groupbox.

goldensunboy has been working on the saving code for a long time, and perhaps the saving functionality code can be finished and merged into the master branch recently. that means we will be able to edit and make Levels using this software recently. Though, there still a lot of things need to do before the formal v1.0, but we will release beta version of the editor in our discord server. Do join us if you are interested in making and sharing your ideas to new levels or to the editor itself.
Beta version has out !!!
download the latest build here:

if you want to report any bugs or want to know the progress of what we will implement in the next version, join our discord server now.
(the link can be found in the first page)
  • Like
Reactions: 607
beta-4 is relatively stable if you don't load a second ROM. but the undo/redo still only support Tile16 editing, so if you do something like change the width and height of the Room then undo changes you made previously, the editor will perhaps crash. anyway beta-5 will coming out soon, and if will fix the second ROM loading problem. For more bugfix information and features we added, see the changelog file.
WL4Editor beta-6 has out. we have fix a lot of bugs and find the editor will be really instable after saving, we need to spend more time on checking the code logic after saving. Anyway, most of the functionalities works well, it is okay to use the editor to modify or make new levels now. Though there are still some Entities canot be rendered well, an Layer editing issue when you try to modify the Layer 0 in any of the Room from the Level "The Big Board", and cannot save entity list changes if you only move Entities by direction keys ( i mean if you only move some entities, it won't save, but if you do something else like delete/adding some entities, then it will save the changes, so if you want to save an entity list, then just add then delete a useless entity after you moving entities, then all yhe changes can be saved. it is just causes we forgot to set dirty bool in the code for this operation ). But we are confident that we can make our editor to its v1.0. So in the following beta versions, we will pay attention to bugfix and we will add more newe small functionalities to let the editor works better. Do update your editor and join our discord server for the latest news if you are interested in level making.
So glad someone has been working diligently on this. I remember as a a child I often dreamed of seeing a Super Mario World editor and WL4 editor. The first one came true pretty quickly and had lots of fun with that and now this. Great work!
  • Friendly
Reactions: 607
Join the server for more mod, the site for people to download/upload mods won't come out really soon, so we share mods in the discord server first.
And, beta-7 have came out, and we will soon support msvc64 build too.
The site to download/upload mods will hopefully integrate with the tool itself, like in Mario Maker too.

And yeah, we plan to host it on this server, I think. With Wario Forums as the official forum for the tool
oh okay, it is not a good idea to opensource that tool in github (thanks to Microsoft, we can use private repository in github now), so I cannot release it in github too, just let the tool be released here is a good idea.
Got the chance to experiment with this and I must say it's really cool! I should've paid attention to the notes about exiting the program after each save because my rom corrupted after not doing so, oops lol. I only had one screen done when it happened so not a big loss. Either way, I'm really enjoying it so far.
Reminds me of Sonic modding tools, I'm going to be messing with it over the weekend now that I'm acquainted.
Maybe release a super difficult Hall of Hieroglyphs? Either way, really nice work keep updating it.
Reminds me of Sonic modding tools, I'm going to be messing with it over the weekend now that I'm acquainted.
Maybe release a super difficult Hall of Hieroglyphs? Either way, really nice work keep updating it.
The good news is that we have already have a dozens of small kaizo wl4 levels and event 2 big ones with a lot of Rooms, you can try them by downloading the mod from the mod downloading page I referred in previous post and try them. they are really hard for people who don't know anything about wl4 speed run, XD.

Another thing is, we are still updating the editor with new details. we will add some big functionality in beta 10 build, but not only some small bugfixes and small functionalities. Do join our server if you want to know more about the editor, discuss and catch up with our latest news about new details and also, discuss about ideas on creating levels.

I will make a new progress report after beta 10 comes out.
slow progress recently since i am busy. the current state is i am working on a new Tileset editor Dialog and gsb is working on a new patch feature. I will provide more details about them when they are about to finish, and beta 10 will be a big update apparently. also don't forget to join the server, i build non-official build there for new-feature testing
I was wondering: Will there be an already compiled release of the level editor in the future? I don't have any means of doing it myself whatsoever, so... Just wondering! :D

Edit: Never mind, just found the beta version! Is there a reason that when launching the editor, it says that there is no disk in drive D?
Sounds good to me. Hopefully soon I get back to working on the website side of this too, since I really want to get something like the Course World on Mario Maker meets MFGG/SMW Central going at some point in the foreseeable future.