Custom Track Tutorial

See here for the making a custom track tutorial.

Introduction

 * Due to this wiki's efforts for accuracy of information, this page is protected so that only administrators can edit it. However, if you would like to make an edit, use this page's Discussion page or contact an administrator on discord.
 * Help for specific issues that you may experience should be asked in the Double Crew server.
 * It is highly recommended that you read all relevant readme files and documentations, as well as look to see what vanilla does, before asking (potentially annoying) questions. This guide will assume that you have read all the relevant material, unless it is especially noteworthy, because I do not wish to copy words that are perfectly written elsewhere.
 * If there is no source of the information listed, then you can assume that I came up with it myself. Anything with blender in this guide was contributed by Double Cherry in the Double Crew Server.

Important notes

 * A lot of the documentations linked, while useful and mostly correct, do leave out some information. I will try to fill in any missing information here.
 * “Vanilla” here refers to an original, unedited / unmodded file from the game.
 * When in doubt, copy from vanilla. This applies to just about everything here.
 * If you already have a program to edit a certain kind of file, that’s great for you, but if you run into difficulty with those problems, this guide won’t help you.
 * A lot of the programs listed give out error messages when something goes wrong - always check for an error message

 A note about the track-making process: Making a custom track is anything but a waterfall process, rather it is incredibly iterative. While aiming to completely finish the graphical model before starting on the collision is admirable, that aspiration is unfortunately unreasonable. Don’t worry if you find yourself going back to previous steps, everyone does that, and so will you.

Preliminary Information
What everyone needs to know for any mod, but repeated here for completeness. This section will be short because the information can be found in other tutorials on the wiki.

Breaking Open an .iso See Breaking open an ISO for more information.

Dealing with .arc files See Extracting and Packing .arc Files for more information.

Dealing with Crashes See Dealing with Crashes for more information.

Step -1: Choosing a Course Slot
The course that you will be replacing is very flexible; files for one course can easily be switched to go over another. Hopefully, as course slots become more fully implemented, this flexibility will remain. There are two main factors to consider when choosing a course slot You do not really need to worry about overriding a course slot that another non-vanilla track has taken. Most vanilla tracks have a non-vanilla track that it is "supposed" to go over.
 * Theme
 * Usually people want to change tracks to fit a certain theme - for example, an imported Rainbow Road might go over Rainbow Road.
 * As more tracks are made, this factor becomes less and less important.
 * Particle Effects
 * The particle effects that your track has is determined by the sound id of the course.
 * Changing around sound ids can be hard to organize, so it’s better to get a particle id that matches your track.

Step 0: An Introduction to Course.arc Files
In Filesystem/Course, you will see many different .arc files. Each of these contain the files for a course. Each course (except for Luigi Circuit) has two variants. For example, there is Peach.arc and PeachL.arc. The non-L courses are those that load in single screen mode, including Time Trial and 1-player Grand Prix mode. The L-courses are loaded in split screen mode, like multiplayer and LAN modes. There are no special .arc files for Mirror mode. The Mini .arc files are the battle maps.

A list of file formats commonly found in the main directory of course .arc files can be seen in the table above.

Step 1: Make the BMD
See the BMD tutorial page for instructions on how to make a .bmd file.

MKDD Track Patcher Compatibility
This section will go over how to make your track compatible with the MKDD Track Patcher by Yoshi2.

Step 9: Make the INI
Program:
 * Any text editor

At this point, make a folder for your release mod. Then, make a file named "trackinfo.ini" and put it in that folder. This is the outline for a valid .ini file [Config] author = trackname = replaces = replaces_music = main_language =

Fill in information after each "=". The "author" and "trackname" parameters do not have any effect on program execution, aside from what is written to the console log during patcher execution. The "replaces" and "replaces_music" parameters should both specify the same course. The "main_language" parameter specifies which is the default language for images files.

Step 10: ZIP Creation
Programs:
 * mkdd rename release files by tarsa129

See the usage section  for the mkdd rename release files for more information on folder setup. Once the folder is set up correctly, it can be dragged onto rename.py. A .zip file with the same name as the folder will be created.

Step 11: Uploading to the Wiki
See Make a Custom Track Page for information on how to make a non-vanilla track page on the wiki. Then, update the appropriate page (List of Custom Tracks, List of Retro Tracks, List of Imported Tracks, etc.) with the new course.

Step 12: Adding to the CT Leaderboards
If you want, your course can be added to the CT Leaderboards so that people can see how good they are on your track compared to other. Check out the list of rules here. Contact tarsa on discord at tarsa#8462 to add your CT to the leaderboards.