Wiimm's Custom Archive

From Custom Mario Kart
Jump to navigation Jump to search

Wiimm's Custom Archive is a service (website https://ct.wiimm.de) by Wiimm. It allows an easy access to his custom track and arena archive including a search engine and permanent links for external websites like this Wiiki.


Wiimm released his first MKW-Fun in February 2010. Since this year he collected all tracks in his private archive. In April 2013 he published his track archive as simple list. In October 2017, Wiimm set up the website https://ct.wiimm.de and imported 3110 of his old archive.

The main goal for the website is to have a search engine and stable download links of custom stuff. At the moment custom tracks, custom arenas and custom distributions are supported. Some tracks are marked as private. They exist, but cannot be accessed by the public.

Families and Clans

Families is a concept to group different versions of the same track. The ID of each family is always the lowest track ID of all members.

Another concept are clans. Here, families are grouped together, that either share the same name or derived from each other. The ID of the clan is always the lowest track ID of all members.


When searching a track, you can select the class (tracks, arenas or Custom Track Distributions at the moment) and to enter a list of one or more space separated keywords.

You can search for:

  • console
  • name or words of the name
  • version number
  • authors
  • attributes
  • classification
  • sha1 of decompressed SZS/WBZ
  • date of format %yyyy or %yyyy-mm
  • other keywords

First, the keyword list is normalized: All characters except letters, digits, point and minus signs are removed. Letters are converted to lowercase. The same was done for all track names. And now the list of keywords is compared to all track names. At the moment only complete words are compared.

If at least one match is found, at most 50 tracks are listed using a special pager. For each track a hit rate is calculated and the list is usually ordered by this rate, but can be reordered by other features.

Special keywords

Ignore all other keywords and list the 500 most recent uploads. Tracks and arenas are listed together. (Example)
Ignore all other keywords and list the 500 most recent updates of the database. Updates are changes of track name or status. Tracks and arenas are listed together. (Example)
List only a track, if all entered keywords match.
Select a track by its numeric and unique track id. (Example)

Unambiguous abbreviations are allowed too. See »Keyword statistics« for more details about keywords.


The column »Jobs« contains direct links to other pages and also a checkbox for summaries:

Ct-wiimm-follow.png Search
Enter a new search based on the track name and the main authors.
Ct-wiimm-family.png Family
Show the complete family (all versions) of the track. You can click the family column too.
Ct-wiimm-clan.png Clan
Show the complete clan (all families) of the track. Click it to get a clan overview. You can click the clan column too.
Ct-wiimm-hack.png Hack
Show texture and other hacks for the same original track or arena. Click it to get an overview.
Ct-wiimm-info.png Info
Show details of the track. The details are also shown as tool tip, if you place your mouse pointer over the track name.
Ct-wiimm-ctwiki.png Link
Link to the track page of this wiki. For unknown pages, an invisible placeholder is inserted. If you click this placeholder, a string like »|wbz-id=1234« is copied to the clipboard. This helps to add more wbz-id entries here. The links are updated twice a day.
Ct-wiimm-download.png Download
Download the tracks as WBZ. Nintendo tracks cannot be downloaded.
Check box
You can also select up to 10 tracks by the check boxes. If at least one track is selected, some buttons appear below the table.

Classification of tracks

From the beginning in year 2010, Wiimm classified the tracks. This classification is displayed as column »class« in the track listings. It is very subjective and the valuation changed in the years.

The original SZS file of the track is technically invalid and forces usually a freeze of the Wii.
The track will freeze the Wii nearly every time either when the track is loading (black screen) or while playing.
The track will run, but has major bugs or freezes occasionally. These kind of tracks are unusable for a distribution.
The track will run, but has major bugs. These kind of tracks are usable, but hard to play.
The default class of a track.
At least one version of a track family is recommended by Wiimm, if using the track in a distribution. For some tracks this is very subjective.
Boost tracks are modified tracks, where roads are large boost pads.
It's an original track of Nintendo. Nintendo tracks cannot be downloaded.
A private track (not published). Such tracks are only visible for owners and in track selections by the owner.
A new track, that is not evaluated by Wiimm yet.

File names

A filename is displayed as:

An optional prefix (console or game abbreviation) like »SNES« or »MP9«. See »Console or game prefix« for a complete list of prefixes.
The official track name. Mario Kart Wii only displays the first 41 characters for a track name (LE-CODE removed this limit). Additional characters are needed for the authors. Therefore the names may be shortened.
A version number like »Alpha«, »RC2« or »v1.2.pre«. To keep the filename as short as possible, short versions of the version numbers are used.
An optional extra information (mostly a variant like »{day}« or »{night}«).
A comma separated list of authors and editors. An additional comma is added to separate the list of authors and the list of editors.
An optional comma separated list of attributes and comments. Comments are keywords to tell special features. See below for well known attributes.

