Custom Track Distribution

From Custom Mario Kart
Revision as of 01:29, 4 March 2015 by Jax53000VR (Talk | contribs)

Jump to: navigation, search

A Custom Track Distribution is a collection of Custom Tracks, typically replacing the original 32 Mario Kart Wii courses with different, user-created tracks. Custom Track Distributions may also change other aspects of the game, such as menu colors, icons, in-game text, and fonts. Some distributions only include Texture Hacks or Custom Characters, or may add them in addition to Custom Tracks.

It is important that all users playing Custom Tracks together use the same distribution so that they all have the same set of tracks. Unless you are using a Custom Track Distribution with its own Online Region for Custom Tracks Worldwide (see Used Online Regions below) you should not play Worldwides online because you will be playing against players using normal Mario Kart Wii tracks. You should only play against other players using friend codes who are using the same distribution.

If you just want to play some of the newest tracks with some friends, it is not necessary to create a new distribution. Instead, you can use the "My Stuff" Folder feature to add tracks that will replace the default Mario Kart Wii Tracks. As long as you and your friends replace the same tracks (for example, all of you replace GCN Mario Circuit with the same track) you can play the new tracks online using friend codes.

Distribution Lists

Please read the Rules before changing any of the tables!

Current Distributions

Distribution Type Release Last
Status Author
CTGP Classic Pack Riivolution 2015-01-15 2015-03-3 — Released Jax53000VR
Jax CTGP Riivolution 2015-02-13 Released Jax53000VR
4tbMyles8110vr's CT Pack Riivolution 2014-06-06 2015-01-24 Released 4tbMyles8110mkwii
Mario Kart 6 Riivolution 2014-12-15 Released Super-Mario68
Wiimms Mario Kart Fun 2014-11 ISO Patcher &
Riivolution Generator
2014-11-14 released Wiimm
Spade's Custom Track Pack Riivolution 2014-06-20 released Ugotowned35000vr
Mario Kart: Double Dash!! Wii Riivolution 2014-05-29 2014-06-28 released Horsti12, ABR Speed, George35000vr, Super-Mario68, Basti1337ii, ShadowLuigi-NG-
Pro CT Pack Riivolution 2014-05-26 2015-02-01 released Huili, AC
Mario Kart Adventures ISO Patcher &
Riivolution Generator
2014-05-24 2015-01-05 released Helix, Nickname
Wiimms Mario Kart Fun 2014-04 ISO Patcher &
Riivolution Generator
2014-04-19 2014-07-05 released Wiimm
Soarin's CT Pack X Riivolution 2014-04-01 released Soarin MKWII
Wiimms Mario Kart Retro 2014-02 ISO Patcher &
Riivolution Generator
2014-02-23 2014-07-05 released Wiimm
Wine's CT Pack Riivolution 2014-01-28 2014-08-02 released Wine, Keiichi1996, Kyt
CTGP Revolution v1.03 Homebrew Application 2014-01-12 2014-08-05 released MrBean35000vr & Chadderz

Old and Outdated Distributions

Table with old and outdated Distributions

Announced Distributions

Distribution Type Announced
Status Author
Wiimms Mario Kart Fun 2015-03 ISO Patcher &
Riivolution Generator
2015-02-28 2015-03 last update in 2015-02 Wiimm
Mario Kart DS Wii Riivolution 2014-07-29 2015 last update in 2014-10 Horsti12, ABR Speed, George35000vr, ShadowLuigi-NG-, AC
Mario Kart SNES & N64 Edition ISO Patcher 2014-09-22 last update in 2014-09 EvilM4ster
MKW Hack Pack Riivolution & ISO Patcher 2015 last update in 2014-12 Huili
MKWLH1000's Custom Track Pack Riivolution 2013-09-23 2013-12 last update in 2013-09 MKWLH1000
Custom Track Kart Wii Riivolution 2014-03-04 2014/15 last update in 2014-03 MkwHackerLol
Mario Kart 64 Wii Riivolution & ISO Patcher 2013-06-16 2014 last update in 2014-02 Horsti12, ABR Speed, George35000vr, Super-Mario68, Basti1337ii, ShadowLuigi-NG-
Medal Kart 64 Riivolution 2014 last update in 2014-02 Miles5x5
Mario Kart QZW ISO Patcher 2013-05-07 Late 2014-Early 2015 last update in 2014-06 KeiroStarr

Cancelled Distributions

Table with cancelled Distributions

Used Game IDs

Some track collections are distributed as ISO Patcher. This will enable the users to have standalone ISOs and will support USB Loaders. USB Loaders select games by the ID6. Therefore it is wise for all ISO distributions use a different ID6. To play online, the ID4 (first 4 characters of the ID6) must be RMCP (PAL), RMCE (USA), RMCJ (Japan) or RMCK (Korea). The other 2 characters can be used to distinguish between the ISOs. Usually digits (0-9) and capitals (A-Z) are used. So there are 36*36=1296 possible IDs, more than enough.

The following table shows all used IDs to avoid conflicts.

