A new project for WL4 ROM hacking and Level Editing

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?
seems you run out of space in your hardware?
 
2019 Progress Report :
In this year, most of the developers in this project don't have, so we cannot make some new beta builds (i did made some non-official ones in the server) but we have progress on several new features. The most important two are the Tileset Editor and the patch manager. The Tileset editor is almost finished so let's spend some time on it first.
11734

This is how the Tileset editor looks like, you can open it from menu "Edit" -> "Edit Current Tileset". you can see we almost finished everything in the dialog. (how to import a tileset graphic from a picture file is still under consideration, we will finish the tile8x8 editor soon)
You can edit the palette by select a color block then right click on it to open a color dialog to reset color.
You can set animated tile groups, those groups appear in front of normal tiles in Tile8x8 set, totally 16 group, each of the group slot use 4 tiles, these Tile8x8s can be changed when time passing or you hit some triggers like frog switch or exclamation trigger blocks. Keep this in mind that graphics are only graphics, you have to set Tile16 event id or terrain Id right to let them works correctly.
You can make Tile16 by yourself via setting all 4 Tile8x8s and their params correct. Don't forget to set Event Id and Terrain Id.
You can brush the Tile16 you want to use a palette you want by check on the Palette Brush and set the value in the spinbox.

Let me show you something i made by using the old Tileset graphics, it is a kind of cool, you can try by yourselves anyway you like:
11735


The patch manager is in its early stage, we have finished the UI and a part of the code, unlike the Tileset editor, the saving code, the patch list have not done yet, i can only talk about what we have planned. The editor needs you to install EABI tool in your system to support command prompt using. We plan to let the manager support auto compiling C code or arm7 code and importing the code into the address you want, with at least 2 importing method. The first one is instance branch jump from an address, so you can put extra code to somewhere you want. The second one is function pointer replacement. there are a lot of function calls via function pointers in the ROM, so we are going to support replacing a function pointers with the address you give out then set the pointer to another value, then you can let the game run your own function when calling the function. This is really hard to implement, we need more time.
Besides these 2 big features we are working on, there are some other miscellaneous changes and updates in branches. most of them are in gsb branch. So i can only show you about them. they will only come out when the patch manager finish, let's just keep them as secrets if you are not in our editor server and find them by yourselves when the next build comes out, for server members, go to the #announcement channel and scroll up, you will find everything. About the update time for the next official build, i am sorry to say that since we found the reason for the crash after saving and plan to fix it(it is a bugs which will happen after you saving changes to a ROM then try to edit something afterwards, and if you save the ROM again before the crush, it will corrupt the ROM, so keep in my to close the editor then re-open it for the next-time editing) the fixing code are in gsb branch (which is also the branch we are working on the patch manager) so you have to wait a long time. The Tileset editor are in another branch, so that's the problem. perhaps we can make one official build after we finishing the Tileset editor, but that won't fix the saving & crashing issue.
At the end of the report, Merry Christmas to you all and happy holidays.
 
Sounds good to me. Nice to see you're making decent progress with this editor, and that the crashes are getting fixed.

Hopefully it'll soon be stable enough for full length Wario Land 4 hacks to become a thing!
 
