diff options
| author | root <root@dc13.lemmi> | 2020-07-21 10:00:46 +0200 |
|---|---|---|
| committer | root <root@dc13.lemmi> | 2020-07-21 10:00:46 +0200 |
| commit | 1192c4575ea7afdf38e3fa0df4587a08620af11e (patch) | |
| tree | 6910a62487c282d0840d2e668aa7eb40b7c8a3fd /project/text-files | |
| parent | 76de8a89f7c1d1b4522eb66e8f89d248e8c1781f (diff) | |
SZS v2.18a
Diffstat (limited to '')
102 files changed, 3448 insertions, 0 deletions
diff --git a/project/text-files/common.inc/explain-objmgr-cr.inc b/project/text-files/common.inc/explain-objmgr-cr.inc new file mode 100644 index 0000000..b123052 --- /dev/null +++ b/project/text-files/common.inc/explain-objmgr-cr.inc @@ -0,0 +1,33 @@ + +#------------------------------------------------------------------------------ + +# Usually, only the data of objects defined by Nintendo can be replaced. +# It is not possible to remove or add an object, or to replace an object +# with one ID by another object with another ID. The following settings +# override this protection for experimental usage. + +# @NEW-OBJECT = MODE +# MODE is one of 4 settings: +# NEWOBJ$OFF: +# Disable experimental mode. This is the default. +# Ignore @OBJECT-SLOTS and @MAX-OBJECT-ID. +# NEWOBJ$REPLACE: +# Allow new objects, but keep the total number of slots +# at 0x13c. Ignore @OBJECT-SLOTS. +# NEWOBJ$SHRINK: +# Allow new objects and removal of old objects. The total number +# of slots may shrink, but not grow above 0x13c. +# NEWOBJ$GROW: +# Allow new objects and removal of old objects. The total number +# of slots may shrink or grow (limit 0x400). + +# @OBJECT-SLOTS = NUMBER +# Number of available objects slots. The default is 0x13c. Up to +# 0x400 slots are supported. This setting is ignored for some modes +# of @NEW-OBJECT. + +# @MAX-OBJECT-ID = NUMBER +# Define the maximim allowed object id. The default value is 0x2f3 and the +# maximal possible value is 0x3ff. +# Objects with id larger than this value are ignored. The value defines the +# size of the reference list of section 2 too. 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) diff --git a/project/text-files/distrib.inc/distrib-head-cr.inc b/project/text-files/distrib.inc/distrib-head-cr.inc new file mode 100755 index 0000000..bdb3862 --- /dev/null +++ b/project/text-files/distrib.inc/distrib-head-cr.inc @@ -0,0 +1,144 @@ +#DISTRIB + +# IMPORTANT: +# Every parameter is copied to the next version of this file. For unknown +# parameters the new section "User defined parameters" is created. + +# Here you can find help: +# https://szs.wiimm.de/cmd/distribution#desc +# http://wiki.tockdom.com/wiki/Wiimm%%27s_Custom_Archive/Distribution + + + ############################################## + ### ### + ### Upload the final version of this ### + ### file to https://ct.wiimm.de/upload ### + ### ### + ############################################## + + +#------------------------------------------------------------------------------ +# Comments for personal use +#------------------------------------------------------------------------------ + +# These first comments are for personal use and will not imported to ct.wiimm.de +# and never visible for other persons. Use it as reminder for yourself. + +@COMMENT1 = %s +@COMMENT2 = %s +@COMMENT3 = %s +@COMMENT4 = %s +@COMMENT5 = %s + +#------------------------------------------------------------------------------ +# Identify yourself! (private section) +#------------------------------------------------------------------------------ + +# The next parameters are used to identify you and to contact you on problems. +# All data of this section will never be visible for other persons. It's no +# problem to leave some or all parameters empty. + +# A wish for an user name @ ct.wiimm.de, if it ever supports a login. +@USER-CT-WIIMM = %s + +# Your current user name @ Wiimmfi (same as @ wii-hombrew.com). +@USER-WIIMMFI = %s + +# Your current user name @ CT-Wiiki (wiki.tockdom.com). +@USER-CT-WIIKI = %s + +# Other user names, format: service=name +@USER-MISC = %s + +# A space separated list of mail addresses: +@MAIL = %s + +# A note addressed to Wiimm +@NOTE-FOR-WIMMM = %s + +#------------------------------------------------------------------------------ +# Distribution parameters +#------------------------------------------------------------------------------ + +# Edit the following distribution parameters +# All parameters will be visible at ct.wiimm.de + +# Identification of the distribution and its version. +# These first parameters are required! +@NAME = %s +@VERSION = %s +@AUTHORS = %s + +# Date of first release in format yyyy-mm-dd +@RELEASE-DATE = %s + +# Additional keywords for the search engine (optional). +# The 4 parameters above are automatically scanned for keywords. +@KEYWORDS = %s + +# ID or UUID of predecessor +@PREDECESSOR = %s + +# Additional infos (optional) +@WIIMMFI-REGION = %s +@INFO-TEXT = %s +@INFO-URL = %s + +#------------------------------------------------------------------------------ +# Settings for ct.wiimm.de => edit them +#------------------------------------------------------------------------------ + +# DISPLAY-MODE decides, how this distribution is displayed. +# 0: Hide the distribution completley (like not defined). +# 1: Hide the distribution, but allow access to overview page by UUID. +# 2: Like 1 + List the distribution name without a link at track info. +# 3: Distribution is fully visible and reachable by links. +# Once imported and mode>0, you can access the page with the following +# private URL: https://ct.wiimm.de/dis/%s +@DISPLAY-MODE = %d + +# DATABASE-NAME decides, which tracknames are used for the distribution list. +# 0: Use the names of this file. +# 1: Use the global names of the track archive. If a track is unknown by +# the database, then fall back to step 0 and use the name of this file. +@DATABASE-NAME = %d + +# VIEW-COMMENT decides, how the comments in square brackts [] of track names +# are printed at the distribution page. +# 0: Hide the name part beginning from the first "[". +# 1: Show complete name including the [...] part. +@VIEW-COMMENT = %d + +# The comments in square brackts [] of track names are read as comma separated +# list of attributes. The attributes 'new', 'again', 'fill' and 'update' (or shorter +# 'upd') are imported to ct.wiimm.de. +# Each of the next 4 parameters enables a common status column in the track +# list. Maximal one enabled status attribut is printed. 'new' has the highest +# priority and 'update' the lowest. The options are enabled by value '1'. +@ENABLE-NEW = %d +@ENABLE-AGAIN = %d +@ENABLE-FILL = %d +@ENABLE-UPDATE = %d + +# If enabled, boost tracks are highlighted. For tracks known by the database, +# the internal boost status is used. Unknown tracks are marked as boost, if +# either the attribute 'boost' exists, or the first 5 characters of the track +# name are 'boost'. The option is enabled by value '1'. +@ENABLE-BOOST = %d + +#------------------------------------------------------------------------------ +# Automatically created parameters => DO NOT EDIT! +#------------------------------------------------------------------------------ + +# The UUID (Universally Unique IDentifier) identifies the distribution. +# => Do not change it under any circumstances! +# => And don't copy it from another distribution! +@UUID = %s + +# wszst version that wrote this file +@WSZST-VERSION = %s +@WSZST-REVISION = %u + +# Timestamps for this file +@FIRST-CREATION = %s +@LAST-UPDATE = %s diff --git a/project/text-files/distrib.inc/distrib-param-cr.inc b/project/text-files/distrib.inc/distrib-param-cr.inc new file mode 100644 index 0000000..bac942e --- /dev/null +++ b/project/text-files/distrib.inc/distrib-param-cr.inc @@ -0,0 +1,6 @@ + +#------------------------------------------------------------------------------ +# User defined parameters +#------------------------------------------------------------------------------ +# Some unknown parameters were detected. They are listed here: + diff --git a/project/text-files/distrib.inc/distrib-tracks-cr.inc b/project/text-files/distrib.inc/distrib-tracks-cr.inc new file mode 100644 index 0000000..47c0e71 --- /dev/null +++ b/project/text-files/distrib.inc/distrib-tracks-cr.inc @@ -0,0 +1,9 @@ + +#FF# +#------------------------------------------------------------------------------ +# Track listing of format: SHA1 SLOT NAME +#------------------------------------------------------------------------------ + +# Please edit the slot column. Use »CUP.INDEX« (e.g. »1.2« or »20.4«) for +# racing tracks and »'A' CUP.INDEX« (e.g. »A1.1« or »A2.5«) for battle arenas. + diff --git a/project/text-files/geohit.inc/geohit-item-head-cr.inc b/project/text-files/geohit.inc/geohit-item-head-cr.inc new file mode 100644 index 0000000..3aa8911 --- /dev/null +++ b/project/text-files/geohit.inc/geohit-item-head-cr.inc @@ -0,0 +1 @@ +%s diff --git a/project/text-files/geohit.inc/geohit-item-info-cr.inc b/project/text-files/geohit.inc/geohit-item-info-cr.inc new file mode 100644 index 0000000..5c92c6b --- /dev/null +++ b/project/text-files/geohit.inc/geohit-item-info-cr.inc @@ -0,0 +1,36 @@ +%s <<< The first 8 characters are the magic for text files of GeoHit-Item. +# <<< Don't remove them! +# +#------------------------------------------------------------------------------ +# +# This is the textual representation of a GeoHitTableItem*.bin file. +# It is defined by Wiimm and scanned by a 2-pass parser. +# +# Hints for decoding to a text file: +# +# - If either option --no-header (-H) or option --brief (-B) is set, this +# general description is suppressed. +# +# - If either option --export (-X) is set once or option --brief (-B) is set +# twice, a very small text file without descriptions and other not needed +# parameters is created. +# +# - If option --long (-l) is set, then additional hidden parameters are +# included. They are automatically included, if they are differ from the +# the standard settings. +# +#------------------------------------------------------------------------------ +# +# Syntax for section [OBJECTS]: +# +# OBJ_ID P1 .. P15 +# +# OBJ_ID : Id of the object. Use prefix '0x' for hex numbers. +# P1..P15 : 15 hit parameters, optionally separated by commas. +# A point ('.') is interpreted as Null, and an equal sign ('=') +# leaves the value unchanged. Missed parameters are not modified. +# +# See http://wiki.tockdom.com/wiki/GeoHitTableItem.bin +# and http://wiki.tockdom.com/wiki/GeoHitTableItemObj.bin for more details. +# +#------------------------------------------------------------------------------ diff --git a/project/text-files/geohit.inc/geohit-item-objects-cr.inc b/project/text-files/geohit.inc/geohit-item-objects-cr.inc new file mode 100644 index 0000000..a5923f6 --- /dev/null +++ b/project/text-files/geohit.inc/geohit-item-objects-cr.inc @@ -0,0 +1,9 @@ +[OBJECTS] +@REVISION = %u + +#-----------------------------------------------------------------------#----------------- +# Green Shell Star Mega Shroom Golden Shroom +# : Red Shell : Blue Shell : Bob-omb : Bullet Bill +# : : Banana : : Thunder : : Blooper : : Thunder Cloud +# ID : : : Shroom : : : Fake Box : : POW : : : # Name +#-----------------------------------------------------------------------#----------------- diff --git a/project/text-files/geohit.inc/geohit-item-setup-cr.inc b/project/text-files/geohit.inc/geohit-item-setup-cr.inc new file mode 100644 index 0000000..c8d5b7c --- /dev/null +++ b/project/text-files/geohit.inc/geohit-item-setup-cr.inc @@ -0,0 +1,12 @@ + +# +############################################################################### + +[SETUP] + +# identification of creator tool +TOOL = %s +SYSTEM = %s +VERSION = %s +REVISION = %u +DATE = %s diff --git a/project/text-files/geohit.inc/geohit-kart-head-cr.inc b/project/text-files/geohit.inc/geohit-kart-head-cr.inc new file mode 100644 index 0000000..3aa8911 --- /dev/null +++ b/project/text-files/geohit.inc/geohit-kart-head-cr.inc @@ -0,0 +1 @@ +%s diff --git a/project/text-files/geohit.inc/geohit-kart-info-cr.inc b/project/text-files/geohit.inc/geohit-kart-info-cr.inc new file mode 100644 index 0000000..f07d2c1 --- /dev/null +++ b/project/text-files/geohit.inc/geohit-kart-info-cr.inc @@ -0,0 +1,36 @@ +%s <<< The first 8 characters are the magic for text files of GeoHit-Kart. +# <<< Don't remove them! +# +#------------------------------------------------------------------------------ +# +# This is the textual representation of a GeoHitTableKart*.bin file. +# It is defined by Wiimm and scanned by a 2-pass parser. +# +# Hints for decoding to a text file: +# +# - If either option --no-header (-H) or option --brief (-B) is set, this +# general description is suppressed. +# +# - If either option --export (-X) is set once or option --brief (-B) is set +# twice, a very small text file without descriptions and other not needed +# parameters is created. +# +# - If option --long (-l) is set, then additional hidden parameters are +# included. They are automatically included, if they are differ from the +# the standard settings. +# +#------------------------------------------------------------------------------ +# +# Syntax for section [OBJECTS]: +# +# OBJ_ID P1 P2 P3 P4 +# +# OBJ_ID : Id of the object. Use prefix '0x' for hex numbers. +# P1..P4 : 4 hit parameters, optionally separated by commas. +# A point ('.') is interpreted as Null, and an equal sign ('=') +# leaves the value unchanged. Missed parameters are not modified. +# +# See http://wiki.tockdom.com/wiki/GeoHitTableKart.bin +# and http://wiki.tockdom.com/wiki/GeoHitTableKartObj.bin for more details. +# +#------------------------------------------------------------------------------ diff --git a/project/text-files/geohit.inc/geohit-kart-objects-cr.inc b/project/text-files/geohit.inc/geohit-kart-objects-cr.inc new file mode 100644 index 0000000..0600d1f --- /dev/null +++ b/project/text-files/geohit.inc/geohit-kart-objects-cr.inc @@ -0,0 +1,9 @@ +[OBJECTS] +@REVISION = %u + +#--------------------------------#----------------- +# No power-up # Name +# : Star # +# : : Mega Mushroom +# ID : : : Bullet Bill +#--------------------------------#----------------- diff --git a/project/text-files/geohit.inc/geohit-kart-setup-cr.inc b/project/text-files/geohit.inc/geohit-kart-setup-cr.inc new file mode 100644 index 0000000..c8d5b7c --- /dev/null +++ b/project/text-files/geohit.inc/geohit-kart-setup-cr.inc @@ -0,0 +1,12 @@ + +# +############################################################################### + +[SETUP] + +# identification of creator tool +TOOL = %s +SYSTEM = %s +VERSION = %s +REVISION = %u +DATE = %s diff --git a/project/text-files/itemslot.inc/itemslot-head-cr.inc b/project/text-files/itemslot.inc/itemslot-head-cr.inc new file mode 100755 index 0000000..dbea88a --- /dev/null +++ b/project/text-files/itemslot.inc/itemslot-head-cr.inc @@ -0,0 +1 @@ +#ITEMSLT diff --git a/project/text-files/itemslot.inc/itemslot-info-cr.inc b/project/text-files/itemslot.inc/itemslot-info-cr.inc new file mode 100755 index 0000000..1d6c2a7 --- /dev/null +++ b/project/text-files/itemslot.inc/itemslot-info-cr.inc @@ -0,0 +1,24 @@ +#ITEMSLT <<< The first 8 characters are the magic for ItemSlot.bin text files. +# <<< Don't remove them! +# +#------------------------------------------------------------------------------ +# +# This is the textual representation of ItemSlot.bin and ItemSlotTable.slt +# files. It is defined by Wiimm and scanned by a 2-pass parser. +# +# Hints for decoding to a text file: +# +# - If either option --no-header (-H) or option --brief (-B) is set, this +# general description is suppressed. +# +# - If either option --export (-X) is set once or option --brief (-B) is set +# twice, a very small text file without descriptions and other not needed +# parameters is created. +# +# - If option --long (-l) is set, then additional hidden parameters are +# included. They are automatically included, if they are differ from the +# the standard settings. +# +# See http://wiki.tockdom.com/wiki/ItemSlot.bin for more details. +# +#------------------------------------------------------------------------------ diff --git a/project/text-files/itemslot.inc/itemslot-param-cr.inc b/project/text-files/itemslot.inc/itemslot-param-cr.inc new file mode 100755 index 0000000..6e16e0e --- /dev/null +++ b/project/text-files/itemslot.inc/itemslot-param-cr.inc @@ -0,0 +1,6 @@ +[PARAMETERS] +@REVISION = %u + +ADD-BATTLE = %d # used if creating a binary file +USE-SLT = %d # information only + diff --git a/project/text-files/itemslot.inc/itemslot-setup-cr.inc b/project/text-files/itemslot.inc/itemslot-setup-cr.inc new file mode 100755 index 0000000..c8d5b7c --- /dev/null +++ b/project/text-files/itemslot.inc/itemslot-setup-cr.inc @@ -0,0 +1,12 @@ + +# +############################################################################### + +[SETUP] + +# identification of creator tool +TOOL = %s +SYSTEM = %s +VERSION = %s +REVISION = %u +DATE = %s diff --git a/project/text-files/itemslot.inc/itemslot-table-cr.inc b/project/text-files/itemslot.inc/itemslot-table-cr.inc new file mode 100755 index 0000000..d7fe18b --- /dev/null +++ b/project/text-files/itemslot.inc/itemslot-table-cr.inc @@ -0,0 +1,3 @@ +[%s] # %s table at offset 0x%03x, %u rows, %u columns +@REVISION = %u + diff --git a/project/text-files/kcl.inc/kcl-dump-head-cr.inc b/project/text-files/kcl.inc/kcl-dump-head-cr.inc new file mode 100644 index 0000000..5a48c68 --- /dev/null +++ b/project/text-files/kcl.inc/kcl-dump-head-cr.inc @@ -0,0 +1,40 @@ + +S.verticies =%8u +S.normals =%8u +S.triangles =%8u, %u unused, %u fixed, %u invalid +S.octree_size =%8u +S.total_size =%8u + +H.unknown_0x10 = %11.3f +H.unknown_0x38 = %11.3f + +H.min_octree = %11.3f %11.3f %11.3f # minimum coord for octree entrance +S.min_point = %11.3f %11.3f %11.3f # minimum coord of all points +S.mean_point = %11.3f %11.3f %11.3f # arithmetic mean of all points +S.max_point = %11.3f %11.3f %11.3f # maximum coord of all points +S.max_octree = %11.3f %11.3f %11.3f # maximum coord for octree entrance + +H.mask = 0x%08x 0x%08x 0x%08x # masks (header) +H.shifts = %8u> %8u< %8u< # header shift values +S.null_bits = %8u %8u %8u # number of low 0 bits +S.bcube_bits = %8u %8u %8u # number of base cube bits +S.n_bcubes = %8u %8u %8u # number of base cubes + +S.min_distance = %14.6f # minimum distance between points of a triangle +S.max_distance = %11.3f # maximum distance between points of a triangle + +S.bcube_width = %8u # width of a single base cube = 2^rshift +S.max_cube_width = %8u # maximum width of a cube with triangles +S.min_cube_width = %8u # minimum width of a cube with triangles +~S.blow_size = %8u # suggestion: what KCL_BLOW value was used +S.n_base_cubes = %8u # number of base cubes +S.n_cube_nodes = %8u # number of cube nodes (each with 8 cube links) +S.total_cubes = %8u # total number of cubes +S.max_depth = %8u # maximum octree depth +S.ave_depth = %11.2f # average octree depth + +S.n_null_lists = %8u # number of triangle lists with 0 triangles +S.n_tri_lists = %8u # number of triangle lists with >0 triangles +S.n_null_links = %8u # number of triangle links to lists with 0 triangles +S.n_tri_links = %8u # number of triangle links to lists with >0 triangles + diff --git a/project/text-files/kcl.inc/kcl-dump-octlist-cr.inc b/project/text-files/kcl.inc/kcl-dump-octlist-cr.inc new file mode 100644 index 0000000..eab8bf7 --- /dev/null +++ b/project/text-files/kcl.inc/kcl-dump-octlist-cr.inc @@ -0,0 +1,2 @@ + +#L# diff --git a/project/text-files/kcl.inc/kcl-dump-octree-cr.inc b/project/text-files/kcl.inc/kcl-dump-octree-cr.inc new file mode 100644 index 0000000..daff0ce --- /dev/null +++ b/project/text-files/kcl.inc/kcl-dump-octree-cr.inc @@ -0,0 +1,6 @@ + +# +############################################################################### +# Octree dump: %u base cubes + %u normal cubes, %u triangle lists + +#O# diff --git a/project/text-files/kcl.inc/kcl-dump-tridata-cr.inc b/project/text-files/kcl.inc/kcl-dump-tridata-cr.inc new file mode 100644 index 0000000..d15fd47 --- /dev/null +++ b/project/text-files/kcl.inc/kcl-dump-tridata-cr.inc @@ -0,0 +1,15 @@ +# List of %u triangles + +#D# +#-----------------------------------------+---------------------------------- +# N0 _______ x,y,z of normal #0 _______ | flags (income -> current) +# N1 _______ x,y,z of normal #1 _______ | status +# N2 _______ x,y,z of normal #2 _______ | 'valid', 'used' +# N3 _______ x,y,z of normal #3 _______ | +# P1 _______ x,y,z of point #1 ________ | length +# P2 _______ x,y,z of point #2 ________ | difference: point2 - point1 +# P3 _______ x,y,z of point #3 ________ | difference: point3 - point1 +# LEN _______ 3x side length2 __________ | area of triangle +# HT _______ 3x height ________________ | min and max height +#-----------------------------------------+---------------------------------- + diff --git a/project/text-files/kcl.inc/kcl-flag-template-cr.inc b/project/text-files/kcl.inc/kcl-flag-template-cr.inc new file mode 100644 index 0000000..8394619 --- /dev/null +++ b/project/text-files/kcl.inc/kcl-flag-template-cr.inc @@ -0,0 +1,48 @@ + +############################################################################## +##### All behind a '#' on the same line is a comment and ignored. ##### +##### See https://szs.wiimm.de/doc/kcl/flagfile for more details. ##### +############################################################################## +# function f() + +# First, we define a flag function named f(). +# This allows us to define type and variant as 2 values. + +@function f # (type,variant) + @return $1 & 0x1f | $2 << 5 +@endfunction + +############################################################################## +# function a() + +# Here we define function a() to support the flag variant type A. +# For details see http://wiimm.de/r/ctw/KCL_flag + +@function a # (type,w,x,y,z) + @return $1 & 0x1f # type (5 bits) + > | ( $2 & 7 ) << 13 # W (3 bits) + > | ( $3 & 3 ) << 11 # X (2 bits) + > | ( $4 & 7 ) << 8 # Y (3 bits) + > | ( $5 & 7 ) << 5 # Z (3 bits) +@endfunction + +############################################################################## +# function i() + +# The function i() supports fall boundaries. + +@function i # (type,z,index) + @return $1 & 0x1f # type (5 bits) + > | ( $2 & 7 ) << 5 # Z (3 bits) + > | ( $3 & 0xff ) << 8 # index (8 bits) +@endfunction + +############################################################################## +# table + +#----------------------------------------------------------------------------- +# group_name = flag_or_expression +# = f(type,variant) +# = a(type,w,x,y,z) +# = i(type,z,index) +#----------------------------------------------------------------------------- diff --git a/project/text-files/kcl.inc/kcl-head-cr.inc b/project/text-files/kcl.inc/kcl-head-cr.inc new file mode 100644 index 0000000..1dfe947 --- /dev/null +++ b/project/text-files/kcl.inc/kcl-head-cr.inc @@ -0,0 +1,18 @@ +#KCL : Wavefront OBJ File + +## Created by 'Wiimms SZS Tools' - https://szs.wiimm.de/ +#@ TOOL = %s +#@ SYSTEM = %s +#@ VERSION = %s +#@ REVISION = %u +#@ DATE = %s +#@ MODE = %s + + +# Statistics: +# +# %8u vertices +# %8u normals +# %8u triangles +# %8u groups +# diff --git a/project/text-files/kmp.inc/kmp-area-cr.inc b/project/text-files/kmp.inc/kmp-area-cr.inc new file mode 100644 index 0000000..332e5b8 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-area-cr.inc @@ -0,0 +1,16 @@ + +#FF# +############################################################################### + +[AREA] +# Camera and other areas +# KMP/AREA syntax & semantics: https://szs.wiimm.de/doc/kmp/area + +@REVISION = %u +@AREA-HEAD-VALUE = %#x + +#AREA# +#------------------------------------------------------------------------------------ +# mode type _____position/rotation/scale______ _________settings_________ +# idx came prio x y z #1 #2 #3 #4 +#------------------------------------------------------------------------------------ diff --git a/project/text-files/kmp.inc/kmp-came-cr.inc b/project/text-files/kmp.inc/kmp-came-cr.inc new file mode 100644 index 0000000..a799131 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-came-cr.inc @@ -0,0 +1,19 @@ + +#FF# +############################################################################### + +[CAME] +# Cameras +# KMP/CAME syntax & semantics: https://szs.wiimm.de/doc/kmp/came + +@REVISION = %u +@OPENING-INDEX = %s +@SELECTION-INDEX = %s + +#CAME# +#------------------------------------------------------------------------------------------- +# idx type v(came) _________position (x,y,z)_________ zoom_beg # some +# next v(zoom) _________rotation (x,y,z)_________ zoom_end # calculated +# unknown v(v.pt) ______view point beg (x,y,z)______ - # values +# route unknown ______view point end (x,y,z)______ sec*60 # (info only) +#------------------------------------------------------------------------------------------- diff --git a/project/text-files/kmp.inc/kmp-ckph-cr.inc b/project/text-files/kmp.inc/kmp-ckph-cr.inc new file mode 100644 index 0000000..2877ac5 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-ckph-cr.inc @@ -0,0 +1,7 @@ + +#FF# +############################################################################### + +[CKPH] +# Check points header: Divide check points into groups. +# KMP/CKPH syntax & semantics: https://szs.wiimm.de/doc/kmp/ckph diff --git a/project/text-files/kmp.inc/kmp-ckpt-cr.inc b/project/text-files/kmp.inc/kmp-ckpt-cr.inc new file mode 100644 index 0000000..575283a --- /dev/null +++ b/project/text-files/kmp.inc/kmp-ckpt-cr.inc @@ -0,0 +1,32 @@ + +#FF# +############################################################################### + +[CKPT] +# Check points +# KMP/CKPT syntax & semantics: https://szs.wiimm.de/doc/kmp/ckpt + +@REVISION = %u +@CKPT-HEAD-VALUE = %#x +@CKPH-HEAD-VALUE = %#x +@AUTO-NEXT = %u +@AUTO-GROUP-NAME = 0 +@AUTO-RESPAWN = 0 # 0:off, 1:on + +@AUTO-MODE = mode$automode +# allowed values: AM$OFF AM$NORM AM$RENUMBER AM$1LAP AM$SHORT AM$UNLIMIT + +@ROUTE-OBJECT-MODE = mode$showck +#--- default settings: +# @ROUTE-OBJECT1 = o$%s +# @ROUTE-OBJECT2 = o$%s +# @ROUTE-OBJECT1-SCALE = v( %4.2f, %4.2f, %4.2f ) +# @ROUTE-OBJECT2-SCALE = v( %4.2f, %4.2f, %4.2f ) +# @ROUTE-OBJECT1-BASE = %d +# @ROUTE-OBJECT2-BASE = %d + +#CKPT# +#----------------------------------------------------------------------#------------------- +# _____left_point______ _____right_point_____ respawn prev # width direc- +#idx x y x y mode next # of ckpt tion +#----------------------------------------------------------------------#------------------- diff --git a/project/text-files/kmp.inc/kmp-cnpt-cr.inc b/project/text-files/kmp.inc/kmp-cnpt-cr.inc new file mode 100644 index 0000000..e3a0648 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-cnpt-cr.inc @@ -0,0 +1,7 @@ + +#FF# +############################################################################### + +[CNPT] +# Cannon target positions +# KMP/CNPT syntax & semantics: https://szs.wiimm.de/doc/kmp/cnpt diff --git a/project/text-files/kmp.inc/kmp-defaults-cr.inc b/project/text-files/kmp.inc/kmp-defaults-cr.inc new file mode 100644 index 0000000..abbdc82 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-defaults-cr.inc @@ -0,0 +1,8 @@ + +#------------------------------------------------------------------------------ + +# These are the default settings for route objects: +# @ROUTE-OBJECT = %s +# @ROUTE-OBJECT-SHIFT = v( %4.2f, %4.2f, %4.2f ) +# @ROUTE-OBJECT-SCALE = v( %4.2f, %4.2f, %4.2f ) + diff --git a/project/text-files/kmp.inc/kmp-enph-cr.inc b/project/text-files/kmp.inc/kmp-enph-cr.inc new file mode 100644 index 0000000..13225b9 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-enph-cr.inc @@ -0,0 +1,7 @@ + +#FF# +############################################################################### + +[ENPH] +# Enemy route points header: Divide enemy points into groups. +# KMP/ENPH syntax & semantics: https://szs.wiimm.de/doc/kmp/enph diff --git a/project/text-files/kmp.inc/kmp-enpt-cr.inc b/project/text-files/kmp.inc/kmp-enpt-cr.inc new file mode 100644 index 0000000..101307a --- /dev/null +++ b/project/text-files/kmp.inc/kmp-enpt-cr.inc @@ -0,0 +1,7 @@ + +#FF# +############################################################################### + +[ENPT] +# Enemy Points: Routes of the cpu racers +# KMP/ENPT syntax & semantics: https://szs.wiimm.de/doc/kmp/enpt diff --git a/project/text-files/kmp.inc/kmp-enpt-ropt-cr.inc b/project/text-files/kmp.inc/kmp-enpt-ropt-cr.inc new file mode 100644 index 0000000..367eee0 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-enpt-ropt-cr.inc @@ -0,0 +1,42 @@ + +# Experimental options, tools before v1.60a will throw error messages! +@SHOW-OPTIONS = %d # >0: force printing of all route options + +# AUTO-CONNECT is one of the following AC$* symbols: +# For racing tracks and for battle areenas with manual links setup: +# AC$OFF +# Do not any auto connection. Route connection are fully under control +# of the user. +# AC$PREV +# Setup PREV links by NEXT links of other routes. Existing PREV links +# are cleared before. This is the default and the behavior of all versions +# before v1.60a. +# +# Modes for automatic route connection in battle arenas: +# AC$DISPATCH +# Find dispatch points and create links automatically if not already +# set manually. This is the default for enemy routes, if dispatch +# points detected. +# +# Flags: The modes of above can be combined with the following options by +# the OR operator '|' (example: AC$PREV | ACF$FIX) +# ACF$FIX_PREV +# Add self-links, if a PREV list is empty. +# ACF$FIX_NEXT +# Add self-links, if a NEXT list is empty. +# ACF$FIX +# Abbreviation for: ACF$FIX_PREV | ACF$FIX_NEXT +# This is the default for item routes to avoid a freeze. +# +@AUTO-CONNECT = %s%s + +# Syntax of new command with impact to all following $GROUP commands: +# "$DEF-CLASS" [":"] class_name + +# Syntax of new route commands (placed behind $GROUP command): +# "$PREV" [":"] [group_name]... +# "$SETTINGS" [":"] setting1 setting2 [ "AUTO" | "ROUTE" | "DISPATCH" ] +# "$CLASS" [":"] class_name_prev [class_name_next] +# "$AC-PREV" [":"] class_name +# "$AC-NEXT" [":"] class_name +# "$ONEWAY" [":"] "NONE" | "PREV" | "NEXT" | "BOTH" diff --git a/project/text-files/kmp.inc/kmp-gobj-cr.inc b/project/text-files/kmp.inc/kmp-gobj-cr.inc new file mode 100644 index 0000000..86943aa --- /dev/null +++ b/project/text-files/kmp.inc/kmp-gobj-cr.inc @@ -0,0 +1,49 @@ + +#FF# +############################################################################### + +[GOBJ] +# Global objects. +# KMP/GOBJ syntax & semantics: https://szs.wiimm.de/doc/kmp/gobj + +@REVISION = %u +@GOBJ-HEAD-VALUE = %#x +@AUTO-ENEMY-ITEM = 0 # mode$test ? <item$star,item$mega> : 0 +@AUTO-OBJECT-NAME = 0 +@KCL-FALL-WIDTH = 0 # set to a value >0 (e.g. 200) to enable KCL falling +@KCL-FALL-PRE-ADD = 0 # add this height or vector before falling +@KCL-FALL-POST-ADD = 0 # add this height or vector after success +@KCL-FALL-TYPES = KCL$DRIVE # bit field of recognized KCL types + # Best values are: + # - KCL$BORDER: All KCL types except effects. + # - KCL$DRIVE: All driveable types like road, boost, ramp, water, ... +@SORT-OBJECTS = SORT$OFF # SORT$GROUPING SORT$ANGLE SORT$TINY + +#------------------------------------------------------------------------------ +# Definition objects and references + +# There is a new kind of presence flags in progress: +# http://wiki.tockdom.com/wiki/Extension_of_Presence_Flags +# Since v2.11a, the KMP compiler supports this new extension. +# Here you find some global settings for the new extension: + +# If >0: Reset not defined parameters of definitions-object to their default +# values. +@FIX-OBJDEF = 0 + +# If not DOB$OFF: Sort definitions-objects by object-id and move them to the +# beginning (DOB$BEGIN) or to the end (DOB$END) of all GOBJ elements. +@SORT-OBJDEF = DOB$OFF + +# If >0: Clear invalid reference-ids for modes 0 and 1. +# If >1: Clear invalid reference-ids independend of the mode. +@FIX-REFERENCE = 0 + +# If not DOB$OFF: Sort standard objects with a valid reference-id directly +# before (DOB$BEFORE) or behind (DOB$BEHIND) the related definition-object. +@SORT-REFERENCE = DOB$OFF + +# Object statistics: +##-------------------------------------------------------------------------------------------- +##count id/hex name characteristics +##-------------------------------------------------------------------------------------------- diff --git a/project/text-files/kmp.inc/kmp-gobj-tabhead-cr.inc b/project/text-files/kmp.inc/kmp-gobj-tabhead-cr.inc new file mode 100644 index 0000000..6aba1b7 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-gobj-tabhead-cr.inc @@ -0,0 +1,5 @@ +#GOBJ# +#------------------------------------------------------------------------------------ +# idx obj-id ______position/rotation/scale______ _________settings_________ route +# /ref-id x y z #1/#5 #2/#6 #3/#7 #4/#8 /p-flag +#------------------------------------------------------------------------------------ diff --git a/project/text-files/kmp.inc/kmp-head-cr.inc b/project/text-files/kmp.inc/kmp-head-cr.inc new file mode 100644 index 0000000..b4831b9 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-head-cr.inc @@ -0,0 +1,28 @@ +#KMP <<< The first 4 characters '#KMP' are the magic for a KMP text file. +# <<< Don't remove them! +# +############################################################################### +# +# This is a textual representation of a KMP file used in Nintendos "Mario Kart +# Wii". "Wiimms SZS Tools" can convert binary (raw) and text KMP 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 KMP text syntax and semantics: +# * https://szs.wiimm.de/doc/kmp/syntax +# +# Reference list of KMP parser functions: +# * https://szs.wiimm.de/doc/kmp/func +# +# Info about the KMP file format: +# * https://szs.wiimm.de/r/wiki/KMP +# +# Hint: +# Set one of the options --no-header (-H) or --brief (-B) while decoding +# to suppress this general description. The --brief option will also disable +# info parts in the different sections. If --brief is set twice, the output +# of the unneded sections CKPH, ENPH and ITPH is completly suppressed. +# diff --git a/project/text-files/kmp.inc/kmp-itph-cr.inc b/project/text-files/kmp.inc/kmp-itph-cr.inc new file mode 100644 index 0000000..ee80374 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-itph-cr.inc @@ -0,0 +1,7 @@ + +#FF# +############################################################################### + +[ITPH] +# Item route points header: Divide item points into groups. +# KMP/ITPH syntax & semantics: https://szs.wiimm.de/doc/kmp/itph diff --git a/project/text-files/kmp.inc/kmp-itpt-cr.inc b/project/text-files/kmp.inc/kmp-itpt-cr.inc new file mode 100644 index 0000000..20305d3 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-itpt-cr.inc @@ -0,0 +1,7 @@ + +#FF# +############################################################################### + +[ITPT] +# Item Points: Routes of red shells and bullet bill +# KMP/ITPT syntax & semantics: https://szs.wiimm.de/doc/kmp/itpt diff --git a/project/text-files/kmp.inc/kmp-itpt-ropt-cr.inc b/project/text-files/kmp.inc/kmp-itpt-ropt-cr.inc new file mode 100644 index 0000000..87659bd --- /dev/null +++ b/project/text-files/kmp.inc/kmp-itpt-ropt-cr.inc @@ -0,0 +1,4 @@ + +# Route options. See section [ENPT] for details. +@SHOW-OPTIONS = %d # >0: force printing of all route options +@AUTO-CONNECT = %s%s diff --git a/project/text-files/kmp.inc/kmp-jgpt-auto-cr.inc b/project/text-files/kmp.inc/kmp-jgpt-auto-cr.inc new file mode 100644 index 0000000..6bf973e --- /dev/null +++ b/project/text-files/kmp.inc/kmp-jgpt-auto-cr.inc @@ -0,0 +1,26 @@ + +# Automatic definition of respawn points +@AUTO-DEFINE = 0 # 0 | SECT$ENPT | SECT$ITPT +@AUTO-DISTANCE = 1000.0 # minimal distance to other JGPT +@AUTO-ADJUST = vy(100) # add this value to each auto-JGPT +@AUTO-REMOVE = 0 # 0|1|2 + +# Column 'flag' is optional and only used internally. +# Syntax: FLAGS_STRING or '(' EXPRESSION ')' +# F (F$FALL): Point can be used for FALL-DOWN functionality. +# S (F$SNAP): Point can be used for SNAP functionality. +# Remove the letter or replace it by '-' to disable a feature. +# If the column is missed, all options are enabled by default. + +# If you enable EXPORT-FLAGS (set it to 1), the flags are exported using the +# lowest byte of ROTATION.x. The rotation value needs only 4 or 5 digits, so +# this has no disadvantage for the rotation. 5 of the 8 bits are used to +# verify changes by other tools on import. If at least 1 of these bits of all +# points is wrong, import is canceled. +@EXPORT-FLAGS = %d # 0=disabled, 1=enabled (overridden by option --export-flags) + +#JGPT# +#------------------------------------------------------------------------------------ +# _____________position_____________ _______rotation________ related flags +# idx x y z x y z id effect +#------------------------------------------------------------------------------------ diff --git a/project/text-files/kmp.inc/kmp-jgpt-cr.inc b/project/text-files/kmp.inc/kmp-jgpt-cr.inc new file mode 100644 index 0000000..266be1b --- /dev/null +++ b/project/text-files/kmp.inc/kmp-jgpt-cr.inc @@ -0,0 +1,7 @@ + +#FF# +############################################################################### + +[JGPT] +# Respawn positions +# KMP/JGPT syntax & semantics: https://szs.wiimm.de/doc/kmp/jgpt diff --git a/project/text-files/kmp.inc/kmp-ktpt-cr.inc b/project/text-files/kmp.inc/kmp-ktpt-cr.inc new file mode 100644 index 0000000..b19a0b7 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-ktpt-cr.inc @@ -0,0 +1,23 @@ + +#FF# +############################################################################### + +[KTPT] +# Kart Points: Starting positions of the racers +# KMP/KTPT syntax & semantics: https://szs.wiimm.de/doc/kmp/ktpt + +@REVISION = %u +@KTPT-HEAD-VALUE = %#x +@KCL-FALL-WIDTH = 0 # set to a value >0 (e.g. 200) to enable KCL falling +@KCL-FALL-PRE-ADD = 0 # add this height or vector before falling +@KCL-FALL-POST-ADD = 0 # add this height or vector after success +@KCL-FALL-TYPES = KCL$DRIVE # bit field of recognized KCL types + # Best values are: + # - KCL$BORDER: All KCL types except effects. + # - KCL$DRIVE: All driveable types like road, boost, ramp, water, ... + +#KTPT# +#-------------------------------------------------------------------------------- +# _____________position______________ _______rotation_______ player +#idx x y z x y z index unknown +#-------------------------------------------------------------------------------- diff --git a/project/text-files/kmp.inc/kmp-macros-cr.inc b/project/text-files/kmp.inc/kmp-macros-cr.inc new file mode 100644 index 0000000..8104070 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-macros-cr.inc @@ -0,0 +1,60 @@ + +# +############################################################################### +# Macros + +@macro itembox + #------------------------------------------------------------------- + # This macro helps to place N itemboxes in a row between + # 2 points with optimal height. + #------------------------------------------------------------------- + # Syntax: + # @:ITEMBOX(fall,1,pos1) + # @:ITEMBOX(fall,n,pos1,pos2) + # @:ITEMBOX(fall,n,pos1,pos2,factor) + # @:ITEMBOX(fall,n,pos1,pos2,factor,second) + # @:ITEMBOX(fall,n,pos1,pos2,factor,second,itemtype) + #------------------------------------------------------------------- + # Parameters: + # FALL : If >0: Raise the box by FALL and let it fall to + # : the road to get the optimal height. + # N : If >0: Create N itemboxes between POS1 and POS2. + # POS1 : Position of first itembox. + # POS2 : Position of last itembox. + # FACTOR : If set and >0.01: Create a line from POS1 to POS2. + # : Enlarge the line by FACTOR in both directions. + # : Then use the new points as new POS1 and POS2. + # SECOND : If set and >0: Move each second itembox into a second + # : row. The distance between both rows is SECOND units. + # ITEMTYPE: Use this value for player and enemy items. + #------------------------------------------------------------------- + # Examples: + # @:itembox( 200, 1, point ) + # @:itembox( 0, 3, point1, point2, 0.9 ) + # @:itembox( 500, 8, point1, point2, 1, 250, ITEM$3GREEN ) + # @:itembox( 200, 4, v(2000,1000,3000), v(3000,1000,5000) ) + #------------------------------------------------------------------- + + @param fall n p1 p2 factor second itemtype + @pdef fall = fall > 0 ? fall : 0 + @if isScalar(factor) && factor > 0.01 + @pdef a = p1, b = p2, f = (1.0-factor)/2 + @pdef p1 = pos(f,a,b) + @pdef p2 = pos(f,b,a) + @endif + @pdef itemtype = int(itemtype) + @if n == 1 + @pdef p = fall ? kcl$fall(p1+vy(fall),200,KCL$DRIVE) : p1 + 0 o$itembox p 0 itemtype itemtype 0 -1 0 v3(0) 0 0 0 0 0x3f v3(1) + @else + @pdef second = isScalar(second) && second > 0 + > ? hrot(vz(second),hdir(p1,p2)+90) : v3(0) + @pdef n = n - 1.0 + @for i=0;n + @pdef p = pos(i/n,p1,p2) + @doif(i&1) @pdef p = p + second + @doif(fall) @pdef p = kcl$fall(p+vy(fall),200,KCL$DRIVE) + 0 o$itembox p 0 itemtype itemtype 0 -1 0 v3(0) 0 0 0 0 0x3f v3(1) + @endfor + @endif +@endmacro diff --git a/project/text-files/kmp.inc/kmp-mspt-cr.inc b/project/text-files/kmp.inc/kmp-mspt-cr.inc new file mode 100644 index 0000000..1cd13b2 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-mspt-cr.inc @@ -0,0 +1,7 @@ + +#FF# +############################################################################### + +[MSPT] +# End battle positions +# KMP/MSPT syntax & semantics: https://szs.wiimm.de/doc/kmp/mspt diff --git a/project/text-files/kmp.inc/kmp-param1-cr.inc b/project/text-files/kmp.inc/kmp-param1-cr.inc new file mode 100644 index 0000000..9d44e42 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-param1-cr.inc @@ -0,0 +1,54 @@ + +#FF# +############################################################################### + +# This second part of section [SETUP] is an example to prepare a KMP source +# file for conditional encoding (compiling). The idea is, that the user +# defines variables with the "--const name=value" option while calling one of +# the tools 'wszst' or 'wkmpt' to create different KMP files. +# +# Set option --no-param (-P) to disable this parameter part. +# +# This example scans 7 parameters. All variables are not special for the KMP +# encoder and fully under user control: The user can remove or rename them or +# can add more parameters. But this values have predefined meanings: +# +# slot : Create a KMP for the entered slot. +# The default value 0 means: Design for allmost all slots. +# Use it with @if..@else..@endif to support special slots. +# +# d : Create a KMP file for a "_d" variant of a track. +# Use it with @if..@else..@endif to skip objects. +# +# arena : If >0, then create a battle arena instead of a racing track. +# +# test : If >0, then test mode is enabled. +# If <=0, test mode and also all parameters below are disabled. +# +# ocam : If >0 and also test>0, then enable test of opening camera # +# (endless looping until button 'A' is pressed). With the default +# value 0 all opening scenes are looped. If test mode is disabled, +# the cameras work as usual. +# +# showrt : If set and also test>0, points of different sections ar shown as +# item boxes and all standard item boxes are disabled. Set one or more +# of the following bits to show the points of the section: +# 1 : ENPT +# 2 : ITPT +# 4 : JGPT +# 8 : CNPT +# 16 : MSPT +# 32 : POTI +# -1 : enable all section (all bits set!) +# +# showck : If set and also test>0, show check points as trees (or other +# user defined objects). See section [CKPT] for details. +# +# laps : It controls the number of laps by changing the settinge of the +# check point modes (CKPT/@AUTO-MODE). Allowed values are: +# 0: Make the race a short as possible. +# 1: Finish the race after 1 lap +# 3: Finish the race after 3 laps (default). +# 4: Never finish the race (unlimited). +# Value 3 is used, if test mode is disabled. +# diff --git a/project/text-files/kmp.inc/kmp-param2-cr.inc b/project/text-files/kmp.inc/kmp-param2-cr.inc new file mode 100644 index 0000000..7ac8677 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-param2-cr.inc @@ -0,0 +1,28 @@ + +# First we define default values (if not set by --const) for all parameters: + + @def slot ?= 0 # Enable support for special slots + @def d ?= 0 # Enable support for _d files + @def arena ?= 0 # Enable battle arena support and allow different modes + @def test ?= 0 # Enable test mode + @def ocam ?= 0 # Test opening cam, only relevant if test>0 + @def showrt ?= 0 # Show item boxes for route points. + # Only relevant if test>0. Set bit combination: + # 1:ENPT, 2:ITPT, 4:JGPT, 8:CNPT, 0x10:MSPT, 0x20:POTI (-1:all) + @def showck ?= 0 # Show objects a check point positions if test>0. + # 0:off, 1:mandatory, 2:all, 3=left+right + @def laps ?= 3 # Number of laps (0|1|3|4), only relevant if test>0 + +# In a second step, global mode variables are defined and normalized. +# All conditions in this file should use these variables. + + @gdef mode$slot = slot > 0 ? slot : 0 + @gdef mode$d = d > 0 + @gdef mode$arena = arena > 0 ? arena : 0 + + @gdef mode$test = test > 0 ? test : 0 + @gdef mode$ocam = mode$test && ocam >= 1 ? ocam : 0 + @gdef mode$laps = mode$test && laps >= 0 ? laps : 3 + @gdef mode$showrt = mode$test ? showrt : 0 + @gdef mode$showck = mode$test ? showck : 0 + @gdef mode$automode = select(mode$laps,AM$SHORT,AM$1LAP,AM$OFF,AM$OFF,AM$UNLIMIT) diff --git a/project/text-files/kmp.inc/kmp-param3-cr.inc b/project/text-files/kmp.inc/kmp-param3-cr.inc new file mode 100644 index 0000000..653273a --- /dev/null +++ b/project/text-files/kmp.inc/kmp-param3-cr.inc @@ -0,0 +1,6 @@ + +# Now the tools 'wszst' and 'wkmpt' can be called with the --const (or short +# -c) option for a conditional encoding. Example: +# -c test=12,ocam=2,laps=0 +# Enable test mode 12, show opening camera 2 endless (until pressing A) and +# finish the race very fast to view the finish cameras very soon. diff --git a/project/text-files/kmp.inc/kmp-ph-cr.inc b/project/text-files/kmp.inc/kmp-ph-cr.inc new file mode 100644 index 0000000..c9dbeb3 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-ph-cr.inc @@ -0,0 +1,15 @@ + +####################################################################### +## This complete section is only informative and ignored on reading, ## +## because it will be created while scanning the [%s] section. ## +####################################################################### + +# values never used: + # @REVISION = %u + # @%s-HEAD-VALUE = %#x + +#%s# +#-----------------------------------------------------------------------------#------- +# ___range___ _________prev__________ _________next__________ # group +#idx beg end len #1 #2 #3 #4 #5 #6 #1 #2 #3 #4 #5 #6 unknown # name +#-----------------------------------------------------------------------------#------- diff --git a/project/text-files/kmp.inc/kmp-poti-cr.inc b/project/text-files/kmp.inc/kmp-poti-cr.inc new file mode 100644 index 0000000..e9cdc50 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-poti-cr.inc @@ -0,0 +1,42 @@ + +#FF# +############################################################################### + +[POTI] +# Routes +# KMP/POTI syntax & semantics: https://szs.wiimm.de/doc/kmp/poti + +@REVISION = %u +@AUTO-ROUTE-NAME = 0 + +# If a route is closed, 3 global variables are defined for the route. +# 'NAME' is a placeholder for the route name (before renaming happens): +# NAME.len = Total route distance over all points. +# NAME.time = Total route time in 1/60 seconds calculated by the sum of +# all distances and the associated speed values. +# NAME.time.set = Same value as 'NAME.time' (but see below). + +# These 15 commands that are computed after closing a route in this order: +# @KCL-FALL-WIDTH = CUBE_WIDTH +# @KCL-FALL-PRE-ADD = HEIGHT_OR_VECTOR +# @KCL-FALL-POST-ADD = HEIGHT_OR_VECTOR +# @KCL-FALL-TYPES = TYPEMASK +# @XSS = X1OLD,X1NEW, X2OLD,X2NEW +# @YSS = Y1OLD,Y1NEW, Y2OLD,Y2NEW +# @ZSS = Z1OLD,Z1NEW, Z2OLD,Z2NEW +# @SCALE = FACTOR [ORIGIN] +# @SHIFT = DELTA +# @HROTATE = DEGREE [ORIGIN] +# @REVERSE-ORDER = 0|1 +# @SET-ROUTE-TIME = SECONDS +# @ROUTE-OBJECT = 0=OFF | -1=USE_DEFAULT_SETTINGS | >0=OBJECT_ID +# # Example: mode$showrt & %u ? -1 : 0 +# @ROUTE-OBJECT-SHIFT = VECTOR +# @ROUTE-OBJECT-SCALE = VECTOR +# The commands are reset after computations. + +#POTI# +#------------------------------------------------------#-------------------------- +# _____________position_____________ value un- # seconds+distance horiz +#idx x y z 1/60s known # to next angle +#------------------------------------------------------#-------------------------- diff --git a/project/text-files/kmp.inc/kmp-pt-head-cr.inc b/project/text-files/kmp.inc/kmp-pt-head-cr.inc new file mode 100644 index 0000000..767cefd --- /dev/null +++ b/project/text-files/kmp.inc/kmp-pt-head-cr.inc @@ -0,0 +1,6 @@ + +#%s# +#----------------------------------------------------------------------#------------------- +# _____________position_____________ width properties # distance horiz +#idx x y z factor #1 #2 flag # to prev angle +#----------------------------------------------------------------------#------------------- diff --git a/project/text-files/kmp.inc/kmp-pt-info-cr.inc b/project/text-files/kmp.inc/kmp-pt-info-cr.inc new file mode 100644 index 0000000..8a06663 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-pt-info-cr.inc @@ -0,0 +1,32 @@ + +@REVISION = %u +@%s-HEAD-VALUE = %#x +@%s-HEAD-VALUE = %#x +@AUTO-FILL = 0.0 # >1 (e.g. 5000): create more points if distance is larger +@AUTO-GROUP-NAME = 0 +@ROTATE-GROUP-LINKS = 0 +@KCL-FALL-WIDTH = 0 # set to a value >0 (e.g. 200) to enable KCL falling +@KCL-FALL-PRE-ADD = 0 # add this height or vector before falling +@KCL-FALL-POST-ADD = 0 # add this height or vector after success +@KCL-FALL-TYPES = KCL$DRIVE # bit field of recognized KCL types + # Best values are: + # - KCL$BORDER: All KCL types except effects. + # - KCL$DRIVE: All driveable types like road, boost, ramp, water, ... +@ROUTE-OBJECT = mode$showrt & %u ? -1 : 0 # 0=off, -1=use default, >0=object id +@ROUTE-OBJECT-SHIFT = $NONE # v3(0) # add vector to position +@ROUTE-OBJECT-SCALE = $NONE # v3(1) # define vector scale + +# Column 'flag' is optional and ususally only used internally. +# Syntax: FLAGS_STRING or '(' EXPRESSION ')' +# F (F$FALL): Point can be used for FALL-DOWN functionality. +# S (F$SNAP): Point can be used for SNAP functionality (ignored by ITPT). +# J (F$JGPT): Point can be used for automatic JGPT creation. +# Remove the letter or replace it by '-' to disable a feature. +# If the column is missed, all options are enabled by default. + +# If you enable EXPORT-FLAGS (set it to 1), the flags are exported using the +# lowest byte of WIDTH FACTOR. The factor needs only 2 or 3 digits, so this +# has no disadvantage on the width factors. 5 of the 8 bits are used to verify +# changes by other tools on import. If at least 1 of these bit of all points +# is wrong, import is canceled. +@EXPORT-FLAGS = %d # 0=disabled, 1=enabled (overridden by option --export-flags) diff --git a/project/text-files/kmp.inc/kmp-pt-mask-cr.inc b/project/text-files/kmp.inc/kmp-pt-mask-cr.inc new file mode 100644 index 0000000..8e5da27 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-pt-mask-cr.inc @@ -0,0 +1,6 @@ + +# Both settings support a common definition of ENPT and ITPT. +# If writing a binary KMP file, the settings 1 and 2 are masked +# (AND operation) by the following values: +@mask-1 = 0x%04x +@mask-2 = 0x%04x diff --git a/project/text-files/kmp.inc/kmp-pt2-cr.inc b/project/text-files/kmp.inc/kmp-pt2-cr.inc new file mode 100644 index 0000000..e7ee696 --- /dev/null +++ b/project/text-files/kmp.inc/kmp-pt2-cr.inc @@ -0,0 +1,25 @@ + +@REVISION = %u +@%s-HEAD-VALUE = %#x +@AUTO-ID = %u + +# Activate automatic Y-correction (KCL fall) +@KCL-FALL-WIDTH = 0 # set to a value >0 (e.g. 200) to enable KCL falling +@KCL-FALL-PRE-ADD = 0 # add this height or vector before falling +@KCL-FALL-POST-ADD = 0 # add this height or vector after success +@KCL-FALL-TYPES = KCL$DRIVE # bit field of recognized KCL types + # Best values are: + # - KCL$BORDER: All KCL types except effects. + # - KCL$DRIVE: All driveable types like road, boost, ramp, water, ... + +# Snap to nearest point of the enemy route and add the vector. +# Activate it with something like: vy(200) => 200 units higher than the enemy point +@HSNAP-TO-ENPT = $NONE # horizontal snap without adjust, y-rotation +@SNAP-TO-ENPT = $NONE # 3D snap, y-rotation +@SNAP2-TO-ENPT = $NONE # 3D snap, x- and y-rotation + +# Show points in the track by using objects +# Values: 0=off, -1=use default (block of ghost value), >0=force object with 'id' +@ROUTE-OBJECT = mode$showrt & %u ? -1 : 0 +@ROUTE-OBJECT-SHIFT = $NONE # v3(0) # add vector to position +@ROUTE-OBJECT-SCALE = $NONE # v3(1) # define vector scale diff --git a/project/text-files/kmp.inc/kmp-pt2-head-cr.inc b/project/text-files/kmp.inc/kmp-pt2-head-cr.inc new file mode 100644 index 0000000..f7ba30d --- /dev/null +++ b/project/text-files/kmp.inc/kmp-pt2-head-cr.inc @@ -0,0 +1,6 @@ + +#%s# +#------------------------------------------------------------------------------- +# _____________position_____________ _______rotation________ related +# idx x y z x y z id effect +#------------------------------------------------------------------------------- diff --git a/project/text-files/kmp.inc/kmp-setup-cr.inc b/project/text-files/kmp.inc/kmp-setup-cr.inc new file mode 100644 index 0000000..37b170a --- /dev/null +++ b/project/text-files/kmp.inc/kmp-setup-cr.inc @@ -0,0 +1,43 @@ + +#FF# +############################################################################### + +[SETUP] +# This is the general setup and info section. Some parameters are preceeded by +# a hash ('#') to signal the informative only status. This section should +# always be the first one. + +# Identify the tool and version, that have written this file: +TOOL = %s +SYSTEM = %s +VERSION = %s +REVISION = %u +DATE = %s + +# If the following info string is not empty it will be +# inserted at the end of the KMP file behind all sections: +INFO = "%s" + +# KMP version (offset 0x0c): +KMP-VERSION = %d + +# If set to '1', objects with road features will be added to the internal KCL +# for the automatic height calculations. Like --kcl +add-road +KCL-FALL-ADD-ROAD = 0 + +# Define the battle mode for the next text output: +# 0 : Disable battle support +# 1 : Enable battle support +# 2 : Enable exclusive battle support => remove unneeded sections and parameters +# This setting is overiden by option --battle. +BATTLE-MODE = %d + +# Experimental feature in progress! +# If set to 1, an additional KMP section named »WIM0« is created. This new +# section should contain data of this text file like names or flags, that can +# be restored later. At the moment, the new section contains only dummy data +# for compatibility tests with other tools and the Wii. Option --wim0 can +# override this setting. +KMP-WIM0 = %d + +# Statistics: Entry counter for each section: diff --git a/project/text-files/kmp.inc/kmp-stgi-cr.inc b/project/text-files/kmp.inc/kmp-stgi-cr.inc new file mode 100644 index 0000000..8c8c57d --- /dev/null +++ b/project/text-files/kmp.inc/kmp-stgi-cr.inc @@ -0,0 +1,20 @@ + +#FF# +############################################################################### + +[STGI] +# Stage information +# KMP/STGI syntax & semantics: https://szs.wiimm.de/doc/kmp/stgi + +@REVISION = %u +@STGI-HEAD-VALUE = %#x + +#STGI# +#----------------------------------------------------------------------------- +# Write a floating point number (a '.' is mandatory) instead of the +# 2 last bytes, and it will be rounded and accepted as speed modifier. +#-----------------------------------------------------------------#----------- +# byte byte byte byte u32 byte byte byte byte # last 2 +# laps pole narrow flare flare flare pad or # bytes as +#idx 1..9 1=rt if 1 1=on color alpha 0 speed mod # speed mod +#-----------------------------------------------------------------#----------- diff --git a/project/text-files/lex.inc/lex-elem-cann-cr.inc b/project/text-files/lex.inc/lex-elem-cann-cr.inc new file mode 100644 index 0000000..50ae4ec --- /dev/null +++ b/project/text-files/lex.inc/lex-elem-cann-cr.inc @@ -0,0 +1,15 @@ + +#FF# +############################################################################### + +[CANN] +# Sort order: %u + +# Cannon characteristics: +# http://wiki.tockdom.com/wiki/Template:Cannon_characteristics + +#CANN# +#--------------------------------------------------- +# Deceleration End +# Idx Speed Height Factor Deceleration +#--------------------------------------------------- diff --git a/project/text-files/lex.inc/lex-elem-hipt-cr.inc b/project/text-files/lex.inc/lex-elem-hipt-cr.inc new file mode 100755 index 0000000..479099e --- /dev/null +++ b/project/text-files/lex.inc/lex-elem-hipt-cr.inc @@ -0,0 +1,35 @@ + +#FF# +############################################################################### + +[HIPT] +# Sort order: %u + +# Hide the position tracker based on online mode, the current lap index and +# the current checkpoint of the player. +# +# Each row is a rule. If a player enters a new check point, the first matching +# rule is used. Therefor the current mode (offline or online), the current lap +# index and the index of the current CKPT is compared with the row elements +# COND, LAP, FROM and TO. Lap is 0 until crossing the lap counter the first +# time. This includes the start position. +# +# Row members: +# COND is either 1 for offline only, 2 for online only, or 3 for both cases. +# LAP is compared with the current lap index. Negative values refer to the +# absolute number of laps: -1 is always the last lap and -2 is the penultimate +# lap. This means that the setting remains valid if the number of laps (STGI) +# is changed. The special value 99 means 'match all laps'. +# FROM and TO build an inclusive range to compare the current check point. +# SHOW is either 0 or 1 to hide or show the position tracker. If no rule +# matches, the position tracker is shown (like rule »3 99 0 255 1«). +# +# Notes: Place the most specific rules above and more general rules below on +# the list because of the first-hit search. Parameter @OFFLINE-ONLINE of +# section TEST can be used to force a condition for testing. + +#HIPT# +#-------------------------- +# __CKPT__ +# cond lap from to show +#-------------------------- diff --git a/project/text-files/lex.inc/lex-elem-set1-cr.inc b/project/text-files/lex.inc/lex-elem-set1-cr.inc new file mode 100644 index 0000000..541fc88 --- /dev/null +++ b/project/text-files/lex.inc/lex-elem-set1-cr.inc @@ -0,0 +1,20 @@ + +#FF# +############################################################################### + +[SET1] +# Sort order: %u + +# This section defines various settings. New settings are placed at the end +# end of the binary data. Unknown data is printed as hexdump, so no data is +# lost even with old tools. A value of 0 means: Not defined/initialized, +# replace the value by the default value (maybe 0 again). + +#------------------------- + +# Online, items are only transmitted correctly, if the positions of all 3 axis +# are between -131071 and +131071. The following vector defines 3 factors to +# increase the range at the expense of accuracy. Factors <1.0 are set to 1.0. + +@ITEM-POS-FACTOR = v( %5.3f, %5.3f, %5.3f ) + diff --git a/project/text-files/lex.inc/lex-elem-test-cr.inc b/project/text-files/lex.inc/lex-elem-test-cr.inc new file mode 100644 index 0000000..93bfb4c --- /dev/null +++ b/project/text-files/lex.inc/lex-elem-test-cr.inc @@ -0,0 +1,43 @@ + +#FF# +############################################################################### + +[TEST] +# Sort order: %u + +# This section defines various settings to test special situations. + +#----------------------------------------------------------------------- +# The next set defines parameters to test the extended conditions +# (extended presence flags). The settings allow to force special modes. +# Details: http://wiki.tockdom.com/wiki/Extended_presence_flags +#----------------------------------------------------------------------- + +# Force offline or online mode. Use one symbol of: LEX$OO_AUTO (default), +# LEX$OO_OFFLINE, LEX$OO_ONLINE. +@OFFLINE-ONLINE = LEX$OO_%s + +# If >0: Force number of local players at Wii. It is robust, so values >4 +# are accepted, but rounded down to 4 (offline) or 2 (online). +@N-OFFLINE = %u + +# If >0: Force number of total players for online modes. It is robust, so +# values >99 are rounded down to 99. +@N-ONLINE = %u + +# If between 0 and 15: Use this bit number to check 16-bit words of CONDITIONS +# and ignore previous settings. Good values are: LEX$CB_AUTO, LEX$CB_TIMETRIAL +# (same as LEX$CB_RESERVED1) and LEX$CB_RESERVED2. +@COND-BIT = %d + +# Force a game mode. Use one symbol of: LEX$GM_AUTO (default), LEX$GM_BALLOON, +# LEX$GM_COIN, LEX$GM_VERSUS, LEX$GM_ITEMRAIN or LEX$GM_STANDARD. +@GAME-MODE = LEX$GM_%s + +# Force an engine mode. Use one symbol of: LEX$EN_AUTO (default), +# LEX$EN_BATTLE, LEX$EN_50CC, LEX$EN_100CC, LEX$EN_150CC or LEX$EN_200CC. +# For mirror modes use LEX$EN_150M or LEX$EN_200M. +@ENGINE = LEX$EN_%s + +# If between 1 and 8: Force a random scenario. +@RANDOM = %u diff --git a/project/text-files/lex.inc/lex-head-cr.inc b/project/text-files/lex.inc/lex-head-cr.inc new file mode 100755 index 0000000..5c94c39 --- /dev/null +++ b/project/text-files/lex.inc/lex-head-cr.inc @@ -0,0 +1,12 @@ +#LEX <<< The first 4 characters '#LEX' are the magic for a LEX text file. +# <<< Don't remove them! +# +############################################################################### +# +# This is a textual representation of a LEX file. It is defined by Wiimm. +# +# Hint: +# Set one of the options --no-header (-H) or --brief (-B) while decoding +# to suppress this general description. The --brief option will also disable +# info parts in the different sections. +# diff --git a/project/text-files/lex.inc/lex-hexdump-cr.inc b/project/text-files/lex.inc/lex-hexdump-cr.inc new file mode 100755 index 0000000..156281f --- /dev/null +++ b/project/text-files/lex.inc/lex-hexdump-cr.inc @@ -0,0 +1,16 @@ + +#FF# +############################################################################### + +[HEXDUMP] +# Sort order: %u + +# Unknown sections are stored as hexdump to keep the data. The address field +# and the ASCII part are for info only and ignored on scanning. + +@MAGIC = 0x%08x # %s + +#HEX# +#----+------------------------------------------------------+----------------+ +#addr: data: bytes in hex | '(' expression ')' : ASCII of data : +#----+------------------------------------------------------+----------------+ diff --git a/project/text-files/lex.inc/lex-setup-cr.inc b/project/text-files/lex.inc/lex-setup-cr.inc new file mode 100755 index 0000000..d56bfdb --- /dev/null +++ b/project/text-files/lex.inc/lex-setup-cr.inc @@ -0,0 +1,17 @@ + +#FF# +############################################################################### + +[SETUP] +# This is the general setup and info section. Some parameters are preceeded by +# a hash ('#') to signal the informative only status. This section should +# always be the first one. + +# Identify the tool and version, that have written this file: +TOOL = %s +SYSTEM = %s +VERSION = %s +REVISION = %u +DATE = %s + +# Statistics: List of all included sections: diff --git a/project/text-files/logo.inc b/project/text-files/logo.inc new file mode 100644 index 0000000..23def7c --- /dev/null +++ b/project/text-files/logo.inc @@ -0,0 +1,14 @@ + *********************************** + * _______ _______ _______ * + * | ___ |____ | ___ | * + * | | |_| / /| | |_| * + * | |_____ / / | |_____ * + * |_____ | / / |_____ | * + * _ | | / / _ | | * + * | |___| |/ /____| |___| | * + * |_______|_______|_______| * + * * + * Wiimms SZS Tools * + * https://szs.wiimm.de/ * + * * + *********************************** diff --git a/project/text-files/lpar.inc/lpar-head-cr.inc b/project/text-files/lpar.inc/lpar-head-cr.inc new file mode 100644 index 0000000..0b7fa6e --- /dev/null +++ b/project/text-files/lpar.inc/lpar-head-cr.inc @@ -0,0 +1,13 @@ +#LE-LPAR <<< The first 8 characters are the magic for a LE-CODE parameter file. +# <<< Don't remove them! +# +############################################################################### +# +# This LE-CODE parameter file is a textual representation of the LPAR section +# of LE-CODE binary fils with editable parameters. It is defined by Wiimm. +# +# Hint: +# Set one of the options --no-header (-H) or --brief (-B) while decoding +# to suppress this general description. The --brief option will also disable +# info parts in the different sections. +# diff --git a/project/text-files/lpar.inc/lpar-sect-chat-cr.inc b/project/text-files/lpar.inc/lpar-sect-chat-cr.inc new file mode 100644 index 0000000..4685cea --- /dev/null +++ b/project/text-files/lpar.inc/lpar-sect-chat-cr.inc @@ -0,0 +1,56 @@ + +# LE-CODE supports a special feature for chat messages in private rooms. If a +# message is send by the host and at least one guest is present, then some +# messages change the behavior of the game. This section defines the special +# function. + +# The first parameter resets all message to CHAT$OFF (no function). +# The default is value 1. If set to 0, the current map is edited. +@reset = 1 + +# Set the value to 1 if you want to use the old behavior defined for MKW-Fun. +@legacy = 0 + +# And now define the functions for different chat messages. The syntax is: +# +# MESSAGE '=' EXPRESSION1 +# MESSAGE '=' EXPRESSION1 ',' EXPRESSION2 +# +# MESSAGE is the letter 'M' followed by a number between 1 and 96. Examples +# are M1, M02, M96. EXPRESSION is any expression supported by the parser. +# Up to 2 modes (separated by a comma) can be defined for each message. +# Usually the following constants or functions are used: +# +# CHAT$TRACK_BY_HOST : The host selects a tracks and wins the lottery. +# The track selection for guests is disabled. +# CHAT$ANY_TRACK : Cancel CHAT$TRACK_BY_HOST. +# +# CHAT$BLOCK_CLEAR : Clear the used-tracks list. +# CHAT$BLOCK_DISABLE : Disable the block-track functionality. +# CHAT$BLOCK_ENABLE : Enable the block-track functionality. This is the +# default, but have only impact, if BLOCK-TRACK > 0. +# +# CHAT$KARTS_ONLY : Each player must select a kart. +# CHAT$BIKES_ONLY : Each player must select a bike. +# CHAT$ANY_VEHICLE : Cancel vehicle requirement. +# +# CHAT$USE_ENGINE_1 : Select first engine class (100cc or 150cc if 200cc enabled) +# CHAT$USE_ENGINE_2 : Select second engine class (150cc or 200cc if 200cc enabled) +# CHAT$USE_ENGINE_3 : Select third engine class (mirror) +# CHAT$RESET_ENGINE : Cancel engine selection. +# +# chat$n_races(N) : Define the number of races in the next Grand Prix. +# N is a number between 1 and 512 (inclusive). +# +# chat$vehicle(...) : Define a chat modus for a vehicle group. 0 to N values +# are expected as function parameters. Each parameter is +# either from the group VEH$SMALL, VEH$MEDIUM, VEH$LARGE +# and VEH$ANY_SIZE for size selections and/or from the +# group VEH$KART, VEH$BIKE, VEH$ANY_TYPE for type +# selections. VEH$ANY resets the limitations. +~#VEH$OUT_BIKE, VEH$IN_BIKE +# +# CHAT$RESET : Reset all settings to their defaults. +# +# See http://wiki.tockdom.com/wiki/LE-CODE/Distribution_Tutorial#chatmsg +# for more details. diff --git a/project/text-files/lpar.inc/lpar-sect-chat-example-cr.inc b/project/text-files/lpar.inc/lpar-sect-chat-example-cr.inc new file mode 100644 index 0000000..a8af2f4 --- /dev/null +++ b/project/text-files/lpar.inc/lpar-sect-chat-example-cr.inc @@ -0,0 +1,4 @@ +# +# Examples: +# M01 = CHAT$TRACK_BY_HOST +# M96 = chat$n_races(15), CHAT$USE_ENGINE_2 diff --git a/project/text-files/lpar.inc/lpar-sect-param-cr.inc b/project/text-files/lpar.inc/lpar-sect-param-cr.inc new file mode 100644 index 0000000..f01d07c --- /dev/null +++ b/project/text-files/lpar.inc/lpar-sect-param-cr.inc @@ -0,0 +1,60 @@ + +# This section defines general LE-CODE parameters. The corresponding options +# have a higher priority. Remove or comment-out a parameter if its value +# should not be changed. All values will be limited to the allowed ranges. + +#------------------------------------------------------------------------------ + +# First we define a limitation mode. This mode defines the allowed values for +# the other parameters of this section: +# +# LE$PRODUCTIVE : Exclude test and experimental values. +# LE$TESTING : Allow test values, but exclude experimental values. +# LE$EXPERIMENTAL : Allow all values. +# LE$AUTOMATIC : Enable automatic detection by analyzing all values. +# +# Values set by an option are never limited. See parameter descriptions for +# limitation details. + +LIMIT-MODE = %s + +#------------------------------------------------------------------------------ + +# Define probabilities for engine classes. A list for »100cc,150cc,mirror« is +# expected. If 200cc is enabled, the values are for »150cc,200cc,mirror«. Any +# number is accepted. They are normalized to get a total of 100 percent. +# Use »0,1,0« to force 150cc. Use »0,0,0« to reset to Nintendo's VR based +# choice. Option --engine will override these settings. + +ENGINE = %u,%u,%u + +# Enable (1) or disable (0) 200cc support. Option --200cc will override this +# setting. LE-CODE hasn't implemented this feature yet! + +ENABLE-200CC = %u + +# Enable (1) or disable (0) the performance monitor at Wii and Wii U. Enabling +# is only possible if LIMIT-MODE is LE$TESTING or LE$EXPERIMENTAL. The special +# value 2 enables it for Dolphin too, but only on LE$EXPERIMENTAL. It doesn't +# work correctly with Dolphin. Option --perf-mon will override this setting. + +PERF-MONITOR = %u + +# Enable (1) or disable (0) Time Trial for custom tracks. Option --custom-tt +# will override this setting. + +CUSTOM-TT = %u + +# Enable (1) or disable (0) support for Extended Presence Flags. Disable it +# only for tests! If LIMIT-MODE==LE$PRODUCTIVE, XPFLAGS is always enabled. +# Option --xpflags will override this setting. + +XPFLAGS = %u + +# Define the number of races that a previously used track is blocked. LE-CODE +# will try to find another possible track among the selected tracks. Values +# between 0 (deactivated at all) and %u are allowed. Chat messages can clear +# the track list and enable or disable this feature. + +BLOCK-TRACK = %u + diff --git a/project/text-files/mdl.inc/mdl-file-head-cr.inc b/project/text-files/mdl.inc/mdl-file-head-cr.inc new file mode 100644 index 0000000..7725443 --- /dev/null +++ b/project/text-files/mdl.inc/mdl-file-head-cr.inc @@ -0,0 +1,26 @@ +#MDL <<< The first 4 characters '#MDL' are the magic for a MDL text file. +# <<< Don't remove them! +# +############################################################################### +# +# This is a textual representation of a MDL file used in Nintendos "Mario Kart +# Wii". "Wiimms SZS Tools" may convert binary (raw) and text MDL files in both +# directions in the near future. The text parser supports variables, C like +# expressions and nested IF-THEN-ELSE structures. +# +# Info about the general parser syntax and semantics: +# * https://szs.wiimm.de/doc/syntax +# +# Info about the MDL text syntax and semantics: +# * https://szs.wiimm.de/doc/mdl/syntax +# +# Reference list of MDL parser functions: +# * https://szs.wiimm.de/doc/mdl/func +# +# Info about the MDL file format: +# * https://szs.wiimm.de/r/wiki/MDL0 +# +# Hint: +# Set one of the options --no-header (-H) or --brief (-B) while decoding +# to suppress this large syntax info. The --brief option will also disable +# info parts in the different sections. diff --git a/project/text-files/mdl.inc/mdl-header-cr.inc b/project/text-files/mdl.inc/mdl-header-cr.inc new file mode 100644 index 0000000..315cd77 --- /dev/null +++ b/project/text-files/mdl.inc/mdl-header-cr.inc @@ -0,0 +1,8 @@ + +#FF# +############################################################################### + +[HEADER] +# MDL header +@REVISION = %u + diff --git a/project/text-files/mdl.inc/mdl-hexdump-cr.inc b/project/text-files/mdl.inc/mdl-hexdump-cr.inc new file mode 100755 index 0000000..caa6029 --- /dev/null +++ b/project/text-files/mdl.inc/mdl-hexdump-cr.inc @@ -0,0 +1,4 @@ +$HEX # switch to hexdump modus +#----+------------------------------------------------------+----------------+ +#addr: data: bytes in hex | '(' expression ')' : ASCII of data : +#----+------------------------------------------------------+----------------+ diff --git a/project/text-files/mdl.inc/mdl-s0-cr.inc b/project/text-files/mdl.inc/mdl-s0-cr.inc new file mode 100644 index 0000000..7bc1f1f --- /dev/null +++ b/project/text-files/mdl.inc/mdl-s0-cr.inc @@ -0,0 +1,19 @@ +# This section represents one draw list. +# +# A draw list is a sequence of u8, u16 (1 and 2 byte unsigned integers) and +# float (4 bytes) values divided into commands. For each command the first +# byte declares the length and the meaning of the command: +# +# #1 : 1 byte, end of command list +# #2 : 5 bytes, bone mapping +# #3 : 4+N*6 bytes, weighting +# #4 : 8 bytes, draw polygon +# #5 : 5 bytes, indexing +# +# And these are the codings of the commands: +# #1 +# #2, u16:weight_index, u16:parent:weight_index +# #3, u16:wight_id, u8:N, N*( u16:table_id, float:weight ) +# #4, u16:object_index, u16:material_index, u16:bone_index, u8:unknown +# #5, u16:weight_id, u16:weight_index + diff --git a/project/text-files/mdl.inc/mdl-s0-tabhead-cr.inc b/project/text-files/mdl.inc/mdl-s0-tabhead-cr.inc new file mode 100644 index 0000000..d9cc11f --- /dev/null +++ b/project/text-files/mdl.inc/mdl-s0-tabhead-cr.inc @@ -0,0 +1,2 @@ +# cmd command dependent parameters +#------------------------------------- diff --git a/project/text-files/mdl.inc/mdl-setup-cr.inc b/project/text-files/mdl.inc/mdl-setup-cr.inc new file mode 100644 index 0000000..da5d0ff --- /dev/null +++ b/project/text-files/mdl.inc/mdl-setup-cr.inc @@ -0,0 +1,21 @@ + +#FF# +############################################################################### + +[SETUP] +# This is the general setup and info section. Some parameters are preceeded by +# a hash ('#') to signal the informative only status. The scanning starts +# always with this section. + +# Identify the tool and version, that have written this file: +TOOL = %s +SYSTEM = %s +VERSION = %s +REVISION = %u +DATE = %s + +# The MDL name & version and the number of sections +@MDL-NAME = "%s" +@MDL-VERSION = %2u +@N-SECTIONS = %2u + diff --git a/project/text-files/minigame.inc/minigame-head-cr.inc b/project/text-files/minigame.inc/minigame-head-cr.inc new file mode 100755 index 0000000..2cf6953 --- /dev/null +++ b/project/text-files/minigame.inc/minigame-head-cr.inc @@ -0,0 +1 @@ +#KMG diff --git a/project/text-files/minigame.inc/minigame-info-cr.inc b/project/text-files/minigame.inc/minigame-info-cr.inc new file mode 100755 index 0000000..20aa095 --- /dev/null +++ b/project/text-files/minigame.inc/minigame-info-cr.inc @@ -0,0 +1,24 @@ +#KMG <<< The first 4 characters are the magic for minigame.kmg text files. +# <<< Don't remove them! +# +#------------------------------------------------------------------------------ +# +# This is the textual representation of an minigame.kmg file. +# It is defined by Wiimm and scanned by a 2-pass parser. +# +# Hints for decoding to a text file: +# +# - If either option --no-header (-H) or option --brief (-B) is set, this +# general description is suppressed. +# +# - If either option --export (-X) is set once or option --brief (-B) is set +# twice, a very small text file without descriptions and other not needed +# parameters is created. +# +# - If option --long (-l) is set, then additional hidden parameters are +# included. They are automatically included, if they are differ from the +# the standard settings. +# +# See http://wiki.tockdom.com/wiki/minigame.kmg for more details. +# +#------------------------------------------------------------------------------ diff --git a/project/text-files/minigame.inc/minigame-param-cr.inc b/project/text-files/minigame.inc/minigame-param-cr.inc new file mode 100755 index 0000000..286c2e0 --- /dev/null +++ b/project/text-files/minigame.inc/minigame-param-cr.inc @@ -0,0 +1,2 @@ +[PARAMETERS] +@REVISION = %u diff --git a/project/text-files/minigame.inc/minigame-setup-cr.inc b/project/text-files/minigame.inc/minigame-setup-cr.inc new file mode 100755 index 0000000..c8d5b7c --- /dev/null +++ b/project/text-files/minigame.inc/minigame-setup-cr.inc @@ -0,0 +1,12 @@ + +# +############################################################################### + +[SETUP] + +# identification of creator tool +TOOL = %s +SYSTEM = %s +VERSION = %s +REVISION = %u +DATE = %s diff --git a/project/text-files/minigame.inc/minigame-table-cr.inc b/project/text-files/minigame.inc/minigame-table-cr.inc new file mode 100755 index 0000000..80700c0 --- /dev/null +++ b/project/text-files/minigame.inc/minigame-table-cr.inc @@ -0,0 +1,3 @@ +[%s] # table at offset 0x%03x +@REVISION = %u + diff --git a/project/text-files/minigame.inc/minigame-table-head-cr.inc b/project/text-files/minigame.inc/minigame-table-head-cr.inc new file mode 100755 index 0000000..5737e65 --- /dev/null +++ b/project/text-files/minigame.inc/minigame-table-head-cr.inc @@ -0,0 +1,3 @@ +#--------------------------------------------------------------#-------------------------- +# slot N=2 3 4 5 6 7 8 9 10 11 12 # arena info +#--------------------------------------------------------------#-------------------------- diff --git a/project/text-files/obj-mtl-bz2.inc b/project/text-files/obj-mtl-bz2.inc new file mode 100644 index 0000000..6286940 --- /dev/null +++ b/project/text-files/obj-mtl-bz2.inc @@ -0,0 +1,1343 @@ +
+newmtl road_1
+ Kd 1.00 0.00 0.00
+ Ks 1.00 0.00 0.00
+
+newmtl road_2
+ Kd 0.91 0.00 0.91
+ Ks 0.91 0.00 0.91
+
+newmtl road_3
+ Kd 0.85 0.00 0.00
+ Ks 0.85 0.00 0.00
+
+newmtl road_4
+ Kd 0.73 0.00 0.73
+ Ks 0.73 0.00 0.73
+
+newmtl road_5
+ Kd 0.71 0.00 0.00
+ Ks 0.71 0.00 0.00
+
+newmtl road_6
+ Kd 0.55 0.00 0.55
+ Ks 0.55 0.00 0.55
+
+newmtl road_7
+ Kd 0.57 0.00 0.00
+ Ks 0.57 0.00 0.00
+
+newmtl road_8
+ Kd 0.38 0.00 0.38
+ Ks 0.38 0.00 0.38
+
+newmtl road_9
+ Kd 1.00 0.00 1.00
+ Ks 1.00 0.00 1.00
+
+newmtl road_10
+ Kd 0.93 0.00 0.00
+ Ks 0.93 0.00 0.00
+
+newmtl road_11
+ Kd 0.82 0.00 0.82
+ Ks 0.82 0.00 0.82
+
+newmtl road_12
+ Kd 0.78 0.00 0.00
+ Ks 0.78 0.00 0.00
+
+newmtl road_13
+ Kd 0.64 0.00 0.64
+ Ks 0.64 0.00 0.64
+
+newmtl road_14
+ Kd 0.64 0.00 0.00
+ Ks 0.64 0.00 0.00
+
+newmtl road_15
+ Kd 0.46 0.00 0.46
+ Ks 0.46 0.00 0.46
+
+newmtl road_16
+ Kd 0.50 0.00 0.00
+ Ks 0.50 0.00 0.00
+
+newmtl offroad_1
+ Kd 0.75 0.38 0.38
+ Ks 0.75 0.38 0.38
+
+newmtl offroad_2
+ Kd 0.95 0.25 0.00
+ Ks 0.95 0.25 0.00
+
+newmtl offroad_3
+ Kd 0.64 0.30 0.27
+ Ks 0.64 0.30 0.27
+
+newmtl offroad_4
+ Kd 0.84 0.25 0.00
+ Ks 0.84 0.25 0.00
+
+newmtl offroad_5
+ Kd 0.54 0.23 0.16
+ Ks 0.54 0.23 0.16
+
+newmtl offroad_6
+ Kd 0.73 0.25 0.00
+ Ks 0.73 0.25 0.00
+
+newmtl offroad_7
+ Kd 0.43 0.16 0.05
+ Ks 0.43 0.16 0.05
+
+newmtl offroad_8
+ Kd 0.63 0.25 0.00
+ Ks 0.63 0.25 0.00
+
+newmtl offroad_9
+ Kd 1.00 0.25 0.00
+ Ks 1.00 0.25 0.00
+
+newmtl offroad_10
+ Kd 0.70 0.34 0.32
+ Ks 0.70 0.34 0.32
+
+newmtl offroad_11
+ Kd 0.89 0.25 0.00
+ Ks 0.89 0.25 0.00
+
+newmtl offroad_12
+ Kd 0.59 0.27 0.21
+ Ks 0.59 0.27 0.21
+
+newmtl offroad_13
+ Kd 0.78 0.25 0.00
+ Ks 0.78 0.25 0.00
+
+newmtl offroad_14
+ Kd 0.48 0.20 0.11
+ Ks 0.48 0.20 0.11
+
+newmtl offroad_15
+ Kd 0.68 0.25 0.00
+ Ks 0.68 0.25 0.00
+
+newmtl offroad_16
+ Kd 0.38 0.13 0.00
+ Ks 0.38 0.13 0.00
+
+newmtl fast_1
+ Kd 1.00 0.63 0.19
+ Ks 1.00 0.63 0.19
+
+newmtl fast_2
+ Kd 0.90 0.47 0.14
+ Ks 0.90 0.47 0.14
+
+newmtl fast_3
+ Kd 0.95 0.55 0.16
+ Ks 0.95 0.55 0.16
+
+newmtl fast_4
+ Kd 0.97 0.59 0.17
+ Ks 0.97 0.59 0.17
+
+newmtl fast_5
+ Kd 0.88 0.44 0.13
+ Ks 0.88 0.44 0.13
+
+newmtl fast_6
+ Kd 0.93 0.51 0.15
+ Ks 0.93 0.51 0.15
+
+newmtl halfpipe_1
+ Kd 0.00 0.50 1.00
+ Ks 0.00 0.50 1.00
+
+newmtl halfpipe_2
+ Kd 0.00 0.41 0.81
+ Ks 0.00 0.41 0.81
+
+newmtl halfpipe_3
+ Kd 0.00 0.47 0.94
+ Ks 0.00 0.47 0.94
+
+newmtl halfpipe_4
+ Kd 0.00 0.38 0.75
+ Ks 0.00 0.38 0.75
+
+newmtl halfpipe_5
+ Kd 0.00 0.44 0.87
+ Ks 0.00 0.44 0.87
+
+newmtl moving_1
+ Kd 1.00 0.00 0.38
+ Ks 1.00 0.00 0.38
+
+newmtl moving_2
+ Kd 0.81 0.00 0.38
+ Ks 0.81 0.00 0.38
+
+newmtl moving_3
+ Kd 0.94 0.00 0.38
+ Ks 0.94 0.00 0.38
+
+newmtl moving_4
+ Kd 0.75 0.00 0.38
+ Ks 0.75 0.00 0.38
+
+newmtl moving_5
+ Kd 0.87 0.00 0.38
+ Ks 0.87 0.00 0.38
+
+newmtl water_1
+ Kd 0.00 0.00 1.00
+ Ks 0.00 0.00 1.00
+
+newmtl water_2
+ Kd 0.00 0.00 0.64
+ Ks 0.00 0.00 0.64
+
+newmtl water_3
+ Kd 0.00 0.00 0.85
+ Ks 0.00 0.00 0.85
+
+newmtl water_4
+ Kd 0.00 0.00 0.50
+ Ks 0.00 0.00 0.50
+
+newmtl water_5
+ Kd 0.00 0.00 0.71
+ Ks 0.00 0.00 0.71
+
+newmtl water_6
+ Kd 0.00 0.00 0.93
+ Ks 0.00 0.00 0.93
+
+newmtl water_7
+ Kd 0.00 0.00 0.57
+ Ks 0.00 0.00 0.57
+
+newmtl water_8
+ Kd 0.00 0.00 0.78
+ Ks 0.00 0.00 0.78
+
+newmtl cannon_1
+ Kd 1.00 0.50 1.00
+ Ks 1.00 0.50 1.00
+
+newmtl cannon_2
+ Kd 0.62 0.31 0.62
+ Ks 0.62 0.31 0.62
+
+newmtl cannon_3
+ Kd 0.87 0.44 0.87
+ Ks 0.87 0.44 0.87
+
+newmtl cannon_4
+ Kd 0.50 0.25 0.50
+ Ks 0.50 0.25 0.50
+
+newmtl cannon_5
+ Kd 0.75 0.38 0.75
+ Ks 0.75 0.38 0.75
+
+newmtl wall_1
+ d 0.63
+ Tr 0.37
+ Kd 0.00 0.50 0.00
+ Ks 0.00 0.50 0.00
+
+newmtl wall_2
+ d 0.63
+ Tr 0.37
+ Kd 0.00 0.57 0.29
+ Ks 0.00 0.57 0.29
+
+newmtl wall_3
+ d 0.63
+ Tr 0.37
+ Kd 0.14 0.64 0.07
+ Ks 0.14 0.64 0.07
+
+newmtl wall_4
+ d 0.63
+ Tr 0.37
+ Kd 0.00 0.71 0.36
+ Ks 0.00 0.71 0.36
+
+newmtl wall_5
+ d 0.63
+ Tr 0.37
+ Kd 0.29 0.78 0.14
+ Ks 0.29 0.78 0.14
+
+newmtl wall_6
+ d 0.63
+ Tr 0.37
+ Kd 0.00 0.85 0.43
+ Ks 0.00 0.85 0.43
+
+newmtl wall_7
+ d 0.63
+ Tr 0.37
+ Kd 0.43 0.93 0.21
+ Ks 0.43 0.93 0.21
+
+newmtl wall_8
+ d 0.63
+ Tr 0.37
+ Kd 0.00 1.00 0.50
+ Ks 0.00 1.00 0.50
+
+newmtl wall_9
+ d 0.63
+ Tr 0.37
+ Kd 0.00 0.50 0.25
+ Ks 0.00 0.50 0.25
+
+newmtl wall_10
+ d 0.63
+ Tr 0.37
+ Kd 0.07 0.57 0.04
+ Ks 0.07 0.57 0.04
+
+newmtl wall_11
+ d 0.63
+ Tr 0.37
+ Kd 0.00 0.64 0.32
+ Ks 0.00 0.64 0.32
+
+newmtl wall_12
+ d 0.63
+ Tr 0.37
+ Kd 0.21 0.71 0.11
+ Ks 0.21 0.71 0.11
+
+newmtl wall_13
+ d 0.63
+ Tr 0.37
+ Kd 0.00 0.78 0.39
+ Ks 0.00 0.78 0.39
+
+newmtl wall_14
+ d 0.63
+ Tr 0.37
+ Kd 0.36 0.85 0.18
+ Ks 0.36 0.85 0.18
+
+newmtl wall_15
+ d 0.63
+ Tr 0.37
+ Kd 0.00 0.93 0.46
+ Ks 0.00 0.93 0.46
+
+newmtl wall_16
+ d 0.63
+ Tr 0.37
+ Kd 0.50 1.00 0.25
+ Ks 0.50 1.00 0.25
+
+newmtl fall_1
+ Kd 0.00 0.00 0.00
+ Ks 0.00 0.00 0.00
+
+newmtl fall_2
+ Kd 0.19 0.06 0.06
+ Ks 0.19 0.06 0.06
+
+newmtl fall_3
+ Kd 0.13 0.13 0.13
+ Ks 0.13 0.13 0.13
+
+newmtl fall_4
+ Kd 0.31 0.19 0.19
+ Ks 0.31 0.19 0.19
+
+newmtl fall_5
+ Kd 0.25 0.25 0.25
+ Ks 0.25 0.25 0.25
+
+newmtl fall_6
+ Kd 0.06 0.06 0.06
+ Ks 0.06 0.06 0.06
+
+newmtl fall_7
+ Kd 0.25 0.13 0.13
+ Ks 0.25 0.13 0.13
+
+newmtl fall_8
+ Kd 0.19 0.19 0.19
+ Ks 0.19 0.19 0.19
+
+newmtl fall_9
+ Kd 0.38 0.25 0.25
+ Ks 0.38 0.25 0.25
+
+newmtl fall_10
+ Kd 0.13 0.00 0.00
+ Ks 0.13 0.00 0.00
+
+newmtl effect_1
+ d 0.63
+ Tr 0.37
+ Kd 0.00 1.00 1.00
+ Ks 0.00 1.00 1.00
+
+newmtl effect_2
+ d 0.63
+ Tr 0.37
+ Kd 0.08 0.67 0.67
+ Ks 0.08 0.67 0.67
+
+newmtl effect_3
+ d 0.63
+ Tr 0.37
+ Kd 0.03 0.89 0.89
+ Ks 0.03 0.89 0.89
+
+newmtl effect_4
+ d 0.63
+ Tr 0.37
+ Kd 0.11 0.56 0.56
+ Ks 0.11 0.56 0.56
+
+newmtl effect_5
+ d 0.63
+ Tr 0.37
+ Kd 0.05 0.78 0.78
+ Ks 0.05 0.78 0.78
+
+newmtl effect_6
+ d 0.63
+ Tr 0.37
+ Kd 0.01 0.94 0.94
+ Ks 0.01 0.94 0.94
+
+newmtl effect_7
+ d 0.63
+ Tr 0.37
+ Kd 0.09 0.61 0.61
+ Ks 0.09 0.61 0.61
+
+newmtl effect_8
+ d 0.63
+ Tr 0.37
+ Kd 0.04 0.83 0.83
+ Ks 0.04 0.83 0.83
+
+newmtl effect_9
+ d 0.63
+ Tr 0.37
+ Kd 0.13 0.50 0.50
+ Ks 0.13 0.50 0.50
+
+newmtl effect_10
+ d 0.63
+ Tr 0.37
+ Kd 0.07 0.72 0.72
+ Ks 0.07 0.72 0.72
+
+newmtl item_1
+ Kd 0.19 1.00 0.50
+ Ks 0.19 1.00 0.50
+
+newmtl item_2
+ Kd 0.12 0.81 0.41
+ Ks 0.12 0.81 0.41
+
+newmtl item_3
+ Kd 0.16 0.94 0.47
+ Ks 0.16 0.94 0.47
+
+newmtl item_4
+ Kd 0.09 0.75 0.38
+ Ks 0.09 0.75 0.38
+
+newmtl item_5
+ Kd 0.14 0.87 0.44
+ Ks 0.14 0.87 0.44
+
+newmtl unknown_1
+ d 0.63
+ Tr 0.37
+ Kd 1.00 1.00 1.00
+ Ks 1.00 1.00 1.00
+
+newmtl unknown_2
+ d 0.63
+ Tr 0.37
+ Kd 0.82 0.82 0.94
+ Ks 0.82 0.82 0.94
+
+newmtl unknown_3
+ d 0.63
+ Tr 0.37
+ Kd 0.87 0.87 0.87
+ Ks 0.87 0.87 0.87
+
+newmtl unknown_4
+ d 0.63
+ Tr 0.37
+ Kd 0.69 0.69 0.81
+ Ks 0.69 0.69 0.81
+
+newmtl unknown_5
+ d 0.63
+ Tr 0.37
+ Kd 0.75 0.75 0.75
+ Ks 0.75 0.75 0.75
+
+newmtl unknown_6
+ d 0.63
+ Tr 0.37
+ Kd 0.94 0.94 0.94
+ Ks 0.94 0.94 0.94
+
+newmtl unknown_7
+ d 0.63
+ Tr 0.37
+ Kd 0.75 0.75 0.87
+ Ks 0.75 0.75 0.87
+
+newmtl unknown_8
+ d 0.63
+ Tr 0.37
+ Kd 0.81 0.81 0.81
+ Ks 0.81 0.81 0.81
+
+newmtl unknown_9
+ d 0.63
+ Tr 0.37
+ Kd 0.63 0.63 0.75
+ Ks 0.63 0.63 0.75
+
+newmtl unknown_10
+ d 0.63
+ Tr 0.37
+ Kd 0.88 0.88 1.00
+ Ks 0.88 0.88 1.00
+
+newmtl kmp_ckpt_warning
+ Kd 0.75 0.00 0.00
+ Ks 0.75 0.00 0.00
+
+newmtl kmp_ckpt_warning_t
+ d 0.69
+ Tr 0.31
+ Kd 0.75 0.00 0.00
+ Ks 0.75 0.00 0.00
+
+newmtl kmp_ckpt_warning_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.75 0.00 0.00
+ Ks 0.75 0.00 0.00
+
+newmtl kmp_ckpt_lap
+ Kd 0.13 0.00 0.50
+ Ks 0.13 0.00 0.50
+
+newmtl kmp_ckpt_lap_t
+ d 0.69
+ Tr 0.31
+ Kd 0.13 0.00 0.50
+ Ks 0.13 0.00 0.50
+
+newmtl kmp_ckpt_lap_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.13 0.00 0.50
+ Ks 0.13 0.00 0.50
+
+newmtl kmp_ckpt_mandatory
+ Kd 0.00 0.00 0.75
+ Ks 0.00 0.00 0.75
+
+newmtl kmp_ckpt_mandatory_t
+ d 0.69
+ Tr 0.31
+ Kd 0.00 0.00 0.75
+ Ks 0.00 0.00 0.75
+
+newmtl kmp_ckpt_mandatory_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.00 0.00 0.75
+ Ks 0.00 0.00 0.75
+
+newmtl kmp_ckpt_mandatory5
+ Kd 0.00 0.00 0.25
+ Ks 0.00 0.00 0.25
+
+newmtl kmp_ckpt_mandatory5_t
+ d 0.69
+ Tr 0.31
+ Kd 0.00 0.00 0.25
+ Ks 0.00 0.00 0.25
+
+newmtl kmp_ckpt_mandatory5_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.00 0.00 0.25
+ Ks 0.00 0.00 0.25
+
+newmtl kmp_ckpt_etc
+ Kd 0.00 0.75 0.75
+ Ks 0.00 0.75 0.75
+
+newmtl kmp_ckpt_etc_t
+ d 0.69
+ Tr 0.31
+ Kd 0.00 0.75 0.75
+ Ks 0.00 0.75 0.75
+
+newmtl kmp_ckpt_etc_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.00 0.75 0.75
+ Ks 0.00 0.75 0.75
+
+newmtl kmp_ckpt_tie_lt
+ Kd 0.50 0.00 0.00
+ Ks 0.50 0.00 0.00
+
+newmtl kmp_ckpt_tie_rt
+ Kd 0.00 0.50 0.00
+ Ks 0.00 0.50 0.00
+
+newmtl kmp_ckpt_tie_group_lt
+ Kd 0.25 0.00 0.00
+ Ks 0.25 0.00 0.00
+
+newmtl kmp_ckpt_tie_group_rt
+ Kd 0.00 0.25 0.00
+ Ks 0.00 0.25 0.00
+
+newmtl kmp_ckpt_tie_next_lt
+ Kd 0.31 0.00 0.19
+ Ks 0.31 0.00 0.19
+
+newmtl kmp_ckpt_tie_next_rt
+ Kd 0.00 0.31 0.31
+ Ks 0.00 0.31 0.31
+
+newmtl kmp_ckpt_jgpt
+ Kd 0.00 0.50 0.00
+ Ks 0.00 0.50 0.00
+
+newmtl kmp_jgpt
+ Kd 0.00 0.25 0.00
+ Ks 0.00 0.25 0.00
+
+newmtl kmp_jgpt_area
+ d 0.50
+ Tr 0.50
+ Kd 0.13 0.63 0.13
+ Ks 0.13 0.63 0.13
+
+newmtl kmp_ktpt
+ Kd 0.00 0.00 0.00
+ Ks 0.00 0.00 0.00
+
+newmtl kmp_ktpt_area
+ d 0.50
+ Tr 0.50
+ Kd 0.50 0.50 0.50
+ Ks 0.50 0.50 0.50
+
+newmtl kmp_enpt
+ d 0.75
+ Tr 0.25
+ Kd 0.00 0.00 0.50
+ Ks 0.00 0.00 0.50
+
+newmtl kmp_enpt_single
+ d 0.75
+ Tr 0.25
+ Kd 0.00 0.00 0.50
+ Ks 0.00 0.00 0.50
+
+newmtl kmp_enpt_tie_bi
+ d 0.75
+ Tr 0.25
+ Kd 0.00 0.25 0.63
+ Ks 0.00 0.25 0.63
+
+newmtl kmp_enpt_tie_next
+ d 0.75
+ Tr 0.25
+ Kd 0.00 0.38 0.69
+ Ks 0.00 0.38 0.69
+
+newmtl kmp_enpt_tie_prev
+ d 0.75
+ Tr 0.25
+ Kd 0.00 0.69 0.69
+ Ks 0.00 0.69 0.69
+
+newmtl kmp_enpt_dispatch
+ Kd 0.00 0.50 0.75
+ Ks 0.00 0.50 0.75
+
+newmtl kmp_itpt
+ d 0.75
+ Tr 0.25
+ Kd 0.25 0.00 0.00
+ Ks 0.25 0.00 0.00
+
+newmtl kmp_itpt_single
+ d 0.75
+ Tr 0.25
+ Kd 0.25 0.00 0.00
+ Ks 0.25 0.00 0.00
+
+newmtl kmp_itpt_tie_bi
+ d 0.75
+ Tr 0.25
+ Kd 0.38 0.00 0.25
+ Ks 0.38 0.00 0.25
+
+newmtl kmp_itpt_tie_next
+ d 0.75
+ Tr 0.25
+ Kd 0.50 0.00 0.31
+ Ks 0.50 0.00 0.31
+
+newmtl kmp_itpt_tie_prev
+ d 0.75
+ Tr 0.25
+ Kd 0.63 0.00 0.63
+ Ks 0.63 0.00 0.63
+
+newmtl kmp_itpt_dispatch
+ Kd 0.88 0.00 0.50
+ Ks 0.88 0.00 0.50
+
+newmtl kmp_cnpt_landing
+ Kd 1.00 0.50 1.00
+ Ks 1.00 0.50 1.00
+
+newmtl kmp_cnpt_way
+ Kd 1.00 0.63 1.00
+ Ks 1.00 0.63 1.00
+
+newmtl kmp_area_arrow
+ Kd 0.50 0.50 0.00
+ Ks 0.50 0.50 0.00
+
+newmtl kmp_area_border
+ d 0.25
+ Tr 0.75
+ Kd 0.50 0.50 0.00
+ Ks 0.50 0.50 0.00
+
+newmtl kmp_poti0
+ d 0.75
+ Tr 0.25
+ Kd 0.00 0.50 0.00
+ Ks 0.00 0.50 0.00
+
+newmtl kmp_poti1
+ d 0.75
+ Tr 0.25
+ Kd 0.00 0.57 0.29
+ Ks 0.00 0.57 0.29
+
+newmtl kmp_poti2
+ d 0.75
+ Tr 0.25
+ Kd 0.14 0.64 0.07
+ Ks 0.14 0.64 0.07
+
+newmtl kmp_poti3
+ d 0.75
+ Tr 0.25
+ Kd 0.14 0.64 0.07
+ Ks 0.14 0.64 0.07
+
+newmtl kmp_itembox
+ Kd 0.44 0.44 0.44
+ Ks 0.44 0.44 0.44
+
+newmtl kmp_itembox_enemy
+ Kd 0.25 0.25 0.25
+ Ks 0.25 0.25 0.25
+
+newmtl kmp_itembox_player
+ Kd 0.25 0.06 0.06
+ Ks 0.25 0.06 0.06
+
+newmtl kmp_itemroute
+ d 0.88
+ Tr 0.12
+ Kd 0.38 0.63 0.38
+ Ks 0.38 0.63 0.38
+
+newmtl kmp_itemroute_enemy
+ d 0.88
+ Tr 0.12
+ Kd 0.19 0.44 0.19
+ Ks 0.19 0.44 0.19
+
+newmtl kmp_itemroute_player
+ d 0.88
+ Tr 0.12
+ Kd 0.31 0.06 0.06
+ Ks 0.31 0.06 0.06
+
+newmtl kmp_kinoko_green
+ Kd 0.00 0.44 0.00
+ Ks 0.00 0.44 0.00
+
+newmtl kmp_kinoko_red
+ Kd 0.56 0.09 0.00
+ Ks 0.56 0.09 0.00
+
+newmtl kmp_bridge
+ Kd 0.44 0.25 0.38
+ Ks 0.44 0.25 0.38
+
+newmtl kmp_dokan
+ Kd 0.06 0.48 0.09
+ Ks 0.06 0.48 0.09
+
+newmtl kmp_karehayama
+ Kd 0.87 0.51 0.19
+ Ks 0.87 0.51 0.19
+
+newmtl kmp_obakeblock
+ Kd 0.44 0.37 0.21
+ Ks 0.44 0.37 0.21
+
+newmtl kmp_tree_crown
+ d 0.25
+ Tr 0.75
+ Kd 0.00 0.50 0.00
+ Ks 0.00 0.50 0.00
+
+newmtl kmp_tree_trunk
+ Kd 0.35 0.20 0.06
+ Ks 0.35 0.20 0.06
+
+newmtl kmp_woodbox
+ Kd 0.61 0.41 0.13
+ Ks 0.61 0.41 0.13
+
+newmtl kmp_coin_start
+ Kd 0.88 0.69 0.00
+ Ks 0.88 0.69 0.00
+
+newmtl kmp_coin_respawn
+ Kd 1.00 0.84 0.00
+ Ks 1.00 0.84 0.00
+
+newmtl kmp_coin_invalid
+ Kd 1.00 0.69 0.00
+ Ks 1.00 0.69 0.00
+
+newmtl kmp_solid_object
+ Kd 0.25 0.25 0.50
+ Ks 0.25 0.25 0.50
+
+newmtl kmp_solid_route
+ d 0.88
+ Tr 0.12
+ Kd 0.13 0.50 0.50
+ Ks 0.13 0.50 0.50
+
+newmtl kmp_deco_object
+ d 0.75
+ Tr 0.25
+ Kd 0.50 0.00 1.00
+ Ks 0.50 0.00 1.00
+
+newmtl kmp_zero_ground_black
+ Kd 0.06 0.06 0.06
+ Ks 0.06 0.06 0.06
+
+newmtl kmp_zero_ground_white
+ Kd 0.94 0.94 0.94
+ Ks 0.94 0.94 0.94
+
+newmtl red
+ Kd 1.00 0.13 0.13
+ Ks 1.00 0.13 0.13
+
+newmtl red_t
+ d 0.69
+ Tr 0.31
+ Kd 1.00 0.13 0.13
+ Ks 1.00 0.13 0.13
+
+newmtl red_tt
+ d 0.44
+ Tr 0.56
+ Kd 1.00 0.13 0.13
+ Ks 1.00 0.13 0.13
+
+newmtl red_orange
+ Kd 1.00 0.38 0.06
+ Ks 1.00 0.38 0.06
+
+newmtl red_orange_t
+ d 0.69
+ Tr 0.31
+ Kd 1.00 0.38 0.06
+ Ks 1.00 0.38 0.06
+
+newmtl red_orange_tt
+ d 0.44
+ Tr 0.56
+ Kd 1.00 0.38 0.06
+ Ks 1.00 0.38 0.06
+
+newmtl orange
+ Kd 1.00 0.63 0.00
+ Ks 1.00 0.63 0.00
+
+newmtl orange_t
+ d 0.69
+ Tr 0.31
+ Kd 1.00 0.63 0.00
+ Ks 1.00 0.63 0.00
+
+newmtl orange_tt
+ d 0.44
+ Tr 0.56
+ Kd 1.00 0.63 0.00
+ Ks 1.00 0.63 0.00
+
+newmtl orange_yellow
+ Kd 0.97 0.78 0.00
+ Ks 0.97 0.78 0.00
+
+newmtl orange_yellow_t
+ d 0.69
+ Tr 0.31
+ Kd 0.97 0.78 0.00
+ Ks 0.97 0.78 0.00
+
+newmtl orange_yellow_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.97 0.78 0.00
+ Ks 0.97 0.78 0.00
+
+newmtl yellow
+ Kd 0.94 0.94 0.00
+ Ks 0.94 0.94 0.00
+
+newmtl yellow_t
+ d 0.69
+ Tr 0.31
+ Kd 0.94 0.94 0.00
+ Ks 0.94 0.94 0.00
+
+newmtl yellow_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.94 0.94 0.00
+ Ks 0.94 0.94 0.00
+
+newmtl yellow_green
+ Kd 0.63 0.94 0.00
+ Ks 0.63 0.94 0.00
+
+newmtl yellow_green_t
+ d 0.69
+ Tr 0.31
+ Kd 0.63 0.94 0.00
+ Ks 0.63 0.94 0.00
+
+newmtl yellow_green_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.63 0.94 0.00
+ Ks 0.63 0.94 0.00
+
+newmtl green
+ Kd 0.00 1.00 0.00
+ Ks 0.00 1.00 0.00
+
+newmtl green_t
+ d 0.69
+ Tr 0.31
+ Kd 0.00 1.00 0.00
+ Ks 0.00 1.00 0.00
+
+newmtl green_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.00 1.00 0.00
+ Ks 0.00 1.00 0.00
+
+newmtl green_cyan
+ Kd 0.00 1.00 0.63
+ Ks 0.00 1.00 0.63
+
+newmtl green_cyan_t
+ d 0.69
+ Tr 0.31
+ Kd 0.00 1.00 0.63
+ Ks 0.00 1.00 0.63
+
+newmtl green_cyan_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.00 1.00 0.63
+ Ks 0.00 1.00 0.63
+
+newmtl cyan
+ Kd 0.00 1.00 1.00
+ Ks 0.00 1.00 1.00
+
+newmtl cyan_t
+ d 0.69
+ Tr 0.31
+ Kd 0.00 1.00 1.00
+ Ks 0.00 1.00 1.00
+
+newmtl cyan_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.00 1.00 1.00
+ Ks 0.00 1.00 1.00
+
+newmtl cyan_blue
+ Kd 0.06 0.56 1.00
+ Ks 0.06 0.56 1.00
+
+newmtl cyan_blue_t
+ d 0.69
+ Tr 0.31
+ Kd 0.06 0.56 1.00
+ Ks 0.06 0.56 1.00
+
+newmtl cyan_blue_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.06 0.56 1.00
+ Ks 0.06 0.56 1.00
+
+newmtl blue
+ Kd 0.13 0.13 1.00
+ Ks 0.13 0.13 1.00
+
+newmtl blue_t
+ d 0.69
+ Tr 0.31
+ Kd 0.13 0.13 1.00
+ Ks 0.13 0.13 1.00
+
+newmtl blue_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.13 0.13 1.00
+ Ks 0.13 0.13 1.00
+
+newmtl blue_magenta
+ Kd 0.50 0.00 1.00
+ Ks 0.50 0.00 1.00
+
+newmtl blue_magenta_t
+ d 0.69
+ Tr 0.31
+ Kd 0.50 0.00 1.00
+ Ks 0.50 0.00 1.00
+
+newmtl blue_magenta_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.50 0.00 1.00
+ Ks 0.50 0.00 1.00
+
+newmtl magenta
+ Kd 1.00 0.00 1.00
+ Ks 1.00 0.00 1.00
+
+newmtl magenta_t
+ d 0.69
+ Tr 0.31
+ Kd 1.00 0.00 1.00
+ Ks 1.00 0.00 1.00
+
+newmtl magenta_tt
+ d 0.44
+ Tr 0.56
+ Kd 1.00 0.00 1.00
+ Ks 1.00 0.00 1.00
+
+newmtl magenta_red
+ Kd 1.00 0.00 0.50
+ Ks 1.00 0.00 0.50
+
+newmtl magenta_red_t
+ d 0.69
+ Tr 0.31
+ Kd 1.00 0.00 0.50
+ Ks 1.00 0.00 0.50
+
+newmtl magenta_red_tt
+ d 0.44
+ Tr 0.56
+ Kd 1.00 0.00 0.50
+ Ks 1.00 0.00 0.50
+
+newmtl brown
+ Kd 0.50 0.31 0.06
+ Ks 0.50 0.31 0.06
+
+newmtl brown_t
+ d 0.69
+ Tr 0.31
+ Kd 0.50 0.31 0.06
+ Ks 0.50 0.31 0.06
+
+newmtl brown_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.50 0.31 0.06
+ Ks 0.50 0.31 0.06
+
+newmtl white
+ Kd 1.00 1.00 1.00
+ Ks 1.00 1.00 1.00
+
+newmtl white_t
+ d 0.69
+ Tr 0.31
+ Kd 1.00 1.00 1.00
+ Ks 1.00 1.00 1.00
+
+newmtl white_tt
+ d 0.44
+ Tr 0.56
+ Kd 1.00 1.00 1.00
+ Ks 1.00 1.00 1.00
+
+newmtl grey
+ Kd 0.63 0.63 0.63
+ Ks 0.63 0.63 0.63
+
+newmtl grey_t
+ d 0.69
+ Tr 0.31
+ Kd 0.63 0.63 0.63
+ Ks 0.63 0.63 0.63
+
+newmtl grey_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.63 0.63 0.63
+ Ks 0.63 0.63 0.63
+
+newmtl black
+ Kd 0.00 0.00 0.00
+ Ks 0.00 0.00 0.00
+
+newmtl black_t
+ d 0.69
+ Tr 0.31
+ Kd 0.00 0.00 0.00
+ Ks 0.00 0.00 0.00
+
+newmtl black_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.00 0.00 0.00
+ Ks 0.00 0.00 0.00
+
+newmtl gold
+ Kd 1.00 0.84 0.00
+ Ks 1.00 0.84 0.00
+
+newmtl gold_t
+ d 0.69
+ Tr 0.31
+ Kd 1.00 0.84 0.00
+ Ks 1.00 0.84 0.00
+
+newmtl gold_tt
+ d 0.44
+ Tr 0.56
+ Kd 1.00 0.84 0.00
+ Ks 1.00 0.84 0.00
+
+newmtl silver
+ Kd 0.75 0.75 0.75
+ Ks 0.75 0.75 0.75
+
+newmtl silver_t
+ d 0.69
+ Tr 0.31
+ Kd 0.75 0.75 0.75
+ Ks 0.75 0.75 0.75
+
+newmtl silver_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.75 0.75 0.75
+ Ks 0.75 0.75 0.75
+
+newmtl bronze
+ Kd 0.85 0.69 0.50
+ Ks 0.85 0.69 0.50
+
+newmtl bronze_t
+ d 0.69
+ Tr 0.31
+ Kd 0.85 0.69 0.50
+ Ks 0.85 0.69 0.50
+
+newmtl bronze_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.85 0.69 0.50
+ Ks 0.85 0.69 0.50
+
+newmtl test0
+ Kd 0.00 0.82 1.00
+ Ks 0.00 0.82 1.00
+
+newmtl test0_t
+ d 0.69
+ Tr 0.31
+ Kd 0.00 0.82 1.00
+ Ks 0.00 0.82 1.00
+
+newmtl test0_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.00 0.82 1.00
+ Ks 0.00 0.82 1.00
+
+newmtl test1
+ Kd 0.00 1.00 0.82
+ Ks 0.00 1.00 0.82
+
+newmtl test1_t
+ d 0.69
+ Tr 0.31
+ Kd 0.00 1.00 0.82
+ Ks 0.00 1.00 0.82
+
+newmtl test1_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.00 1.00 0.82
+ Ks 0.00 1.00 0.82
+
+newmtl test2
+ Kd 0.38 1.00 0.00
+ Ks 0.38 1.00 0.00
+
+newmtl test2_t
+ d 0.69
+ Tr 0.31
+ Kd 0.38 1.00 0.00
+ Ks 0.38 1.00 0.00
+
+newmtl test2_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.38 1.00 0.00
+ Ks 0.38 1.00 0.00
+
+newmtl test3
+ Kd 0.94 0.94 0.00
+ Ks 0.94 0.94 0.00
+
+newmtl test3_t
+ d 0.69
+ Tr 0.31
+ Kd 0.94 0.94 0.00
+ Ks 0.94 0.94 0.00
+
+newmtl test3_tt
+ d 0.44
+ Tr 0.56
+ Kd 0.94 0.94 0.00
+ Ks 0.94 0.94 0.00
+
+newmtl test4
+ Kd 1.00 0.63 0.00
+ Ks 1.00 0.63 0.00
+
+newmtl test4_t
+ d 0.69
+ Tr 0.31
+ Kd 1.00 0.63 0.00
+ Ks 1.00 0.63 0.00
+
+newmtl test4_tt
+ d 0.44
+ Tr 0.56
+ Kd 1.00 0.63 0.00
+ Ks 1.00 0.63 0.00
+
+newmtl test5
+ Kd 1.00 0.38 0.06
+ Ks 1.00 0.38 0.06
+
+newmtl test5_t
+ d 0.69
+ Tr 0.31
+ Kd 1.00 0.38 0.06
+ Ks 1.00 0.38 0.06
+
+newmtl test5_tt
+ d 0.44
+ Tr 0.56
+ Kd 1.00 0.38 0.06
+ Ks 1.00 0.38 0.06
+
+newmtl test6
+ Kd 1.00 0.13 0.13
+ Ks 1.00 0.13 0.13
+
+newmtl test6_t
+ d 0.69
+ Tr 0.31
+ Kd 1.00 0.13 0.13
+ Ks 1.00 0.13 0.13
+
+newmtl test6_tt
+ d 0.44
+ Tr 0.56
+ Kd 1.00 0.13 0.13
+ Ks 1.00 0.13 0.13
+
+newmtl test7
+ Kd 1.00 0.00 0.50
+ Ks 1.00 0.00 0.50
+
+newmtl test7_t
+ d 0.69
+ Tr 0.31
+ Kd 1.00 0.00 0.50
+ Ks 1.00 0.00 0.50
+
+newmtl test7_tt
+ d 0.44
+ Tr 0.56
+ Kd 1.00 0.00 0.50
+ Ks 1.00 0.00 0.50
+
+newmtl test8
+ Kd 1.00 0.00 1.00
+ Ks 1.00 0.00 1.00
+
+newmtl test8_t
+ d 0.69
+ Tr 0.31
+ Kd 1.00 0.00 1.00
+ Ks 1.00 0.00 1.00
+
+newmtl test8_tt
+ d 0.44
+ Tr 0.56
+ Kd 1.00 0.00 1.00
+ Ks 1.00 0.00 1.00
+
diff --git a/project/text-files/objflow.inc/objflow-head-cr.inc b/project/text-files/objflow.inc/objflow-head-cr.inc new file mode 100644 index 0000000..62cf5ef --- /dev/null +++ b/project/text-files/objflow.inc/objflow-head-cr.inc @@ -0,0 +1 @@ +#OBJFLOW diff --git a/project/text-files/objflow.inc/objflow-info-cr.inc b/project/text-files/objflow.inc/objflow-info-cr.inc new file mode 100644 index 0000000..f76dab2 --- /dev/null +++ b/project/text-files/objflow.inc/objflow-info-cr.inc @@ -0,0 +1,43 @@ +#OBJFLOW <<< The first 8 characters are the magic for OBJFLOW text files. +# <<< Don't remove them! +# +#------------------------------------------------------------------------------ +# +# This is the textual representation of an ObjFlow.bin file. +# It is defined by Wiimm and scanned by a 2-pass parser. +# +# Hints for decoding to a text file: +# +# - If either option --no-header (-H) or option --brief (-B) is set, this +# general description is suppressed. +# +# - If either option --export (-X) is set once or option --brief (-B) is set +# twice, a very small text file without descriptions and other not needed +# parameters is created. +# +# - If option --long (-l) is set, then additional hidden parameters are +# included. They are automatically included, if they are differ from the +# the standard settings. +# +#------------------------------------------------------------------------------ +# +# Syntax for section [OBJECTS]: +# +# Beside of emtpy lines and comments, there are 2 kinds of parameters. +# Both start with an keyword (case insensitive): +# +# 'OBJECT' ID, NAME, RESOURCES +# ID is the object ID to identify the object. Use prefix '0x' for hex +# numbers. NAME is the object name. If not set, the original name is +# used. RESOURCES is the resources string. If not set, the original +# string is used. Commas are mandatory to separate string parameters. +# +# 'PARAM' P0, P1, P2, P3, P4, P5, P6, P7, P8 +# Define up to 9 parameters of the previous defined 'OBJECT'. +# A point ('.') is interpreted as Null, and an equal sign ('=') +# leaves the value unchanged. Missed parameters are not modified. +# Commas are optional if expression is not ambiguous. +# +# See http://wiki.tockdom.com/wiki/ObjFlow.bin for more details. +# +#------------------------------------------------------------------------------ diff --git a/project/text-files/objflow.inc/objflow-objects-cr.inc b/project/text-files/objflow.inc/objflow-objects-cr.inc new file mode 100644 index 0000000..16b4787 --- /dev/null +++ b/project/text-files/objflow.inc/objflow-objects-cr.inc @@ -0,0 +1,7 @@ +[OBJECTS] +@REVISION = %u + +#----------------------------------------------------------------------- +# OBJECT ID, NAME, RESOURCES +# PARAM P0 P1 P2 P3 P4 P5 P6 P7 P8 +#----------------------------------------------------------------------- diff --git a/project/text-files/objflow.inc/objflow-setup-cr.inc b/project/text-files/objflow.inc/objflow-setup-cr.inc new file mode 100644 index 0000000..c8d5b7c --- /dev/null +++ b/project/text-files/objflow.inc/objflow-setup-cr.inc @@ -0,0 +1,12 @@ + +# +############################################################################### + +[SETUP] + +# identification of creator tool +TOOL = %s +SYSTEM = %s +VERSION = %s +REVISION = %u +DATE = %s diff --git a/project/text-files/pat.inc/pat-file-head-cr.inc b/project/text-files/pat.inc/pat-file-head-cr.inc new file mode 100644 index 0000000..249bc44 --- /dev/null +++ b/project/text-files/pat.inc/pat-file-head-cr.inc @@ -0,0 +1,16 @@ +#PAT <<< The first 4 characters '#PAT' are the magic for a PAT text file. +# <<< Don't remove them! +# +############################################################################### +# +# This is a textual representation of a PAT0 file used in Nintendos "Mario Kart +# Wii". "Wiimms SZS Tools" may convert binary (raw) and text PAT files in both +# directions in the near future. The text parser supports variables, C like +# expressions and nested IF-THEN-ELSE structures. +# +# Details about PAT text files are available in the Web: +# - Parser Syntax and Semantics: https://szs.wiimm.de/doc/syntax +# - PAT Syntax and Semantics: https://szs.wiimm.de/doc/pat/text +# - The BRRES/PAT0 file format: https://szs.wiimm.de/r/wiki/PAT0 +# +#------------------------------------------------------------------------------ diff --git a/project/text-files/pat.inc/pat-header-cr.inc b/project/text-files/pat.inc/pat-header-cr.inc new file mode 100644 index 0000000..b801384 --- /dev/null +++ b/project/text-files/pat.inc/pat-header-cr.inc @@ -0,0 +1,8 @@ + +#FF# +############################################################################### + +[HEADER] +# PAT header +@REVISION = %u + diff --git a/project/text-files/pat.inc/pat-s0_base-cr.inc b/project/text-files/pat.inc/pat-s0_base-cr.inc new file mode 100644 index 0000000..4c4379d --- /dev/null +++ b/project/text-files/pat.inc/pat-s0_base-cr.inc @@ -0,0 +1,8 @@ + +#FF# +############################################################################### + +[S0_BASE] +# PAT section 0, base data +@REVISION = %u + diff --git a/project/text-files/pat.inc/pat-s0_list-cr.inc b/project/text-files/pat.inc/pat-s0_list-cr.inc new file mode 100644 index 0000000..ef2c221 --- /dev/null +++ b/project/text-files/pat.inc/pat-s0_list-cr.inc @@ -0,0 +1,7 @@ + +#FF# +############################################################################### + +[S0_LIST] +# PAT section 0, string reference lists +@REVISION = %u diff --git a/project/text-files/pat.inc/pat-setup-cr.inc b/project/text-files/pat.inc/pat-setup-cr.inc new file mode 100644 index 0000000..c8206c3 --- /dev/null +++ b/project/text-files/pat.inc/pat-setup-cr.inc @@ -0,0 +1,21 @@ + +#FF# +############################################################################### + +[SETUP] +# This is the general setup and info section. Some parameters are preceeded by +# a hash ('#') to signal the informative only status. The scanning starts +# always with this section. + +# Identify the tool and version, that have written this file: +TOOL = %s +SYSTEM = %s +VERSION = %s +REVISION = %u +DATE = %s + +# The PAT version, number of sections and output mode. Info only. +PAT-VERSION = %2u +N-SECTIONS = %2u +OUTPUT-MODE = %s + diff --git a/project/text-files/pat.inc/pat-simple-cr.inc b/project/text-files/pat.inc/pat-simple-cr.inc new file mode 100644 index 0000000..e8aee44 --- /dev/null +++ b/project/text-files/pat.inc/pat-simple-cr.inc @@ -0,0 +1,7 @@ + +#FF# +############################################################################### + +[SIMPLE] +# Simplified PAT definiton. +@REVISION = %u diff --git a/project/text-files/pat.inc/pat-strings-cr.inc b/project/text-files/pat.inc/pat-strings-cr.inc new file mode 100644 index 0000000..199d88c --- /dev/null +++ b/project/text-files/pat.inc/pat-strings-cr.inc @@ -0,0 +1,8 @@ + +#FF# +############################################################################### + +[STRINGS] +# Strings defined in section 1 with attributes defined in section 3 +@REVISION = %u + diff --git a/project/text-files/setup.inc/setup-create-cr.inc b/project/text-files/setup.inc/setup-create-cr.inc new file mode 100755 index 0000000..1442584 --- /dev/null +++ b/project/text-files/setup.inc/setup-create-cr.inc @@ -0,0 +1,24 @@ + +#------------------------------------------------------------------------------ + +[create] + +# Create (and overwrite without notice) the listed files before adding them to +# the new archive. The source directory is searched under the same filename +# with an appended ".d" or, if this fails, with an extension replaced by ".d". +# If a source directory does not exist, the job is ignored silently. +# Example: For "my.brres" search directories "my.brres.d" or "my.d" +# The source directory itself is set on the exclude list and will not stored +# into the new archive. Creating can be controlled by the options: +# --no-recurse : Do not create archives recursively. +# --no-encode : Do not encode files before creating an archive. +# --encode-img : Encode all image files (TEX,TPL,BREFT/sub), overrides --no-encode. +# --encode-all : Encode all files and ignore timestamps. +# --pt-dir : Set `point directory' mode. +# --u8 : Create an U8 archive. +# --brres : Create an BRRES archive. +# --breff : Create an BREFF archive. +# --breft : Create an BREFT archive. +# --no-compress : Create an uncompressed file (U8 instead of SZS). +# ... + diff --git a/project/text-files/setup.inc/setup-encode-cr.inc b/project/text-files/setup.inc/setup-encode-cr.inc new file mode 100755 index 0000000..9775867 --- /dev/null +++ b/project/text-files/setup.inc/setup-encode-cr.inc @@ -0,0 +1,26 @@ + +#------------------------------------------------------------------------------ + +[encode] + +# Encode (and overwrite without notice) the listed files before adding them +# to the new archive. The source is searched under the same filename with the +# correct source extension added or, if this failed, a replaced extension. +# Example: For "message.bmg" search files "message.bmg.txt" or "message.txt" +# The source file itself is set on the exclude list and will not stored into +# the new archive. +# +# The syntax of this file section is a little bit different as the other file +# sections. Each line begins with a comma separated list of keywords followed +# by an equal sign. +# Syntax: COMMA_SEPARATED_FORMAT_LIST = relative_filename +# Example: BREFT,IA8,3 = ./files/rk_steam +# The first keyword is the file format. The following keywords describe sub +# formats. An additonal integer is a file type specific information: +# -> For image files it is the number of images (main image + mipmaps). +# A value of 0 means: Use the tools default (see option --n-mipmaps). +# +# A file is only encoded if the destination does not exist or if the source +# is younger than the destination. Encoding can be controlled by options +# --no-encode, --encode-img and --encode-all (short: --noenc --eimg --eall). + diff --git a/project/text-files/setup.inc/setup-exclude-cr.inc b/project/text-files/setup.inc/setup-exclude-cr.inc new file mode 100755 index 0000000..3800343 --- /dev/null +++ b/project/text-files/setup.inc/setup-exclude-cr.inc @@ -0,0 +1,36 @@ + +#------------------------------------------------------------------------------ + +[exclude-pattern] + +# Files and directories in this section are ignored by the CREATE command. +# The include sections takes precedence over the exclude sections. + +# This section expects file patterns with wildcards. +# Here we exclude all original, backup and temp files: + +*.orig +*.bak +*.tmp +*.temp + +# Exclude all *.d directories. To enable it, remove "# " at the beginning. +# *.d + +# Exclude all PNG files. The intention is to allow the creation of new PNG +# images and mipmap files without any need to edit this setup file. All +# extracted PNG files are automatically listed in the [exclude] section. +# So the exclusion of all PNG is not really needed, but may help. The second +# (disabled) line is an alternative to exclude all mipmap PNG files. + +*.png +# *.mm#.png + +#------------------------------------------------------------------------------ + +[exclude] + +# Files and directories in this section are ignored by the CREATE command. +# This second exclude section accepts only complete file names and none of +# characters have any special meaning. + diff --git a/project/text-files/setup.inc/setup-header-cr.inc b/project/text-files/setup.inc/setup-header-cr.inc new file mode 100755 index 0000000..dac1238 --- /dev/null +++ b/project/text-files/setup.inc/setup-header-cr.inc @@ -0,0 +1,15 @@ + +############################################################################### +# +# wszst settings: +# --------------- +# +# This is the settings file for wszst (tool of "Wiimms SZS Tools"). It +# was created by the EXTRACT command and is needed by the CREATE command +# to rebuild the original source archive with or without modifications. +# You can edit it, if you know what you do. +# +############################################################################### + +# The first part contains some general settings: + diff --git a/project/text-files/setup.inc/setup-include-cr.inc b/project/text-files/setup.inc/setup-include-cr.inc new file mode 100755 index 0000000..8edec87 --- /dev/null +++ b/project/text-files/setup.inc/setup-include-cr.inc @@ -0,0 +1,26 @@ + +############################################################################### +# +# Some general rules for the next sections: +# All pathes are relative to the current base directory (directory that +# contains the file wszst-setup.txt). Prefix at least pathes that starts +# not with a letter, digit, point, star or underscore with "./". +# +#------------------------------------------------------------------------------ + +[include-pattern] + +# All files and directories start with a . are hidden (unix like) and excluded +# automatically. But filenames in one of the include sections are included +# independent of this point. Also the include sections takes precedence over +# the exclude sections. + +# This section expects file patterns with wildcards. + +#------------------------------------------------------------------------------ + +[include] + +# This second include section accpepts only complete file names and none of +# characters have any special meaning. + diff --git a/project/text-files/setup.inc/setup-order-cr.inc b/project/text-files/setup.inc/setup-order-cr.inc new file mode 100644 index 0000000..45c96fc --- /dev/null +++ b/project/text-files/setup.inc/setup-order-cr.inc @@ -0,0 +1,14 @@ + +#------------------------------------------------------------------------------ + +[order] + +# This list contains all extracted files in the order of the original archive. +# If creating archives (but not U8) this list will be used to sort the found +# files. For archives with directory support (all but not PACK) it is very +# important, that the directories are listed before the files that resides in +# the directories. +# +# The value before the equal sign is the file offset in the original archive +# and is ignored for sorting. + diff --git a/project/text-files/ui-head.inc b/project/text-files/ui-head.inc new file mode 100644 index 0000000..1ad49ab --- /dev/null +++ b/project/text-files/ui-head.inc @@ -0,0 +1,41 @@ + +/*************************************************************************** + * _______ _______ _______ * + * | ___ |____ | ___ | * + * | | |_| / /| | |_| * + * | |_____ / / | |_____ * + * |_____ | / / |_____ | * + * _ | | / / _ | | * + * | |___| |/ /____| |___| | * + * |_______|_______|_______| * + * * + * Wiimms SZS Tools * + * * + *************************************************************************** + * * + * This file is part of the SZS project. * + * Visit https://szs.wiimm.de/ for project details and sources. * + * * + * Copyright (c) 2011-2020 by Dirk Clemens <wiimm@wiimm.de> * + * * + *************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * See file gpl-2.0.txt or http://www.gnu.org/licenses/gpl-2.0.txt * + * * + *************************************************************************** + * * + * >>> This file is automatically generated by './src/gen-ui.c'. <<< * + * >>> Do not edit this file! <<< * + * * + ***************************************************************************/ + |