Example: [1]


Most attributes describe technical aspects of a track or an arena. They are sorted by topic and are on the left. Few attributes provide information about variants. This section describes the technical attributes.

Property and Music Slots

The first attributes describe the desired property and music slots.

The track has to run at this SLOT. Examples: 31+71 or 61.
SLOT is the recommended slot for racing tracks. Examples: r31 or r42.
SLOT is the recommended slot for battle arenas. Example: a13.
A battle arena without slot recommendation.
e<SLOT> ea<SLOT>
The track is an edit of a Nintendo track SLOT. It differs from the recommended property slot. Example: r23,e21 and a24,ea13.
m<SLOT> ma<SLOT>
Recommendation of an alternative music index. The track slot is translated into the real music index. m11 is special, it recommends the alternative music for Luigi Circuit (music index 0x75). Examples: r51,m12, r12,ma12 or a12,m84.

Invalid, Freeze, Fail and Bad

These attributes reflect the classification of tracks described above.

invalid freeze fail bad
Classification without hints.
invalid=HINT freeze=HINT fail=HINT bad=HINT1+HINT2
Classification with hints. Hints are separated by a plus sign, because the comma is already used to separate attributes.


The following attributes are used to define the track category:

A hack of an original track for »Mission Mode«.
A hack of a custom or retro track for »Mission Mode«.
A hack of an original track for game mode »Hide and Seek«.
A hack of a custom or retro track for game mode »Hide and Seek«.
A texture or model hack of an original track designed for cheating.
A track edit of an original track designed for cheating.
A track hack of an original track announced as »edit«.
model reverse stretch shrink colossal tiny
A model hack of an original track.
model.ct reverse.ct stretch.ct shrink.ct colossal.ct tiny.ct
A model hack of a custom (retro) track.
A track hack of an original track announced as »texture«, that can't be used as replacement because if changes the gameplay.
An accepted texture hack of an original track, that can be used as replacement.
temp-allow temp-deny
A texture hack that has been pre-categorized automatically. The tester team will make the final classification.

Other tracks and arenas will get either category »Nintendo« or »Custom«.

Automatic Created Attributes

The following arew added by the input-scanner of Wiimm. It uses command wszst ANALYSE ... of Wiimms SZS Tools to get the information.

The number of laps, if not 3. The number is extracted from KMP:STGI. Examples: 1lap or 5laps.
Manual definition of the laps to override the automatic calculated value. It is needed for tracks with special check point layout.
Number of defined lap counters by KMP:CKPT, if not 1.
Speed factor, if not 1.00. See KMP:STGI for details.
A list of warnings:
  • itempos: Item Position Bug detected.
  • self-it: A self linked item route with only 1 point. it triggers a heavy Slow Motion Bug when used by a red shell.
  • no-minimap: No minimap.
miss=TYPES mod=TYPES
Hints for missed or modified sub-files. If a subfile is missing, then it usually results in a freeze at the moment when the file is needed. But there are also objects that detect the missing file and ignore it. TYPES is a list of letters to tell, what type of sub-files are missed or modified: b:BRRES, k:KCL, d:BRASD, f:BREFF, t:BREFT and p:posteffect. The leading number indicates the number of affected sub-files, where the value 1 is not displayed.
Example: b2kft means: 1 BRRES, 2 KCL, 1 BREFF and BREFT.
A secondary start position is defined to fix the Start Line Bug.
At least one global object was defined by KMP:GOBJ with special properties that are only interpreted by LE-CODE.
At least one global object was defined by KMP:GOBJ that uses Extended presence flags.
coob-k coob-r uoob
Track uses either Conditional Out of Bounds by kHacker35000vr or Riidefi, and/or Unconditional Out of Bounds.
objflow geohit minigame
The track includes special sub-files to define own versions of Common Files. It's a LE-CODE feature.
itemslot aiparam
Well known Sub-files included.
Sub-file course.lex included. See LEX (File Format) for details.

Attributes for distributions

The following attributes can be used for distributions. They are scanned by ct.wiimm.de and shown as status:

A new track. Use this attribute to mark tracks, that are used the first time in the distribution.
A track, that were used in an old version of the distribution, but not in the last one.
update upd
An updated track.
This track is a boost version.


This track is an automatically fixed and normalized version of another track version. Normalized means: Invalidate SZS fixed if possible, no lap modifier >3, no speed modifier, no AIParam. This kind of tracks is needed for easier comparison of tracks.
A hint for Wiimm, that he haven't tested the track yet.
A texture hack, that is used by MKW-Fun.
A texture hack, that is used by MKW-Fun, but only to fill cups.
No download link is provided.


