Hacks WAD Creation Tutorial

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

Hacks WAD Creation Tutorial

Made by aglab2

Preparation
Tools + Data Download: Link
External Tools:
1) Simple ARMIPS GUI Link
2) cmder or any other cmdline Link
3) [optional but highly recommended] CustomizeMii Link
4) [optional] Hex Editor, I recommend HxD

Tools Description
1) blips.exe - tool to apply patches to
2) sm64compress.exe - modified version of sm64compress by queueRAM to
allow for better hacks compression, Source Code
3) ROMManagerCompress.exe - similar tool as sm64compress but for ROM
Manager roms
4) sm64wiikit.exe - injector for ROMs into WADs + configurator, Source Code
gzinject: Source Code
5) f3dfix.exe - fixer and optimizer of fast3d display lists

Data Description
1) sm64.wad - Super Mario 64 WAD, used to inject roms into it
2) patches - various patches applied to ROM
3) extscroll* - files necessary for f3dfix
ROM Modification: ASM

There are 2 reasons why ROMs might not work properly on Wii: poor custom asm
support & 32mb size limit.

To tackle the first problem, there are patches directory. Open Simple Armpis GUI
and apply needed asm patches to it, patches are explained below.

Usually no patches other than marked green are necessary for the hack to boot up.
Try launching the ROM, if rom happens to crash on one of these places, apply an
extra patch. Notice that no patches other than green ones are necessary by default!

If an emulator crashes on startup, try applying start, then someblock patches.


If an emulator crashes after file select, try applying parallel patch
If an emulator crashes on act select, try applying fileselect patch (yep, patches are
named weirdly, kept for historical purposes)
ROM Modification: ASM Description
Yellow patches are not needed - apply if you want to
Red patches are unsafe - might cause even more crashes, avoid if not needed.
Green patches are essential - apply always

Patch Name Patch Description and Recommendations

no3dcoins Removes 3D coins from Editor hacks, applies default textures

unloader2 Patch that reduces drawing distance for objects, tbd for regular
usage

antiinvi Fix for invi wall patch, usually needed if Mario gets stuck in air

captimer* Fix for crash for cap timer

extletters Fix for extended letters crash

fileselect Fix for act select crash on entering the main course

hud Fix for VC HUD

instareload Extra feature to set ingame states

mcci Fix for improved music collision change interpreter crash

mio0*, static* MIO0 and static bank loading, useless nowadays, left for history

mips Patch to fix MIPS crashes, might be useless if MIPS works

noerror Checksum check removal

parallel Fix for parallel lakitu cam, usually needed if game crashes after
the file select

pipes Fix for very old hack crashes, was only needed for Green Stars

reversefog Fix for inverted fog bug

sandblock Fix for restoring sandblock from MOP

someblock Fix for weird crash on startup

start Fix for weird crash on startup


ROM Modification: F3D Fixes (Editor only)

This section can be skipped if your hack does not use custom levels or ROM was
made with ROM Manager
Make ROM backup, Open f3dfix.exe and Load ROM. Make sure to turn on Nerf Fog
option, Wii has heavier fog and these options make it look similar to emu.Enable all
optimization configs. Press Fix in ROM.

This will fix all the combiner issues in ROM and make transparent textures look
properly on Wii. Apply extscroll.asm and extscroll-legacy.asm patches to avoid
crashes (not needed without Rebuild options)
ROM Compression

Get your edited rom and sm64compress.exe in the same folder.

Open cmder and navigate to dir you have files in.


Execute command “.\sm64compress.exe -t ROMNAME.z64” for newer hacks or
“.\sm64compress.exe -t -s ROMNAME.z64” for older hacks. “-s” option will force size
which could improve compression but might break the rom.

Compressed rom will only work if its size is below or equal 32MB, if it is higher than
32MB, try passing “-s” and “-u” options to sm64compress.

Resulting ROM will be created in the same directory, name is ROMNAME.out.z64.


For ROM manager rom use “ROMManagerCompress” utility without any flags.
ROM in WAD Injection

Open sm64wiikit.exe, open sm64.wad file. Press “Inject” button and select the ROM.

If you use a GameCube controller without any adapters, enable “Mapping Fix” in a
Control Stick section. Enable “GC Y -> Up” if the framewalk button is necessary.
Pay attention to the “Button Mapping” section, usually GC L needs to be mapped to
N64 L. You may use any mapping you want.

