A new project for WL4 ROM hacking and Level Editing

shinespeciall

shinespeciall@gmail.com
Coins
7,848
Points
0
Coins
7,848
You can share your final hack in the discord server, and we can upload your hack to a webpage full of WL4 hacks.
this is the site: Wario Land 4 Hack Vault
P.S. the address of the site will change, so pay attnetion to the discord server or the github repository of the website.
 

MustangFan

Gamer
Coins
0
Points
0
Coins
0
Thanks! But, Something VERY Weird Happened In The Editor. I Had Just Finished Up The Hall Of Crecent Moons 3rd Room,
But Now When I Open My Rom And Go Into The Level, There Is Just A Black Screen. Do You Know Whats Up With That?
 

shinespeciall

shinespeciall@gmail.com
Coins
7,848
Points
0
Coins
7,848
Thanks! But, Something VERY Weird Happened In The Editor. I Had Just Finished Up The Hall Of Crecent Moons 3rd Room,
But Now When I Open My Rom And Go Into The Level, There Is Just A Black Screen. Do You Know Whats Up With That?
Do you have a bakcup of your rom? i mean the modified one. the editor is becoming more stable in the recent few months but we are still unsure if the editor will corrupt the rom or crash by itself during the editing. Send me your rom patch file in the discord (PM) and i can try to see what's wrong with the data in the rom and what need to be fixed in the editor. and tell me which version you were using when editing the level. You really should use the latest unofficial build i made in the discord server, they are more stable.
@MustangFan
 

shinespeciall

shinespeciall@gmail.com
Coins
7,848
Points
0
Coins
7,848
i think you had better not posting the rom file here, but using bps file instead, make a patch file based on the vanilla rom for every hack, before Nintendo doing some legal actions. tho i have downloaded the modified rom already, xD. @MustangFan
And here is a manual way to fix your rom:
first, you need an hex editor
then open the rom with the hex editor and go to address 0x790158 (this is a hex, not decimal)
you will see this:
12469

then modify these 3 bytes into F4 FE 78 08 like this:
12470

and save the file then you can edit your rom on the editor again.
Since you did not told me which version of the editor you are using, and your editing details to cause the crash, so i cannot help you more about it.
 
Last edited:

CM30

Diamond City Mayor
Diamond City Leader
Coins
75,872
Points
0
Coins
75,872
User Name Style Change
Postbit Highlight (Pre-Defined)
Gold Necklace
Gold Earrings
User Title Style Change
I'm not really into stuff like this, but can someone explain why ROM hacks are so controversial?
ROM hacks aren't controversial, but ROMs are.

People don't distribute the fulll ROM as one file because it contains copyrighted content (read, the entire original game + edits). Meanwhile patch files (which most ROM hackers distribute) merely contain the changes they made to said game, not the original copyrighted content.

It's like distributing a Mystery Science Theatre 3000 style commentary; if you distribute it along with the film, you'll need express permission from the studio who owns the film, whereas if you distribute the script separately, you don't.

Hence why full ROMs aren't posted here, but patch files are.
 

Just a Wario Fan

Guardian Genie of Diamond City
Coins
9,628
Points
0
Coins
9,628
Fancy Lamp
Magic Lamp
User Name Style Change
Username Change
CD
ROM hacks aren't controversial, but ROMs are.

People don't distribute the fulll ROM as one file because it contains copyrighted content (read, the entire original game + edits). Meanwhile patch files (which most ROM hackers distribute) merely contain the changes they made to said game, not the original copyrighted content.

It's like distributing a Mystery Science Theatre 3000 style commentary; if you distribute it along with the film, you'll need express permission from the studio who owns the film, whereas if you distribute the script separately, you don't.

Hence why full ROMs aren't posted here, but patch files are.
Ah, I get it now. I already knew it had something to do with the distribution of copyrighted material, but that's about all I knew of it.
 

shinespeciall

shinespeciall@gmail.com
Coins
7,848
Points
0
Coins
7,848
2020 May and June Progress Report
Thanks to Goldensunboy's great contribution, the new patch feature coming out with our newest beta-10 official build released in Github. for a long time, our dev branch cannot be PR to the master main branch since the patch feature code, the hardest part, cannot be done and make the editor stable, but now it is finally finished and function much better than we thought at first. I would like to show some detials about it.
Normally, when we want to manually apply some asm hack to a gba rom, we need to reverse engeneer the rom first, and find the part of the code we want to modified. Then if the new functionality we want the game engine have can be directly modified on the original code, we only need to modify several bytes of asm in the rom, if it is not like that, and we want some completely new things happen in the game, and the space which the original code occupies cannot hold the new code, then we have to inject a long jump in that part, to jump out from the original code part, to some new address of free big spaces, and we write our new code there. so gba will jump out from that place to the new address, and run our new code, then jump back to run the following original game code. in this way, we can modify some game code we want but keep the other things same as usual.
The most headache part of making an asm hack is you have to write asm by yourself, which is really ineffective, and everytime, if your code cannot run well, you have to modified your asm code, which makes the whole thing more headache. And because of the ineffective, it it almost impossible to program some big things like overhaul a sprites AI, or make a boss which is completely new in the future. So goldensunboy came up with this idea to make an auto-patcher for the editor, to make it possible to let people write code in C (you can still use asm) and auto-patch your code into the rom somewhere. to use this new feature, you need to download the GNU Embedded Toolchain for Arm by yourself.
During the time he implementing the new functionality, we feel it will be better to let users to customize the hook part, which will be injected into the original code to help jump out from the source code to excute the new code written by ourselves, so the size of the hook part can be size-flexible and you can do stack balancing and other things all by yourselves, and it can be used in multiple cases. We decided the format of the hook be one part of some hex which you need to hardcode by yourselves and can be different in different patches, then a pointer which the editor will generate when applying the patch, the third part is another part of some hex. You always need to input a Hook String for all of them, the pointer should be written with an escape character P. Also, the first part and the third part of the hook even the P can be non-necessary. So you can do something like replacing a pointer from a function pointer table, or apply several bytes of changes to the rom without jumping out to excute new code. You can even use some inline asm in your C code to get or set regesters and stacks, but this is compiler specified. Btw, all the patch address should be on the source code part, so you cannot apply a patch on another patch. And goldensunboy add identifiers check in the code file when loading them, so all the params in the dialog can be auto-loaded if there are some identifiers in the comment in the C code file. To use patches made by others, you even don't need to understand the detials of their code, and don't need to read their code file, you can directly apply it using the editor to some degree (if there is no conflict between patches).
Goldensunboy made it that all the patches you use the editor to inject into the rom removable. so it is flexible enough that you don't need to always develop the patch first, and apply them into the rom with hardcode address, then use the editor to edit other staff, so any corruption to the patch will currupt the rom. We don't have these problem. if you don't want some pathces anymore, you can remove it anytime you want.
It's a really exciting news that this finally came out, now we can dream about the future of wl4 hacks with all kinds of customized things, we reached a new stage in our community.
P.S. Goldensunboy said he will going to make some tutorials to help people making hacks and understand this feature soon, i think if you want to make your own patch, you still need to understand the reversen engeneering work on the rom we have done, and you need to be able to understand arm7 code and C programming language.
1592363795231.png

1592363836877.png
 
Top