diff options
Diffstat (limited to '')
4 files changed, 221 insertions, 0 deletions
diff --git a/project/text-files/ctcode.inc/ctcode-head-cr.inc b/project/text-files/ctcode.inc/ctcode-head-cr.inc new file mode 100644 index 0000000..276b43a --- /dev/null +++ b/project/text-files/ctcode.inc/ctcode-head-cr.inc @@ -0,0 +1,27 @@ +#CT-CODE + +[INFO] +# This section will be ignored on scanning. + +# This is a textual representation of CT-CODE file used by CTGPR made by Chadderz +# and MrBean3500vr. "Wiimms SZS Tools" can convert binary (raw) and text CT-CODE +# files in both directions. The text parser supports variables, C like expressions +# and nested IF-THEN-ELSE and LOOP structures. +# +# Info about the general parser syntax and semantics: +# * https://szs.wiimm.de/doc/syntax +# +# Info about the CT-CODE: +# * https://szs.wiimm.de/doc/ctcode +# +# Reference list of CT-CODE parser functions: +# * https://szs.wiimm.de/doc/ctcode/func +# +# Hint: +# Set the options --no-header (-H) while decoding to suppress this info and some +# syntax descriptions below. + +#---------------------------------------------------------------------------------- +# Only the section [RACING-TRACK-LIST] is scanned, all other sections are ignored! +#---------------------------------------------------------------------------------- + diff --git a/project/text-files/ctcode.inc/ctcode-list-syntax-brief-cr.inc b/project/text-files/ctcode.inc/ctcode-list-syntax-brief-cr.inc new file mode 100644 index 0000000..16b0d1e --- /dev/null +++ b/project/text-files/ctcode.inc/ctcode-list-syntax-brief-cr.inc @@ -0,0 +1,20 @@ + +# Syntax: +# '%' name = value +# : Define an option. +# 'N' mode : Define mode for Nintendos original tracks: +# N$NONE | N$HIDE | N$SHOW | N$SWAP +# OR it with N$F_HEX and/or N$F_WII and/or N$F_<COLOR> +# 'C' name : Enter a new cup and define its name. +# 'S' list : Predefine track slots for the next tracks. +# 'X' list : Mark slots as 'unusable'. +# 'T' music_id; property_id; file_name; [info;] [id] +# 'T' music_id; property_id; le_flags; file_name; [info;] [id] +# : Define a racing track, See https://szs.wiimm.de/doc/slot-id +# for 'music_id' and 'property_id'. +# 'H' music_id; property_id; file_name; [info;] [id] +# 'H' music_id; property_id; le_flags; file_name; [info;] [id] +# : Define a hidden track, that doesn't appear in any cup. +# 'A' music_id; property_id; file_name; [info;] [id] +# 'A' music_id; property_id; le_flags; file_name; [info;] [id] +# : Define a battle arena. diff --git a/project/text-files/ctcode.inc/ctcode-list-syntax-full-cr.inc b/project/text-files/ctcode.inc/ctcode-list-syntax-full-cr.inc new file mode 100644 index 0000000..e1e4fb2 --- /dev/null +++ b/project/text-files/ctcode.inc/ctcode-list-syntax-full-cr.inc @@ -0,0 +1,141 @@ + +#--------- +# Syntax: +#--------- +# +# 8 kinds of records are allowed: %, N, C, S, X, T, H and A +# +# * Option: '%' name = value +# +# Set option NAME to VAULE. The follwing options are supported: +# +# LE-FLAGS = 0 | 1 +# Enable or disable support of LE-FLAGS member. At section start +# it is disabled. If enabled, the Track definition expects an +# additional parameter between 'property_id' and 'file_name'. +# +# * Nintendo track mode: 'N' mode +# +# This command can only be used once and only before the first track +# definition. It defines, how to manage Nintendos original tracks. +# A numerical expression is expected. The 4 symbols are predefined: +# +# N$NONE : Nintendos tracks will NOT inserted automatically. +# This is the default. +# +# N$HIDE : Nintendos tracks will be defined, but the tracks are not +# shown in any Cup. If such track is selected by accident, +# it can be played. +# THIS MODE IS EXPERIMENTAL AND WILL FREEZE THE WII! +# +# N$SHOW : Define automatically 8 Cups with Nintendos tracks. +# +# N$SWAP : Define automatically 8 Cups with Nintendos tracks, but +# change the cup order, so that all 4 Wii Cups are in the +# first row and all 4 retro cups in the second row. +# +# For HIDE+SHOW+SWAP: +# The cup and track names are defined by internal names. If BMG is +# read, messages may override the internal names. +# The track order (except SWAP), file names, music and property ids +# are the same as in original MKWii. +# +# There are some flags, that are OR'ed to the base mode: +# |N$F_HEX : Replace original filenames by a 2 digit slot hex code. +# |N$F_WII : Prefix Wii track names by 'Wii ' +# |N$F_<color> : For BMG output, colorize the console prefix. Possible +# color names are: RED1, RED2, RED3, RED4, YELLOW, GREEN, +# BLUE1, BLUE2, WHITE and CLEAR (transparent). +# +# * Cup definition: 'C' name_of_cup +# +# Close the current cup and fill it with default tracks. Then define a +# cup name for the next created cup. This command is optional and only +# used, to store names in the CT-CODE file without any impact. +# +# * Slot definition: 'S' list +# +# Define the track slots for the next defined tracks. A list element is +# either an index 'NUMBER' or a range 'NUMBER1:NUMBER2'. The system will +# automatically skip invalid and already used slots. All numbers are +# numerical expressions handled by the parser. If a number or range is +# followed by an '!', the slots are used for the next tracks ignoring +# previous usage or reservation. +# +# Each slot definition overrides the previous one and an empty list will +# disable the slot list. Slot definiton are only needed to recreate a +# CT-CODE file with identical track layout. +# +# * Used definition: 'X' list +# +# Mark the slots as 'reserved'. A list element is either an index 'NUM' +# or a range 'NUMBER1:NUMBER2'. Only unused slots will be marked. All +# numbers are numerical expressions handled by the parser. If a number +# or range is followed by an '!', the slot is marked as used independent +# of its previous state. +# +# The line "X 0x20:0x2b 0x43 0xff" is executed internally at startup. +# +# * Track definition: +# 'T' music_id ';' property_id ';' file_name ';' info ';' id +# 'T' music_id ';' property_id ';' le_flags ';' file_name ';' info ';' id +# +# Define a new track. Use the next free slot defined by the previous +# slot definition, or the first not used slot. The elements are: +# +# * music_id +# The numeric ID of the sound file, a numerical expression is +# expected. The ID is normalized to avoid impossible values. +# Track numbers (0-31) are translated to the standard music ID. +# If a music ID is followed by an '!', the value is used without +# normalization and transformation. +# See https://szs.wiimm.de/doc/slot-id for infos about names. +# +# * property_id +# The numeric ID of a basic slot (0-31) for the properties. +# A numerical expression is expected. Only the lowsest 5 Bits are +# used to avoid impossible values. If a property ID is followed +# by an '!', the value is used as entered. +# See https://szs.wiimm.de/doc/slot-id for infos about names. +# +# * le_flags +# The flags are only allowed and mandatory, if option LE-FLAGS +# (see above) is enabled. It is a bit field; combine flags by OR. +# The flags are delivered to LE-CODE: +# LE$F_NEW : Track is marked as »new track«. +# LE$F_HEAD : Track is marked as »head of a group«. If such +# track is selected by user, a random selection +# of all group members is done. +# LE$F_GROUP : Track is marked as »additional group member« +# and is not added to a cup. +# +# * file_name +# The SZS file name without extension as string. If no file name +# is entered, the string 'slot_##' ('###' for LE-CODE) with a hex +# slot number is used. +# +# * info +# Optional information (no impact, maybe machine readable) as +# string. Maybe empty. It is only used for references lists like +# commands "wctct BMG" or "wctct TRACKS". +# +# * id +# Optional identifier. While creating references, it is assumed, +# that tracks with equal identifiers are equal. Empty strings +# and a single "-" means: no identifier available. +# +# * Hidden track definition: +# 'H' music_id ';' property_id ';' file_name ';' info ';' id +# 'H' music_id ';' property_id ';' le_flags ';' file_name ';' info ';' id +# +# Like 'T', but hidden: +# Define a new track, that doesn't appear in any cup. So it is hidden. +# A hidden track can be defined at any place in this section and doesn't +# touch any cup or the cup order. +# +# * Battle arena definition: +# 'A' music_id ';' property_id ';' file_name ';' info ';' id +# 'A' music_id ';' property_id ';' le_flags ';' file_name ';' info ';' id +# +# Like 'T', but for battle arenas: +# Overwrite a battle arena slot identified by 'property_id'. diff --git a/project/text-files/ctcode.inc/ctcode-setup-cr.inc b/project/text-files/ctcode.inc/ctcode-setup-cr.inc new file mode 100644 index 0000000..ff92238 --- /dev/null +++ b/project/text-files/ctcode.inc/ctcode-setup-cr.inc @@ -0,0 +1,33 @@ +[SETUP] + +#--- Identify the tool and version, that have written this file: + +TOOL = %s +SYSTEM = %s +VERSION = %s +REVISION = %u +DATE = %s + + +#--- mode + +CT-MODE = %3u # 1: CT-CODE, 2: LE-CODE + + +#--- Statistics + +USED-RACING-CUPS = %3u # number of active racing cups +MAX-RACING-CUPS = %3u # max possible number of racing cups +USED-BATTLE-CUPS = %3u # number of active battle cups +MAX-BATTLE-CUPS = %3u # max possible number of battle cups + +USED-RACING-TRACKS = %3u # number of active racing tracks (used by cup) +USED-BATTLE-TRACKS = %3u # number of active battle tracks (used by cup) +DEFINED-TRACKS = %3u # total number of defined tracks +MAX-TRACKS = %3u # total number of track slots + +DEFINED-RACING-CUPS = %3u # number of defined racing cups +MAX-RACING-CUPS = %3u # max possible number of racing cups +DEFINED-BATTLE-CUPS = %3u # number of defined battle cups +MAX-BATTLE-CUPS = %3u # max possible number of battle cups +UNUSED-CUPS = %3u # number of unused cups (space available) |