Press “Save” button and create “sm64-patch.wad” Source Wad file.


WAD Decoration
This section is not required but highly recommended

Open CustomizeMii tool and select Source Wad. Go to Banner tab. In it, you can edit
VCPic.tpl to any other picture of resolution 256x192

Same operations could be done IconVCPic.tpl and LogoN64.tpl in Icon Tab.


To save rom with changed Logos, goto Source Tab and press Create WAD button

.
Resulting WAD could be launched on Wii with a nice looking game image.
WAD Trying Out

Before trying to install WADs on real console, try it out on Dolphin emu. Press Open
and select your WAD. Allow WAD that is not signed by Nintendo. Your ROM should
be able to be playable in Dolphin.
Make sure your ROM does not crash after File Select. Do not be afraid of FPS drops
and lags, it will be working better on the real Wii hardware. WAD injection is not
covered in this tutorial but always make sure to have bricking protection on Wii!
Troubleshooting FAQ

Q: My WAD crashes on the black screen even before the Controller notice appear.
A: Make sure to apply have noerror.asm patch applied to ROM

Q: My WAD crashes when switching mario -> lakitu cam.


A: If hack used ParallelLakituPatcher, apply parallel.asm

Q: I have applied all the patches but my game is still crashing after File Select.
A: Unfortunately, asm support on Wii is terrible, please contact aglab2#6619 at
discord and maybe I can fix the issue.

Q: My game is being very laggy/My game has graphical glitches


A: Try to use f3dfix, it helps to optimize display lists and improve performance and
also fix common graphical glitches

Q: Going to MIPS crashes game


A: Apply mips.asm

Q: Old Hacks list SR1 does not work


A: Reinject in sm64 rom aka use this current tutorials

Q: My ROM is being >56 mb, is there a way to compress it even better?


A: Make sure sm64compress or ROMManagerCompress were used
OBSOLETE ROM Modification: ASM

There are 2 reasons why ROMs might not work properly on Wii: poor custom asm
support & 32mb size limit

To tackle first problem, there are patches directory.


Open Simple ARMIPS GUI and apply all asm patches to it but fileselect.asm

Open ROM with LemAsm, press F6, F7, F3, F4. Enter address 6F34. Check if there
are any JAL 0x80402F00 instructions.

no patch required patch required

If
patch it required, apply fileselect.asm to ROM too.
OBSOLETE ROM Modification: Hex Editing 1/2
This section is not required

Open ROM & patches/level_unused.bin with Hex Editor. Select all bytes from
patches/level_unused.bin and search them in the rom as a Hex Value.

This find will search for unused Level Scripts in the ROM that you want to remove
because it helps with ROM compression later on. Make sure region you found in rom
looks like this
OBSOLETE ROM Modification: Hex Editing 2/2
This section is not required

Select the Unused Level Scripts: it is “surrounded” by bunch of 01 bytes.

In my case, I selected bytes from 1580000 to 5811AF. Press Edit > Fill Selection and
Fill pattern of pass Hex-Values 01. This will remove unused level script.
OBSOLETE: ROM in WAD Injection

Get your compressed rom, oot.wad, gzinject.exe in the same directory

Open cmder and navigate to dir you have files in. Execute “.\gzinject.exe -a genkey”.
It will ask you to enter string and press enter, do it. Then execute “.\gzinject.exe -a
inject --rom ROMNAME.out.z64 --wad oot.wad -i NXXE -t "HACKNAME"”. In given
command, NXXE can have any letters instead of XX and HACKNAME could be any
string less then 20 symbols.

Resulting WAD with ROM injected will be called oot-inject.wad. This WAD can be
tested on Dolphin emu and checked if ROM will be launched.
OBSOLETE: WAD Decoration 2/2
This section is not required AND IS DANGEROUS

To change Ocarina of Time name and Release Year when opening a WAD channel
on Wii, you need to edit brlyt file. Example file could be found in banner5.brlyt. Open
file with Hex Editor. Go To byte 1310

Edit Year to say the correct Release Date for each language. Do not remove 00 byte
before letters!
Next go to offset 1FF0 and edit name of game. Make sure last 2 bytes in name are
zeroed. You can use byte 0A to put a newline symbol. Set game name for each
language below.

Save resulting brlyt file and import it with CustomizeMii at Layout Tab>Banner
Replace. Save resulting WAD at Source tab.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy