calvinhendriks / MKW-LAN-Brainslug

Play Custom Distributions of Mario Kart Wii in LAN mode up to 12 players using Brainslug.
2 stars 2 forks source link

Mario Kart Wii Custom Tracks in LAN mode through BrainSlug

Basically, this github combines a few projects in order to play Mario Kart Wii (MKW) Custom Track Distributions in LAN mode. This allows up to 12 players (2 per wii) to play together, no disc required! \ \ Only tested on PAL!

Features:

1. Background

I discovered MKW custom track distributions in april 2017 and have played a lot of them since then. Somewhere in early 2021, during the Covid-19 pandemic, I was looking for a possibility to play my favorite game in a LAN setup, so I could play with 11 of my friends and have a major LAN party when the lockdowns would end.

1.1 Custom WFC

At first, I found the possibility to host my own WFC server through this post. I had some nice lan parties using this setup, but at random times the consoles would disconnect.

1.2 Brainslug LAN module

I knew there was a LAN mod that makes the Wiis talk to each other directly without the need for a server. This is a BrainSlug module, and BrainSlug is a disc patcher. Using the BrainSlug channel comes with a multitude of problems:

While I was willing to buy 6 MKW discs, the first 2 problems are a major issue for me. The cheats are needed because by default, the character/vehicle & track selection menus have a timer of 30 seconds. If you want to take a break between races, this is not possible, since the wii's will automatically select a character/vehicle and a track and the next race will load. Another example is that by default, 30 seconds after the first player crosses the finish line, the game will end. In a large LAN setup, there might be some skill differences and we would like everyone to be able to finish.

2. Solution Pt I

Then I discovered this post. In this post, Yuri explains the same problems as I had, but finds a solution that enables us to load a game from USB through the brainslug main.dol. Basically, you can tell USB loader GX to load an alternate dol file (other than the main.dol from the game). If you rename the boot.dol from BrainSlug to RCMX01.dol and place it on the root of your SD card, it will load BrainSlug and its modules and then the game. Unfortunately, loading cheats through USB Loader GX does not work this way. However, luckily InvoxiPlayGames made him a Gecko Code Handler BrainSlug Module (gct.mod). So, now 2 of the 3 problems indicated above are solved.

3. Solution Pt II

Now we only need to solve the custom track distribution issue. Custom Track Distributions often come in 2 flavours:

4. Summary

5. Prepping SD card

The SD card needs to be formatted in a proper way, otherwise you will get green error screens.

6. Instructions

6.1 Wiimms Mario Kart Fun:

The files in root_SD are compiled to play Wiimms Mario Kart Fun 2022-11 in LAN mode. The only thing im missing is the cheat that Wiimm patches through the iso builder. He uses a rather unknown .gch file. Don't know exactly what features are enabled through this file, but the tracks load and the LAN mode works. Here's how to do it:/

6.2 Variety Pack V3.

The files inside this github repo also support Variety Pack V3. You can download it by becoming a tester in the discord channel (see https://wiki.tockdom.com/wiki/Variety_Pack)

7. Instruction (other distros)

8. Details

9. Module Descriptions

Inside the bslug folder you will find 8 brainslug modules. Here is a short description:

Module Description
rmc-local-net.mod LAN Mod from Chadderz & MrBean35000vr.
gct.mod Module to load cheat codes through BrainSlug.
libfat.mod Default module. Enables FAT filesystem access to modules.
libsd.mod Default module. Enables SD card access to modules.
libfat-sd.mod Default module. Ties libsd.mod and libfat.mod together.
Emvolution.mod File replacements, like Riivolution. Does not support patched main.dol (e.g. to load le-code)
KamekLoader.mod Module to load the kamek loader (Loader.bin). Loader.bin loads E/J/P/K.bin, taken from variety pack, which makes the game load lecode-XXX.bin (XXX = region) In variety pack, E/J/P/K.bin also adds other functionality to the game
console-sd.mod Prints the game's log to the SD card, for debugging.

10. Credits

Shoutouts:

11. Recommended cheats

I recommend these cheats for a relaxed LAN party!

12. FAQ

TODO