Used ID by CT Distributions
ID Date Distribution Comment
RMCx01 2008-04-11 Nintendo's Mario Kart Wii Official release by Nintendo.
Wiimms Mario Kart Fun distributions
RMCx02 2010-02-14 Wiimms Mario Kart Fun 2010-02 First private distribution of Jillian and Wiimm.
RMCx03 2010-10-21 Wiimms Mario Kart Fun 2010-10 Second private distribution by Wiimm
2010-12-01 Wiimms Mario Kart Fun 2010-12/private Third private distribution by Wiimm with 64 tracks and 2 discs.
RMCx06–27 2010–2015 Wiimms Mario Kart Fun Released and planned public distributions by Wiimm
RMCx28–59 Wiimms Mario Kart Fun Reserved for future distributions of Wiimm.
Other distributions
CTGx01 2011-11 CTGP Revolution Initial CTGP Revolution release.
RMCx73 July 31, 2014 Mario Kart Adventures v0.7 Final public alpha, 8 custom cups, 4 retro battle arenas and 6 battle arena texture mods
RMCE74 May 23, 2014 Mario Kart Adventures v0.6 Initial public alpha, NTSC only
RMCxA1 November 11, 2014 Mario Kart Adventures v0.8 Initial public Beta
RMCxA2-A9 Mario Kart Adventures Reserved for future releases
Test IDs
RMCxT* reserved (T=Test) This 36 IDs (T0–T9 + TA–TZ) are reserved for short live and test distributions. Everyone can use it and they will never conflict with other real distributions.

Alternate Savegames

To support alternate savegames the ID4 of TICKET, TMD and BOOT.BIN (but not the ID of the disc header) must be changed. Wiimms distributions (and therefore its ISO Patcher change the first letter R to the non used letter K (like Klone).

Used Online Regions

It is possible to give a distribution a region ID. If playing continental/regional only players with the same region id are matched.

The following table shows all used IDs to avoid conflicts. Regions are a concept by Nintendo, to allow regional or continental races in Mario Kart Wii. Nintendo defined the region from 0 to 6. Regions ≥7 can be used for Custom Track Distributions to isolate the users of a distribution from all other players.

How region numbers are used internally

Mario Kart Wii uses an unknown algorithm to assigns itself a region number. The DVD type (PAL/NTSC/...) and the region of the Wii have influence to determination. The region is then stored to an internal numeric variable.

If connecting to a region, this region number is used to create an alpha numeric region name. For versus races the C format string "vs_%d" is used, and for battles the string "bt_%d". The "%d" is replaced by the signed decimal presentation of the region number. This combined prefix and region number is used by the game to search player in the online matchmaking database.

Example: If region 12 is active, the versus race region name becomes "vs_12" and the battle race region name becomes "bt_12".

For worldwide races, the names "vs" and "bt" without a number extension are used. This means that worldwide races don't use regions (region 0 is Japan).

Patching for Wiimmfi

If you plan to patch a distribution for Wiimmfi and for a specific region (1234 in this example), then use the following command:

wstrt patch --wiimmfi --region 1234 StaticR.rel main.dol

It is important to have original versions of StaticR.rel and main.dol and to patch both files.

How the region patch works

The well known region patch replaces a 32-bit instruction of the code. The original instruction is: »load the content of variable region_number into the register«. This instruction is replaced by »load a constant value into the register«. Because the limit of 32 bit for the instruction, the value is a sign extended 16 bit value. So only values between 0x8000 – 0x7fff (-32768 – +32767) are possible.

If using a negative number, the region name becomes for example "vs_-12345". Tests confirmed, that this regions with 9 characters work at Nintendo's servers like all others. And Wiimmfi supports it too, but has limited the accepted range from 0 to 7999 plus some other regions.

With this practice, 65536 (0x10000) versus regions are possible. However, changing the prefix of the string from "vs_" to something else makes it possible to use billions of different regions. Prefix modifications except »vx« and »bx« are not allowed by Wiimmfi.


The old region patch has forgotten to patch the region in some parts:

  • If player A plays in region 123 and the friend B meets A using the friends list, B is registered as player of its native region, e.g. 1 for USA. So as soon as player B gets host of the race (because the original host quits), other people from region 1 can join via the "Continental VS Race" button.
  • The region patch does not work for battle.

Wiimms SZS Tools fixed it and will patch 8 different places in StaticR.rel. The tools can also patch main.dol to define a login region. This login region can be used to identify the distribution of a private room.

New patch version by Leseratte

Leseratte has created a new version of the patch, fixing the battle and friend list bug.

With a special cheat code, it is possible to use regions from -2,147,483,647 to +4,294,967,296 allowing 6,442,450,943 regions in total. But this patch currently can't be put into an ISO so it's unreleased for now. Wiimmfi does not support this extended range of regions.

Applying regions

Since August 2017, there is a new system for applying and managing custom regions for Wiimmfi. Other servers (for example based on AltWFC) may have an own system.

For Wiimmfi, visit the page »List of free custom regions«, search a free region and then use the form at »Apply regions« to apply one or more regions. For the second page you have to be logged-on. Read the explanations of both pages.