A work-in-progress Wii game file replacement engine written for the BrainSlug game patching utility.
Tested and confirmed to be working on Mario Kart Wii PAL (RMCP).
The aim of this fork is to provide the ability to define which files to replace without needing to recompile this module.
This module depends on libfat.mod, libsd.mod and libfat-sd.mod. You can compile them from
Brainslug's repository. You also need
to put DVD's symbols into bslug/symbols (you can find it from symbols/dvd.xml).
When module is installed you can begin to define each files should be replaced. By default,
all custom files are located to sd:/custom/????/files with ???? correspond to disc'ID (for example,
Mario Kart Wii PAL is RMCP, Super Smash Bros. Brawl NTSC-U is RSBE). Moreover, you need to create a TXT file at
sd:/custom/????/replacements.txt where each lines correspond to a file to replace. Example of replacemements.txt:
/Demo/Award.szs
/Scene/UI/Award.szs
/sound/revo_kart.brsar
I haven't yet tested module's behaviour with CRLF end lines and empty lines. Filepaths must begin with /.
For more informations, please look at original's README. This version still at an early stage, not every DVD's functions are hooked and may not working properly.
Since Brainslug discourage to use dynamic allocation, everything is static. So, you can't replace more than 512 files and filepath can't be longer than 256 characters.
You can change these restrictions from replacements.h.
The following constants can be changed from replacements.h :
CUSTOM_FILES_DIRECTORY: Location of custom files to useCUSTOM_FILES_REPLACEMENTS_TXT: Location ofreplacements.txtMAX_FILE_COUNT: Maximum allowed files to replaceMAX_NAME_LENGTH: Maximum filepath's length
The process to build still the same from original repository :
- Install the latest devkitPPC and libogc.
- Download the latest BrainSlug source code and run
make installto install the required files. - Run
makeinside the Emvolution project directory. It will produceemvolution.modinsidebindirectory.
Now, you can install it into bslug/modules!