2020 January Progress Report :
I am so excited that there were several big PRs merged these days in the repository of the Editor in Github, and we did some good progress these days. So i am there again to show you all, who interested in the progress and want to try making Wario Land 4 levels, the things happened last month.
First, we move the repository to a Github organization which is held by staff in our discord server. We have uploaded the Wario Land 4 level sharing webpage frontend, WL4 ROM hacking documents and hacking record idb file to the organization.
This is the link of the organization: wario-land
Also the link for the level sharing webpage: Wario Land 4 Hack Vault
The level sharing page has been existing for a long time, our web developers changed the url several times in the past and the page is still on its early stage, so stay tuned to the #announcement channel in the discord server for more information.
Second, alt added a theme library to our editor, and now we have 2 available themes to use, Light Mode and Dark Mode. (Thanks for randrew's help and his phantom theme) So if you like Dark Mode, then in the next official build, (we have not released official build for 11 months, how time flies!) you can use it. Also the new Icon has been added according to the result of a vote. Also the editor now will generate an INI file once you run it and it will record your configuration & recent files you opened to make it more interactive and modern.
11922

The screenshot is some kind of spoiler but not a lot, indeed Goldensunboy is still working on the Patch features and you can see the menu item there in the menu bar. He PR-ed his code to the master branch so we can work on some of the code which he has re-implemented. The patch feature has not been finished yet, it won't be really soon to release the new official beta-10 build but it won't be another long waiting again.
The third thing is that, the implementation of Tileset editor was finally finished, so now you can import & overwrite tile8x8 in existing Tilesets and adding new graphics to you levels. The way to import new tile8x8s is a little complicated so i think i had better show it here step by step:
these are the tools you need:
1. usenti - a tool to draw pixmap: Usenti – A bitmap editor | Coranac
2. a tool to slice graphic from a file into 8x8 Tiles and save it into another gfx file, we have not find good international GUI tool to do this, there are 2 alternatives. The first one is a GUI tool made by a Chinese, it will be hard to understand the language but the tool is not hard to use, it is a really old tool and the programmer even did not share the code, so we cannot make change to it and rebuild the tool. Anyway i provide that in the server and you can get the tool there. The second one is a Python script, so you have to install Python to use that. eevee/fox-flux-advance
3. wingrit - a tool to generate Tileset graphic & palette data into bin file which can be able to read by the WL4Editor to add/overwrite existing Tilesets. we suggest you using the GUI version so you can configure the output manually, btw, usenti can be find in the parent folder there too: Index of /files/grit
4. A Hex editor
Okay here are the steps:
1, Open the usenti and the TIleset Dialog, you have to reset the palette in usenti according to one line of palette showing in the TIleset editor. Notice that, usenti use RGB555 so read the values from the Tileset editor then set them in usenti one by one. you should reset the first 16 color in usenti and remember to use the first color as a replacement of transparent which cannot be duplicated by other colors.
2. Design your graphic only using the 15 color and transparent-replacement color. then save your graphic into a png file.
3. Slice the graphic and save the result by using the second tool refferred in tools you need.
4. Open the second graphic file in wingrit and trigger the menu: View -> GBA Export to open up a dialog, then configure everything like this:
1643018212669.png

Do pay attention to the part i highlight with purple circles and underlines.
5. then you can import the bin file into the ROM now by the editor. The editor will ask you to import the 2 bin files generated by wingrit, the first one should be the bin file for the graphic, the second one should be the bin file for palette, and then it will ask the id of transparent-replacement color in the palette bin file.
11924

then you need to find the transparent-replacement color in the bin file by yourself. all the colors are saved in the bin file one by one in RGB555 format in big endian mode (you have to switch the low byte and high byte for each u16), and RGB555 looks like this in binary: 0RRRRRGGGGGBBBBB. so calculate out the value of color can let you find the transparent color you need. and you can use the bin file saving the graphic too. The things you need to know is that 8x8 tiles are saved one by one in the file, 32 bytes for each, which only contains palette id for each pixel. The max id of color is 15, so 4 bits for a pixel is enough. you have to do bitewise internal exchange for each byte between low-four-bit and high-four-bit. Then you get the data in its correct rendering order.
11925

11926

This is a test for the functionality:
11927

You have to set the palette slider in the editor to use the palette your graphic uses or you won't be able to import new tiles into the Tileset.
VforVictory:
The last thing is that we finally find the reason causes all kinds of bugs and crash after saving changes one time, and we decide to solve this problem in the next beta build. After we restarting making progress for this project at the end of last year, we have made a lot of other bugfixes and tweaks in the code which you will find in the changelog of beta-10 to make the editor have a better performance during the editing. We are working hard to try to let gamers enjoy making WL4 hacks and we are sure you will like it. So stay tuned with the #announcement channel and enjoy Wario Land 4 again this year.
 
Last edited:
2020 February, March and April Progress Report
Quarantine or staying at home sucks, our editor developers feel depressed and don't want to program too. But we do have some progress need to be mentioned. I will only talk about some big features we supported and ignore those small ones, they are too trivial. To get the latest build, you have to join the editor discord server, we don't want to make build for each commit or small updates in github based on a non-master branch.
The first thing i want to talk about is, we fixed the saving crash to some degree. The editor is not that stable enough when you do something like editing in one rom and then switch to another level or open up another rom, but it is stable and won't crash after saving or save multiple times any time you want when you editing a single level.
The second update is this, we adjust the Door Config dialog, and now you have to double click on a selected door to open it. And both the door previewer and the destination door viewer can auto-scroll the scrollbars to the place where the doors can be seen properly. Also the changes in GUI solved some panel auto-resize problems.
12392

The third thing is, we support js script in the editor. There is one thing perhaps people will get confused between the patch feature (which is still under construction) and the script feature. The patch feature can patch the rom with new code so it can change the game's mechanism, but the script feature help users to do something like background auto-generation in bonus room or else, you can write your own script and then run them in the editor, it can even be like command line that you don't need to create new script files but run some one line script in the editor. All the output will be shown in a new Output dock window when you open up a rom, also you can run your one-line code there too. A lot of functions are not supported in the framework we use to make this editor and this feature, so we implement them under interface object. All the functions under interface object can be found in https://github.com/wario-land/WL4Editor/blob/master/ScriptInterface.h . you can switch to other branch to find new functions there or just join the discord server for help and get the latest build.
12393

12394

The last thing is some QoL feature, now you can rect-select in both the Tile16 selector and in the main editor window (in layer editing mode by ctrl+Tab), which speed up your level making a lot. We added some other features like zooming the main edit view, supported loading and editing debug level, seperate the Layer 0 size out from the room size configuration and all kinds of other bugfixes. 3 months is a long time, i just forget the details of some (other) functionalities updates or UI tweaks. Anyway, Wish all the people have a good day and enjoy the progress report.
 
Seems like you've been hard at work updating this tool. The QoL changes seem like they work well, and script support in the editor sounds really useful too. Indeed, I think that would be a killer feature in any ROM hacking tool to be honest, since it'd theoretically let you automate a large portion of the game development cycle by running macros or what not.

Either way, congrats on your work here, and I can't wait to see what neat stuff you add to this in future.
 
We only have the plan for beta-10 now, It is hard to say when we will make a version 1.0, There are some re-implementation need to be done in several features and more functionalities like adding/deleting room need to be added. To make this, there are some reverse engineering things need to do on the rom, to find more details on the room header and the music engine, etc. Version 1.0 won't be the final version, we still can add more functionalities after that, to edit sprites tiles, to edit animated tiles and something else.
 
Ummmmmm... In The WL4Editor Folder, I Dont See An Application.
How Do I Open The Editor?:rolleyes::eek::hieroglyphhall::spoiledrotten::WarioEmoteDiscord:
You can get the builds from release tags in github pages, the newest public build is beta-9. We have updated a lot of new things after that release but for some reason, we cannot make new release build because some features are unfinished, and our schedule is we have to finish them then make beta-10. For now, you can join the WL4Editor discord server to get the newest inofficial build instead, they are much better than beta-9, just don't ignore the postscripts i made for using them.
server invite link: Join the Wario Land 4 Maker Community Server Discord Server!
official release page: https://github.com/wario-land/WL4Editor/releases
 
You can get the builds from release tags in github pages, the newest public build is beta-9. We have updated a lot of new things after that release but for some reason, we cannot make new release build because some features are unfinished, and our schedule is we have to finish them then make beta-10. For now, you can join the WL4Editor discord server to get the newest inofficial build instead, they are much better than beta-9, just don't ignore the postscripts i made for using them.
server invite link: Join the Wario Land 4 Maker Community Server Discord Server!
official release page: https://github.com/wario-land/WL4Editor/releases
Thanks SOOO Much I'm Working On Reworking The Entry Passage For My First Edited Level.
 
Last edited:
@MustangFan Good luck. we are looking forwoard to new levels all the time. there is one thing you need to pay attention to first, in current state, the editor cannot do everything, so you cannot edit things like the result bar in that dize level, and in pinball zone, i also don't know how to edit rhe counter per room either. So if you want to make a full hack and rework all the 18 levels even the 6 boss levels, you had better edit those normal levels first without extra mechanism. Most of the time in the last year, people only make one level hacks for fun. the reverse engeneering progress slowly recently, so we still don't know how to edit those trivial mechanisms. The editor still need time to add new functionalities.
 
@MustangFan Good luck. we are looking forwoard to new levels all the time. there is one thing you need to pay attention to first, in current state, the editor cannot do everything, so you cannot edit things like the result bar in that dize level, and in pinball zone, i also don't know how to edit rhe counter per room either. So if you want to make a full hack and rework all the 18 levels even the 6 boss levels, you had better edit those normal levels first without extra mechanism. Most of the time in the last year, people only make one level hacks for fun. the reverse engeneering progress slowly recently, so we still don't know how to edit those trivial mechanisms. The editor still need time to add new functionalities.
Thanks! I'm Making The Hall Of Hieroglyphs In Crescent Moon Village Style.
 
Back
Top