diff options
Diffstat (limited to '')
32 files changed, 651 insertions, 0 deletions
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 +#-----------------------------------------------------------------#----------- |