New tracks are normalized. The idea is, that minimal modifications like lap counters or speed factors don't prevent the identification of a track as duplicate. Normalization is done in two steps using tool wszst.

First a normalized track is created by the following rule:

  • Option --norm normalizes the subfile structure: Files are reordered and packed and directory ./ is used as top level directory.

Template Misc-Info

The template Misc-Info of this Wiiki supports the parameter »wbz-id=ID«. Once set, a link to the family of the track is printed. You can use the identifier of any track of the family, the result remains the same. So the parameter must only defined once, even if new versions becomes available.

Usage example:

|wbz-id= 1234

Additional direct download links to the WBZ archive are possible.

Helper for page edits

The wbz-id is also used to create links from ct.wiimm.de to this wiki. So it is bidirectional. Every hour a bot is running and send all page-to-wbzid relations to ct.wiimm.de.

If you want to help, that each track page have a wbz-id, the go to this page: https://ct.wiimm.de/nowiki This page lists racks without wiki connections and makes adding the wbz-id much easier.

Distribution support

A support for Custom Track Distributions is implemented too. As of v1.55a of Wiimms SZS Tools, the new command DISTRIBUTION is available. It scans all tracks of one ore more directories and creates (or edits) a configuration file. The user has to edit the file to complete the information fields. The he can upload it to ct.wiimm.de.

At the moment, the uploads are only collected and Wiimm have to verify each configuration file.

All available distributions are listed here. The search page supports distributions too. Read article »Wiimm's Custom Archive/Distribution« for more details.

Custom track selections and test distributions

The website supports the management of custom track selections and test distributions. Distributions use selections as basis. The main idea is, to give all track creators and testers a chance to test tracks online with enabled item cheats. Item cheats are very important to simulate situations. The best test for item routes are red shells and Bullet Bill.

Don't be confused about test distributions created by the website and official custom track distributions from external resources. At this section we talk about the first kind, the test distributions.

Read article »Track Selections and Test Distributions« for more details.

Register to ct.wiimm.de

ct.wiimm.de has no public way to register users. You have to ask Wiimm.



Pagers and layout generator

Do you have noticed the pagers scatters around the page? This is a larger PHP class by Wiimm, that supports all of the features. To manage the different layouts, a layout generator was developed. It takes a list of names separated by commas, slashes and parenthesis and creates the layout.


  • Start of development.
  • Scan all SZS files and store information into a database. Each file gets an unique identifier that will never change, even if the filename will changes.
  • Convert all files to WBZ and use the unique identifier as filename.
  • Upload 3110 WBZ files (4.6GB)
  • Create a new website: https://ct.wiimm.de/
  • Create a PHP script to access the WBZ files.

more ...

  • 5828 racing tracks uploaded.
  • 172 battle arenas uploaded.
  • Total size of 6000 files (racing tracks and battle arenas): SZS: 11.6 GB, WBZ: 9 GB
  • Information about 62 custom track distributions with 8539 track relations available.
  • CT track names and SHA1 checksums are synchronized with Wiimmfi to display track names on https://wiimmfi.de/mkw
  • The minimum and maximum positions of KMP sections KTPT, ENPT and ITPT are displayed in the track info as »KTPT+ENPT+ITPT range«. If at least one value is near-by or outside-off the online limit ±131071, the text is printed in red.
  • 9026 racing tracks uploaded.
  • 224 battle arenas uploaded.
  • Total size of 9026 files (racing tracks and battle arenas): SZS: 16.9 GB, WBZ: 13.2 GB
  • 9742 racing tracks uploaded.
  • 258 battle arenas uploaded.
  • Total size of 10000 files (racing tracks and battle arenas): SZS: 18.9 GB, WBZ: 14.0 GB
  • Many Texture and model hacks were added to the archive and divided into categories.
  • Editors moved form attributes to authors part. The clear separation makes it possible to allow additional special characters for people.
  • By introducing colon prefixes it is now also possible to search explicitly for track names, authors, editors and attributes.
  • 12223 racing tracks uploaded.
  • 352 battle arenas uploaded.
  • Total size of 12575 files (racing tracks and battle arenas): SZS: 23.3 GB, WBZ: 18.3 GB
  • 681 custom distribution supported.
  • 19400 versus tracks uploaded.
  • 613 battle arenas uploaded.
  • Total size of 20013 files (versus tracks and battle arenas): SZS: 37.8 GB, WBZ: 30.2 GB, YLZ 22.9 GB

Ideas for the portal

  • Comment function for tracks to tell about bugs and more.
  • Categories for tracks like Winter, Cannon, Rain, Rainbow, Christmas, Test, Aprils fool, ....