Skip to content

MrBean35000vr/netslug-wii

 
 

Repository files navigation

Wii NetPlay (working title) by MrBean35000vr and Chadderz

This is a Wii homebrew app that attempts to add online gameplay to Wii games
that feature local multiplayer. It is based off BrainSlug Wii, the original
README can be seen below. (Repository of BrainSlug can be found at
https://github.com/Chadderz121/brainslug-wii).

It is designed primarily to add online multiplayer to New Super Mario Bros.
Wii, but may be functional with other games.

The connection procedure is performed by a modified version of BrainSlug that
has been outfitted with networking capabilities. It loads a single BrainSlug
module (netplay_main.mod) that does the majority of the work in-game, including
controller synchronisation, maintaining the connection, and other similar
tasks.

It's worth noting that all of this is still, as Chadderz describes it, "hacky".
The current code only supports 2 players, and synchronisation is not guaranteed
on any game at all, including New Super Mario Bros. Wii (but it is pretty
good), and input latency on the guest can be very high. There's a lot of static
code such as controller assignments and input buffer size which cannot be
adjusted from the Wii itself, but could be changed at the source if necessary.

In order to build the app and all required parts, run "make -j" followed by
"make release" at the root level. It will create a "release" folder, whose 
contents can be copied directly to the SD card and should work immediately. 
Host IP/port assignment must be done manually, and can be done by changing 
the config.ini file which will be put at SD:/apps/netslug/config.ini. 
See BUILDING for more info.

Original BrainSlug readme to follow:

BrainSlug Wii
    by Chadderz

BrainSlug is a specialised Wii disc loader which is designed to allow the loaded
game's functions to be patched. What sets BrainSlug apart is that the patches it
applies are not just simple copying patches, but in fact relocatable ELF files.
The idea is that a C programmer who is unfamiliar with the intricacies of
assembly code can write C code as normal and have BrainSlug take care of linking
this into the game. Thus the process of adding functionality to Wii games is
made much easier and more enjoyable for all.

The compiled code for adding modifications to the game are called BrainSlug
modules. These modules must be made in quite a specific way, so a template
module is provided in modules/template. More information about getting started
with module development can be found in modules/README.

This project is in several parts:
    bslug_include - Header files used by BrainSlug modules.
    modules       - A collection of premade BrainSlug modules.
    src           - The BrainSlug Wii channel, which actually does the patching.
    symbols       - Symbol information needed by the channel to perform linking.
    test          - Regression testing for the Wii channel.

The game's symbols are found by a simple search which is explained in
symbols/README.

See BUILDING for information about building the channel itself.

See USAGE for information aimed at end users of the channel.

See CHANGELOG for version information.

About

Netplay mod for Wii based on BrainSlug

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 92.3%
  • Makefile 6.5%
  • Other 1.2%