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.
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:
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.
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.
This is a test for the functionality:
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.
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.