1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
#---------
# Syntax:
#---------
#
# 8 kinds of records are allowed: %, N, C, S, X, T, H and A
#
# * Option: '%' name = value
#
# Set option NAME to VAULE. The following 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'.
#
# N-STRINGS = 4..255
# Define the number of strings beginning with string FILE_NAME.
# Use this setting to allow more than 4 strings without running
# into a syntax error.
#
# * 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.
# LE$F_TEXTURE: Track is a texture hack of a Nintendo track or
# arena and can be used for a random selection.
# LE$F_HIDDEN : The track is considered hidden and not
# included into cups. This flag is only used by
# Wiimms SZS Tools and other distribution
# generators, but ignored by LE-CODE.
#
# * 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.
#
# * xname
# Optional string, tha can be used by e.g. »wlect CREATE XNAMES«
# or »wlect CREATE XINFO« to create listings with this extended
# names. This string is supported since v2.29.
#
# * 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'.
|