Character Pack

From MK7
Jump to navigation Jump to search

Character Packs is a feature in the CTGP-7 MyStuff folder that allows configuring all the assets related to custom characters.

Applying Character Packs

Character packs can be individually enabled from the CTGP-7 Custom Character Manager. In order to load or unload the Character Packs, a game reboot must be triggered (by closing and opening CTGP-7, for example), which will patch the necessary files.

NOTE: Keep in mind that modifications to files in a character pack may not take effect until the next patch. In order to trigger a patch, do any operation in the Custom Character Manager (such as disabling and then enabling a custom character).

Structure

Each Character Pack contents must be placed inside its own folder. This folder (which will be refered to as the root folder) can have any name, as long as it is less than 32 letters.
The contents of the root folder have the following structure:

- Driver (optional)
- Kart (optional)
- bcsarSoundData.ips (optional)
- config.ini
- menuSoundData.ips (optional)
- stdWingColor.ips (optional)
- UI.sarc (optional)
- voiceSoundData.ips (optional)

config.ini

This file is the only mandatory one for the Character Pack to be recognized by the mod. It dictates which character should this pack replace, as well as the custom character names in different languages. Here is an example of a config.ini file: (You can use it as a template for your own character pack.)

name_ENG :: Example Name :: Ex. N.
name_DEU :: Example Name :: Ex. N.
name_DUT :: Example Name :: Ex. N.
name_FRA :: Example Name :: Ex. N.
name_ITA :: Example Name :: Ex. N.
name_JAP :: Example Name :: Ex. N.
name_POR :: Example Name :: Ex. N.
name_RUS :: Example Name :: Ex. N.
name_SPA :: Example Name :: Ex. N.

origChar :: mr

Name Entries

Each one of the name_(Language Code) entries define how the custom character will be named ingame. Only the entry for the currently loaded Language Pack is used. If the entry for the current language pack doesn't exist, the english entry is used instead. (Making it the only mandatory one.)

Original Character

The origChar entry defines which original character the Character Pack should replace. Here is a table for all the original character codes:

Code Name
bw Bowser
dk Donkey Kong
ds Daisy
hq Honey Queen
kt Koopa Troopa
lg Luigi
lk Lakitu
mr Mario
mtl Metal Mario
pc Peach
rs Rosalina
sh Shy Guy
td Toad
wig Wiggler
wr Wario
ys Yoshi

Driver and Kart

This are the only subfolders present in Character Packs. Both of them are optional.

Driver

Contains the models for the characters, in .bcmdl format. During the patch procedure, the contents of this folder are directly copied to CTGP-7/gamefs/Driver, replacing existing files. As a result, you can replace any file found inside the Driver folder in the Mario Kart 7 romfs, even those not related to the character slot defined in config.ini (not recommended as it can interfere with other character packs). Check the Driver folder structure to see which files can be replaced.

Important files
Here are the most important files that can be placed in the Driver folder. Replace (character code) with the original character code used in the config.ini file.

Driver/(character code)/(character code).bcmdl -> Main character model (used in the menu and during a race for your driver)
Driver/(character code)_lod/(character code)_lod.bcmdl -> Low resolution model (using during a race for other drivers)

Kart

Contains several kart and emblem related data, in .bcmdl format. During the patch procedure, the contents of this folder are directly copied to CTGP-7/gamefs/Kart, replacing existing files. As a result, you can replace any file found inside the Kart folder in the Mario Kart 7 romfs, even those not related to the character slot defined in config.ini (not recommended as it can interfere with other character packs). Check the Kart folder structure to see which files can be replaced.

Important files
Here are the most important files that can be placed in the Kart folder. Replace (character code) with the original character code used in the config.ini file.

Kart/Emblem/emblem_(character code)/emblem_(character code).bcmdl -> Main emblem model.
Kart/Emblem/emblem_(character code)_lod/emblem_(character code)_lod.bcmdl -> Low resolution emblem model.

Furthermore, some kart bodies and gliders allow character specific models to be used. If the original character supports this feature, you can replace those files as well. Check the Kart folder structure and pay attention to your chosen original character code in the file names.

UI.sarc

UI.sarc is an optional archive that stores custom files that can be found inside any of the game's .szs archives. It has the same format as standard .szs files, but not YAZ0 compressed (SARC). In order to open this file, you can use Every File Explorer directly. This file is normally used to replace the game's 2D assets, like menu images and icons (however, it can be used to replace any kind file, but it's not recommeneded).

As UI.sarc files store which file to replace in the game's romfs and each character 2D assets have different file names, you can't use the same UI.sarc used by other character packs unless they replace the same character slot.

In order to generate a new UI.sarc file, you can use MyStuff Tools:

MyStuff Tools

You can get the latest version of MyStuff Tools from the following URL: [1] Once downloaded, navigate to the sarc folder to access the UI.sarc related functionality.

The first step is to configure the tools so that they use your existing Every File Explorer instalation. For that, double click the file setup.bat, locate the file EveryFileExplorer.exe in your instalation and drag it to the black window that was opened. Once it's done, press enter. At this point, the tool will generate a file named build.bat that you can use to generate the UI.sarc file. Keep in mind that once build.bat is generated, you no longer need to use setup.bat, unless you change the directory where Every File Explorer is installed.

In order to add files to UI.sarc, you need to place them inside the sarc folder (not the folder that contains the .bat files, but the one that contains the dummy.txt file). As UI.sarc is able to replace files in any of the .szs archives, the files placed inside it need to be organised in a very specific way:

  1. Navigate to the sarc folder.
  2. Create the same folder structure as the one found in the game's romfs that contains the .szs archive. For example, to replace a file inside .szs archives found in the UI folder in the game romfs, create an UI folder inside the sarc folder.
  3. Navigate to the previously created folder and create another folder with the same name as the .szs archive, including the extension. For example, to replace a file inside menu.szs create a folder named menu.szs.
  4. Place the file you want to replace inside the newly created folder. For example, to replace the file select_mario.bclim place the file with the name select_mario.bclim.

Here is the previous example in one go: To replace the file select_mario.bclim which is inside the .szs archive menu.szs which is inside the UI folder in the game romfs, navigate to the sarc folder containing the dummy.txt file, create an UI folder, enter it, create a menu.szs folder and place select_mario.bclim inside.

Once all the files are placed in the proper place, run build.bat and your UI.sarc file will be generate in the same folder. If an error ocurrs, make sure you linked your Every File Explorer Installation properly and that Every File Explorer can be opened without issues.

Finally, you can open the UI.sarc file in Every File Explorer to confirm all files were added inside. All the file names will look like hexadecimal numbers (for example: 0xF3A94B22), but this is normal.


UNDER CONSTRUCTION