
*******************************************************************************
*******               Wiimms SZS Tools v1.36b - 2015-02-06              *******
*******************************************************************************

Wiimms SZS Tools (SZS) is a command line tool set for linux and for other
unix like operating systems including Cygwin. The tools manage SZS files.

The only tool is:
  wszst    : Wiimms SZS Tool manage SZS files.

The software is developed under the GPL 2.0 license. See file gpl-2.0.txt
or http://www.gnu.org/licenses/gpl-2.0.txt for details.

The most current source is available under:
  http://szs.wiimm.de/r/viewvc/
The source of this revision (0) is available under:
  http://szs.wiimm.de/r/viewvc/?pathrev=0
You can also checkout the SVN repository:
  http://opensvn.wiimm.de/wii/trunk/wiimms-szs-tools//

See http://szs.wiimm.de/ for announcements and discussions.


*******************************************************************************
*******                           HISTORY v1.*                          *******
*******************************************************************************

szs v1.00a r3958 - 2012-07-14

 - wkmpt COBJECT --draw=modelist:
    - Mode 'JGPT': Draw arrows at respawn positions.
    - Mode 'CJGPT' does what the old 'JGPT' did: Draw connections between
      check points and respawn positions.
    - Mode 'CNPT': Draw arrows instead of lines.
 - New command "wszst MINIMAP": Print and optional patch the releavant minimap
   data of a SZS, U8, BRRES or MDL file. Supported patching options: --touch,
   --xcenter, --ycenter, --zcenter, --center, --scale, --shift, --xss, --yss
   and --zss.


szs v1.01a r3987 - 2012-07-22

 - Command "wszst MINIMAP" can now automatically adjust the minimap, if the
   new option --auto is set. It analyses MDL section 2 (vertex list) to find
   the minimum and maximum values. Then it makes the ranges 4% wider, store
   the calculated values in 'posRU' and 'posLD' of the MDL and calculate the
   transformation matrices. The command is very flexible and can modify the
   map of SZS, U8, BRRES and MDL0 files.
   See http://szs.wiimm.de/opt/auto for details.


szs v1.02a r3992 - 2012-08-01

 - KCL: Detect invalid triangles (e.g. length=0) on OBJ import.
 - Option --kcl: There are now 2 groups of removing commands:
     - 'DROP*' drop unused, invalid or fixed triangles (bad triangles).
     - 'RM*' remove triangles with special characteristics. At this moment
        RM-FACEDOWN is the only command of the 'RM*' class: It will remove all
        face down drivable triangles to avoid KCL glitches.
 - File DB: Sub files 'kinoko_*.kcl' are now assigned to object group 'kinoko'.
 - Update of the KMP Object database.


szs v1.03a r4002 - 2012-08-11

 - New global option: --force: The tools analyse input files and reject files
   with invalid data structures. If --force is set, little repairable issues
   are ignored or repaired and a warning is printed.
   >>> THE RESULT MAY BE INVALID OUTPUT FILES!
 - Option --kcl: If no 'DROP*' mode is set, the tools drops automatically all
   bad triangles. For an existing octree, it is only 'DROP-UNUSED'.
 - Option --kcl: Correct handling, if 'DROP-UNUSED' and 'NEW' are set together.
 - wszst MINIMAP --auto: The Y-translation is also calculated to make very
   high faces visible.


szs v1.04a r4050 - 2012-09-08

 - Bug fix for v1.03a: With some option combinations, the KCL generator failed
   and created an invalid KCL (if modifying an existing KCL) or a valid KCL
   with some unwanted triangles (if importing from OBJ).
 - Option --kcl: Better handling of DROP modes.
 - Option --kcl: Correct handling, if 'DROP-UNUSED' and 'NEW' are set together.
   (Same message as before, but now I have fixed one forgotten special case).
 - "wszst CHECK" will now compare the number of cannons in KCL and KMP.
 - New option: "wszst NORMALIZE --minimap": If --minimap is set, the minimap
   is automatically adjusted like "wszst MINIMAP --auto" does it. All other
   options like --scale are ignored for this kind of minimap processing.
 - New option: "wszst minimap --set-flags=flags": Set the MDL flags to an user
   defined value (default 0x31f).
 - The tools accept now 'Yaz1' files in the exact same manner as 'Yaz0' files
   hoping that the data structure and the compression method are the same.
 - New options: --yaz0 and --yaz1: Force the magic of new created YAZ files
   to 'Yaz0' or 'Yaz1'.
 - Object database updated.


szs v1.05a r4097 - 2012-09-29

 - For text files, only the first 4 characters are used as magic ('#BMG'
   instead of '#BMG-TXT'; same for '#KCL', '#KMP' and '#MDL'). On creation
   a 8 character magic is still written for compatibility.
 - Update of the KMP Object database.
 - Files './AIParam/AIParam.baa' and './AIParam/AIParam.bas' are now known by
   the internal file database.
 - Some optimizations around the KCL octree creation. This includes a new
   handling of automatic dropping of invalid KCL triangles.
 - Some minor text and layout changes.


szs v1.06a r4110 - 2012-10-06

 - Bug fix: "wkclt COPY" printed always a false syntax error after correct
   finishing all copy jobs.
 - Bug fixes for "wszst NORMALIZE":
    - BRRES files will not touched now.
    - Memory bug, if rebuilding the KCL.
 - wszst CHECK will now make slot proposals with comments:
    - Slots 3.1 and 7.1: Check usage of KMP objects 'sunDS' and 'pylon01'.
    - Slot 4.2: Only the usage of at least one KMP object of 'kart_truck',
        'car_body' or 'K_bomb_car' is done. An additonally MDL analysis is
        missed, so the status is only "may run on slot 4.2".
    - Slot 6.1: Test the existence of file 'ice.brres' and of KCL flag 0x70.
    - Slot 6.2: Check usage of KMP object 'HeyhoShipGBA'.
 - New command: wszst SLOTS: Print the possible slots for a track file.
   The analysis is the same as for "wszst CHECK" (see above). The command
   prints either a positive or a negative slot list, whatever is shorter.


szs v1.07a r4137 - 2012-10-19

 - "wszst NORMALIZE --kcl ...": In the old versions, the KCL was patched in
   place and the total size of the KCL was not changed. If the new KCL was
   larger, parameters were changes in up to 5 iteration steps until the new
   KCL was less or equal the old size. Now a complete new KCL is created with
   the optimal settings and the size may shrink or grow.
   If 'INPLACE' is added to the '--kcl list', the old behavior becomes active.
 - wzszt CHECK: The logging of sub checks (KCL+KMP) is now better integrated
   into the main log and there is now only one summary line for all.
 - KCL creation tuned.
 - The auto-add library holds now also unique files of folder 'posteffect'.
   Try "wszst AUTOADD ./path/to/Race/Course/" to add all supported files.
 - New archive format: WU8 (Wiimms U8)
   WU8 is like U8, but the sub files are coded as patch for Nintendos original
   files. This removes any code of Nintendo and a compressed WU8 (default) is
   in general smaller than the related SZS. For encoding end decoding an
   auto-add archive is needed (see http://szs.wiimm.de/doc/autoadd).
 - wszst NORMALIZE/PATCH:
    - Accept options --dest and --DEST for an alternative destination path.
    - Accept options --u8 and --wu8 to define the new (W)U8-archive format.
 - Object DB updated.


szs v1.08a r4148 - 2012-10-27

 - wszst CREATE/COMPRESS/DECOMPRESS:
    - All 3 commands support now U8 and WU8 conversions and accept the
      options --u8 and --wu8.
    - Support of U8/WU8 conversions of non track files.
    - All 3 commands support the new option --remove-src (or --rm-src) to
      remove the source files on success and if different to dest files.
 - Better error handling of non existing files if --ignore is set.
 - New keyword for option --kcl: If creating an OBJ file and 'TRIANGLES' is
   set, the triangles are not stored as vertices and faces. Instead each
   triangle is stored in an independent line. The OBJ file itself becomes
   incompatible (or invalid), because TRI lines are not supported by any
   other tool, but it  makes adding points or mixing OBJ files much easier.


szs v1.09a r4169 - 2012-11-11

 - BZIP2 compression is now supported as alternative to Yaz0. It is dedicated
   to the WU8 file format for transferring files. BZIP2 files are smaller than
   Yaz0 files and the creation is faster.
 - The new option --bz forces BZIP2 compression instead of Yaz0 compression.
 - The new option --wbz is a short cut for --wu8 --bz.
    => To create a WBZ (WU8+BZ) file: wszst compress --wbz TRACK.szs
 - The new option --szs is a short cut for --u8 --yaz0.
    => To create a SZS (U8+Yaz0) file: wszst compress --szs TRACK.wbz


szs v1.10a r4186 - 2012-11-17

 - Bug fix: File type printing (e.g. "YAZ0.U8:filename") was reimplemented
   because of the new bzip compression, but with bugs.
 - Command "wszst CHECK" will now accept option --verbose to print some more
   slot hints (negative info about slots 4.2, 6.1 and 6.2).
 - New debug command for all tools: ARGTEST: Print all scanned arguments as
   list. This helps to find out wrong parameters, especially for windows.
 - Cygwin (Windows): Filename handling improved. If using double quotes around
   a filename, backslashes work in a Windows usual way as directory separator.
 - Cygwin (Windows): Windows 'SendTo' support added. It must be (un-)installed
   with the batch files 'sendto-install.bat' and 'sendto-uninstall.bat'.
   Available SendTo jobs:
     - normalize-SZS.bat  : Normalize a file and convert it to SZS.
     - convert-to-WBZ.bat : Convert a SZS file to a WBZ file.
     - convert-to-SZS.bat : Convert a WBZ file to a SZS file.
     - create-autoadd-library.bat : Use it with the extracted Race/Course
       folder to create the autoadd library. It is needed for WBZ conversions.
 - New option: --number or --num: If a destination file already exists, append
   a number directly before the file extension to make the filename unique.
   If other numbered files already exist (ignoring case), use the maximal
   existing index+1. Option --number is ignored if --overwrite is set.


szs v1.11a r4205 - 2013-01-01

 - If creating the KCL file, the world will be enlarged by the KCL_BLOW value
   to avoid problems at the world border.
 - New parameter for KCL/octree fine tuning: KCL_MAX_SIZE:
   Cubes, that are larger than KCL_MAX_SIZE, will always be splitted into 8
   sub cubes and will never have triangle lists. The maximum and default value
   for KCL_MAX_SIZE is 1024*1024 (~1 million).
 - New flag for --KCL=list: CENTER: If creating a new octree, adjust the cube
   entrance values so that the real world is centered in the cube world.
 - Some old and for a long time obsolate keywords removed.


szs v1.11b r4214 - 2013-01-20

 - Bug fix: If creating a TEX0 file, the float number at offset 0x14 in the
   TEX header was wrong (1 to large). The result were artifacts.
 - Small updates of the object DB.


szs v1.12a r4236 - 2013-02-09

 - Windows version only: Update to Cygwin v1.7.17
 - wstrt TRACKS+ARENAS: The index column shows now the internal zero based
   track index of the track or arena instead of a simple track counter.
 - wstrt FIND -lll: Additionally print the slot index and the internal index
   (both zero based) before the file names.
 - New command: wbmgt CAT: Print decoded BMG files to stdout. If a source is
   a SZS file and no subfile is entered, subfile './message/Common.bmg' is
   printed.


szs v1.12b r4246 - 2013-02-23

 - Bug fix: The KCL cannon activator was internally handled as drivable type.
   So it was wrongly a deletion candidate for --kcl=RM-FACEDOWN.
 - Object DB updated.


szs v1.13a r4258 - 2013-03-01

 - New option --rm-aiparam (short cut: --rmai): If set, the directory AIParam
   and all files are removed from the archive. This option has only impact,
   if creating a new archive or normalizing an existing archive.
 - Command wszst NORMALIZE: Logging changed.


szs v1.14a r4274 - 2013-03-14

 - wkmpt CHECK (and all commands calling this function internally):
   4 new tests for sections CKPH, ENPH and ITPH:
    - The section must not be empty (WARNING).
    - Only ITPH: The first 'next' link must be valid (WARNING).
    - Each group must have at least one valid 'next' link (WARNING).
    - Each group must have at least one valid 'prev' link (HINT).
   See http://szs.wiimm.de/cmd/wkmpt/check#testlist for all tests.
 - Option --kcl-script can now be used multiple times to execute multiple
   kcl script in the entered order.
 - Two new parser functions to identify the source within a script: isKCL()
   and isKMP(). Both functions return 0 for false, 1 for true or 2 for true,
   if the source is named 'course.*' (main KCL/KMP file).


szs v1.15a r4300 - 2013-03-28

 - New docu file: INSTALL.txt
 - Mac+Linux+Unix: Script 'install.sh' will call itself with 'sudo' if not
   started by user 'root'. Read INSTALL.txt for details.
 - Windows: Cygwin updated.
 - Better detection of UTF-8 files with byte order mark (BOM). Tool wbmgt will
   accept those files now.
 - Bug fix: wbmgt CAT: The option --patch is now processed.
 - Bug fix: wbmgt ENCODE: Wrong file naming fixed.
 - Bug fix: Option --kcl: If no 'DROP*' mode is set, the tools drops all bad
   triangles automatically. For an existing octree, it is only 'DROP-UNUSED'.
 - Check KCL+KMP: The checks are now done after patching.
 - New option --kmp=modes: It works like --kcl=modes to define KMP jobs and
   modes. The first modes are:
    - NEW        : Scan KMP and create a new one.
    - RM-SPCITEM : Clear 'special items for players' setting of the 6 item box
                   object types.
    - FIX-CKPH   : Fix the section CKPH.
    - FIX-ENPH   : Fix the section ENPH.
    - FIX-ITPH   : Fix the section ITPH.
    - FIX-PH     : Short cut for: FIX-CKPH,FIX-ENPH,FIX-ITPH.
    - INPLACE    : Force inplace replacing of KMP files (old mode).
    - LOG        : Debug: Enable KMP specific logging.
   The fix modes are EXPERIMENTAL!
   See http://szs.wiimm.de/opt/kmp for details.


szs v1.16a r4313 - 2013-04-08

 - Bug fix for BTI detection (reduce false positives).
 - wkmpt COBJECT --draw=ckpt: Draw lines to next point and to point linked
   by the 'next' member.
 - New command: wszst ENCODE: Works like wszst CREATE, but will not create a
   first level archive. The intension is to create and update all subfiles.
   'wszst ENCODE' can be used as a prepararion before using 'wszst UPDATE'.
 - New mode for --kmp: FIX-CKNEXT: Automatic calculation of the 'prev' and
   'next' links of KMP section CKPT.
   See http://szs.wiimm.de/opt/kmp for details.
 - Slot 4.2 detection: Improved 'moonview' detection, because MDL.s10
   'polygon11' and 'polygon60' are searched and their size is checked.
 - Command 'wszst SLOTS': Slots are assigned to output columns now.
 - Windows 'SendTo' commands: Fix handling of filenames with spaces.
   Reinstall the SendTo files with 'sendto-install.bat'.
 - New Windows 'SendTo' commands:
    - clean-KCL-of-SZS: Normalize a SZS, drop unneeded KCL triangles and
      rebuild the KCL octree.
    - adjust-minimap: Adjust the minimap of SZS, BRRES and MDL files.
 - Object DB updated.


szs v1.17a r4358 - 2013-04-23

 - Moonview slot proposal optimized.
 - KMP check: Print a hint, if 200 or more global objects are defined.
 - Option --fast overrides compression rates set by --norm or --compr=list.
 - New --kcl mode: FIX-ALL: Short cut for DROP,RM,NEW,LOG.
 - New option: --autoadd-path=dir: Define a path for the auto-add library
   and override the default search pathes.
 - New option: --mdl=list: Define a MDL patching method. VERTEX patching is
   used by default.
 - New option for wszst: --patch-file=list: Define, which kind of KMP, KCL and
   BRRES/MDL files are objects for patching. The default is to patch only the
   main KMP and KCL files and the MODEL and MAP files. --pfile is a short cut
   for --patch-file.
 - New name for option --hrot: --yrot
 - New options: --xrot, --yrot, --zrot, --ypos: Options --xrot, --zrot and
   --ypos are really new for X+Z rotation and --yrot is only a alternative
   name for --hrot. See built in help for impact.
 - New option: --translate: Works like --shift, but is done after the
   rotation. This is similar to the MDL transformations, that works in the
   order scale, x-rotate, y-rotate, z-rotate, translate.
 - New command for testing: wszst MATRIX: Use the transformation options as
   base and calculate and print the related vectors and the tranformation
   matrices. Then execute the transformations for each vector (parameter).
 - ATTENTION: Because of the new 3D rotation support, a new rotation
   algorithm has been implemented. Implementation bugs are not impossible.
 - ATTENTION: All new patching options are EXPERIMENTAL!


szs v1.18a r4404 - 2013-05-01

 - There is a complete new transformation algorithm: All transforming options
   will be used to create a transformation matrix. If using >1 transformation
   steps (see below), the matrices are multiplied to get a final transformation
   matrix. All transformations are now done using this final transformation
   matrix. This is faster and the internal handling is now much easier.
 - New option --next: This option allows and separates up to 10 transformation
   steps. Logical, each point is transformed step by step in the definition
   order. Internally, a final matrix is calculated and all transformations are
   done in a single step by using this final matrix. There are some issues
   transforming KMP object, see http://szs.wiimm.de/opt/next for details.
 - Command MATRIX is now available for all tools with transformation support.
   It was redesigned to control the impact of the new transformation steps.
   See http://szs.wiimm.de/cmd/matrix
 - New option --rot=deg@origin: Define the rotations for 3 axes by one option.
 - New option --arot=deg[@pt1]@pt2: Do an (axis) rotation around the axis
   specified by the 2 points as single transformation step.
   This option is EXPERIMENTAL! See http://szs.wiimm.de/opt/arot
 - New option --ascale=factor@dir: Do an (axis) scaling into the direction
   specified by the vector 'dir' as single transformation step.
   This option is EXPERIMENTAL! See http://szs.wiimm.de/opt/ascale
 - KMP object database updated.


szs v1.19a r4461 - 2013-06-02

 - wszst CHECK: Check existence of minimap bones 'posLD' and 'posRU'.
   Read http://szs.wiimm.de/cmd/wszst/check#desc for a list of all tests.
 - Check commands: KMP objects with presence flag == 0 will be handled as
   non existent. This changes the missing files status and the slot proposals.
 - KCL type names synchchronized to Wiki.
 - Bug fix: If a function was searched and a const was defined with the same
   name, a `segmentation fault (or similar) occured.
 - New command: wkmpt STARTPOS: Print the start positions of players in
   various formats. See http://szs.wiimm.de/cmd/wkmpt/startpos for details.
 - Patching option --kmp accepts now the keywords LEFT, RIGHT, WIDE and NARROW
   to modify the start options in section STGI.
 - New global option --de: Use german track and arena names.
 - Command FILETYPE --long: Column with version of file format added.
 - wszst EXTRACT/CREATE: The version number of the archive file format is
   stored in and read from the help file 'wszst-setup.txt' to support version
   dependent file formats.
 - BREFF and BREFT:
    - Version numbers are printed in listings with version support.
    - The file format version number is written to 'wszst-setup.txt' on
      extracting and read from read from 'wszst-setup.txt' on creating.
    - The default aligning for BREFT files depends now on the version number.
      It is 0x20 for versions <10 (MKW=9) and 0x40 for versions >9 (NSMB=11).
      At the moment the new alignment for NSMB is not well tested!


szs v1.19b r4482 - 2013-06-14

 - Bug fix: If resizing an image (e.g. for mipmaps), an INTERNAL ERROR
   appeared sometimes because of an unhandled combination of image type
   and image size (odd height or width). [Thanx to HelloImYourMind]


szs v1.20a r4548 - 2013-07-21

 - New Option for wszst and wimgt: --smart:
   If resizing an image, use the new smart resize function. The new function
   is much slower (factor 2-4) than the old function, but creates much better
   resized images. This is only relevant for creating mipaps with odd width
   or height. THIS NEW FUNCTION IS EXPERIMENTAL!
 - Support of original SketchUp OBJ exporter, see next 2 points for details:
 - More tolerant detection of Wavefront OBJ files. Export of the original
   SketchUp exporter will be recognized as 'SKPOBJ' instead of 'WAVOBJ'.
 - New --kcl flags: 'G' and 'USEMTL': If scanning an OBJ file, these flags
   decides, which OBJ commands will define groups. If none is set (default)
   'USEMTL' is used for files of type 'SKPOBJ' and 'G' for all others.
 - Command 'wkclt CFF' accepts now option --brief to suppress the comment
   '# f(type,variant)' and option --long to force a '= f(type,variant)'
   parameter.
 - Suppress some patch logging messages for CHECK commands.
 - CHECK KMP: If option --long is set, print some additional statistics.
 - Some error messages are more exact now.
 - Bug fix: If using options --test and --remove together, the destination
   file was removed sometimes (but not created).
 - New patching option: --tform-kmp=list: Fine control about the sections
   and objects (position, rotation or scale vector), that are transformed.
   See http://szs.wiimm.de/opt/tform-kmp for details.
 - Windows only: Cygwin update to v1.7.20 2013-06-07.


szs v1.21a r4578 - 2013-09-07

 - Improved built-in help system. Type e.g. "wszst help help" or visit
   http://szs.wiimm.de/cmd/wszst/help for details.
 - New keyword for option --kmp: FORCE: Ignore little repairable file structure
   issues on reading KMP files. Works like --force, but only for KMP files.
 - Bug fix: The check for the right position of all KMP sections failed.
 - Optimized handling for SZS sub files with 'out of range offsets'.
 - wszst: Option --auto-add can now be used together with the commands PATCH
   and NORMALIZE. EXPERIMENTAL!
 - Bug fix: Wrong calculation of parent directory index in U8 header fixed.
   This bug existed from the beginning of the SZS tools and it seems, that it
   had no impact for running a track or for other tools. However, the positive
   impact is, that the creation of the files Track.szs, Race.szs and the other
   language independent SZS files of MKWii directory './Scene/UI' works now.


szs v1.22a r4602 - 2013-09-14

 - The Windows installer will now force type REG_EXPAND_SZ for path variables.
 - New commmand: wbmgt MIX: Works like CAT, but combines all input files.
 - Exported BMG text files will now show all characters of the Unicode Basic
   Multilingual Plane (BMP; codes <=0xfffd) without escape sequences.
 - Tool wbmgt: Option --single-line supports now 2 levels and option --brief
   3 levels. See http://szs.wiimm.de/opt/wbmgt/single-line and
   http://szs.wiimm.de/opt/wbmgt/brief for details.
 - New option: wszst --patch-bmg: Patch BMG sub files directly. There is no
   more need to extract BMG files before patching.
 - New option for tools wszst and wbmgt: --msg=list: If set, the BMG messages
   are filtered by this list. Only enabled messages are exported to the ouput
   BMG file (binary or text).
 - If an archive (SZS,...) is found while reading a BMG file, the archive is
   searched for BMG sub files and found sub files together are used as BMG
   source.
 - wstrt can now detect main.dol files and its type (PAL, USA, JAP or KOR).
 - Option --kmp accepts now the keywords 1LAP, 2LAPS ... 9LAPS to modify the
   first byte of KMP/STGI (number of laps). This first byte has only impact on
   patched main.dol files.


szs v1.23a r4682 - 2013-10-05

 - Exported BMG text files will now show all characters of the Unicode Basic
   Multilingual Plane (BMP; codes <=0xfffd) without escape sequences. New is,
   that surrogates and private ranges are always printed as escape sequences.
 - New options for BMG text output: --color and --no-color: If enabled, colors
   are printed as new escape sequence "\c{color}". 'color' is eihter a known
   color name or a hex number with 4 digits. At the moment, --no-color is
   the default to avoid problems with old versions and other externl tools.
   In 2014 --color shall become the default. However, the BMG text scanner
   accepts the new escape sequence from now and independent of these options.
 - New modes for option --patch-bmg: 'ID', 'ID-ALL', 'CT-COPY' and 'CT-FILL'.
   See http://szs.wiimm.de/opt/patch-bmg for details.
 - New command: wstrt DUMP: Dump the data structure of DOL files as text.
 - wstrt ANALYZE: Analyze DOL files and compare them section by section with
   the orginal main.dol file of MKWii.
 - New command: wstrt EXTRACT: Extract the sections of a DOL file into a
   directory. StaticR.rel files are ignored.
 - New global option: --ctcode: Enable the CT-CODE modus of the tools.
   See http://szs.wiimm.de/doc/ctcode for details and about CT-CODE.
 - wstrt PATCH --add-ctcode: Add CT-CODE to original main.dol files.
 - New tool: wctct: Manage CT-CODE. See http://szs.wiimm.de/wctct and
   http://szs.wiimm.de/doc/ctcode for details.


szs v1.24a r4703 - 2013-10-14

 - Bug fix for wctct: Winning + losing ceremony after GP enabled.
 - wctct: More possible names for music and property ids.
   See http://szs.wiimm.de/doc/slot-id for details.
 - Transforming complete tracks: VRCORN will now patched by default, if not
   excluded by option --patch-file=list.
 - Linux 'make': LIBPNG will be linked as static library, if available.


szs v1.25a r4715 - 2013-10-27

 - New KMP command for CKPT, ENPT and ITPT: $SPLIT: Split the group into 2 or
   more peaces. See http://szs.wiimm.de/doc/kmp/syntax#ckpt-grp for details.
 - New KMP parameter for ENPT and ITPT: @AUTO-FILL: Add additional points if
   the distance between points is smaller than the defined value.
   See http://szs.wiimm.de/doc/kmp/syntax#enpt-par for details.
 - KMP compiler: New snap variant to define x- and y-rotation.
   See http://szs.wiimm.de/doc/kmp/snap for details.
 - Command 'wkmpt COBJECT' accepts now option --kcl-script to filter the
   exported OBJ file.
 - Some small fixes for tool wctct.


szs v1.26a r4726 - 2013-11-10

 - Bug fix: A patched file was not marked as dirty (and not written), if only
   BMG was patched and only with modes 'ID' or 'ID-ALL'.
 - New option --export (-X): Enable the export modus and create small and
   machine readable text files for easy post processing. The option works
   similar like -HBB for KMP and like -HBl11 for BMG text files.
 - Windows version only: Update to Cygwin v1.7.25. I hope that it fixes the
   bug that occurred during creation of MKW-Fun 2013-10 with Windows 8.1.


szs v1.27a r4742 - 2013-11-24

 - Bug fix: Occasional a triangle was marked as invalid by mistake, if it was
   inserted by the script function tri$create() (option --kcl-script).
 - Minimap fixing: From now the minmum and maximum values of the MDL.s1 root
   are set too.
 - KMP check: A test added, which controls, that the check points are not to
   near together and that they build convex quadrilaterals.
   See http://szs.wiimm.de/cmd/wkmpt/check#desc for check details.
 - KMP check: Some WARNINGS are HINTS now.
 - New transformation option: --tform-script=script
   The script is loaded and a macro is called for every vertex. So it is
   possible to add user defined and also non linear transformations.
   See http://szs.wiimm.de/opt/tform-script for details.
 - New parser functions: status(), len2(), hlen2(), sideOfLine(),
   ptInConvexPolygon(), ptsInConvexTri(), ptsInConvexQuad().
   See http://szs.wiimm.de/cmd/wszst/functions#desc for details.


szs v1.28a r4771 - 2013-12-09

 - There was a disorder using the escape sequences '%E' and '%T' for file
   extensions/types. '%E' included a leading point, '%T' only sometimes.
   Henceforth both will include then leading '.' or are empty, if no file
   extension is available. So the earlier '%N.%T' becomes '%N%T'.
 - Command wkmpt COBJECT will now also draw the start position with area, the
   respawn positions with area, the POTI routes and standard itemboxes. See
   http://szs.wiimm.de/opt/draw for details.
 - Command wkmpt COBJECT: Check points with quadrilateral warnings are drawn
   in red. This option can be disabled by --draw=-warn.
 - New KMP check: Test, if all enemy and item root points are inside of at
   least one convex check point quadrilateral.


szs v1.29a r4788 - 2013-12-13

 - Command 'wkmpt COBJECT' was renamed to the more intuitive name
   'wkmpt DRAW'. The old command name can still be used.
 - Option --draw has now a short twin: -w
 - Option --draw supports the new keyword SOLIDOBJECTS: Draw all solid objects
   without any route as a blue octahedron. At the moment, the native object
   size, scaling and rotation are ignored.
 - Command 'wkmpt DRAW --draw ITEMBOXES' draws itemboxes like in-game as a
   grey cube with a vertex down. The color for itemboxes with special items
   for players or enemies is dark grey.
 - New KCL script functions: tri$createOctahedron(), tri$createAntiPrism()
   and tri$createAntiArrow().


szs v1.30a r4810 - 2013-12-27

 - Object export (wkclt DECODE & wkmpt DRAW):
    - The default for normals changed. Normals will only be included if the
      keyword NORMALS of option --kcl is set. The new default is better for
      the SketchUp OBJ importer plugin in time and correctness.
    - The ambient color of the material 'Ka' is not longer defined.
    - Bug fix: If the object needed more than 65535 vertices, then a wrong OBJ
      was written with indices modulo 65536.
 - wkmpt DRAW: The following objects are drawn in correct size and with a
   recognizable form and color: itembox, obakeblockSFC*, dokan*, karehayama
   and all trees.
 - KCL: Improved error system, if a KCL has more than 65535 normals. Before
   aborting, the normals are rounded in multiple steps to find duplicates.


szs v1.31a r4828 - 2014-01-03

 - BMG handling: \c{color} escape sequences in text output are now enabled
   by default. To be compatible with old tool versions (v1.22a released at
   2013-09-14 and older versions), use option --no-color.
 - wctct: Support of hex coded filenames for the 32 original tracks.
 - Windows only: Cygwin update to v1.7.27 2013-12-09.
 - New option: wstrt --all-ranks: Manipulate a query for Nintendos servers, so
   that all players in a region are found independent of their ranking points.


szs v1.31b r4841 - 2014-01-17

 - KCL bug fix: Creating and managing the flag file failed sometimes.


szs v1.32a r4958 - 2014-02-07

 - wszst+wbmgt: Options --color and --no-color have new meanings (see next
   point). Instead of the old option --no-color, there is a new option named
   --no-bmg-color to suppress '\c{color}' escape sequences of BMG files.
 - New global options for all tools: Option --color forces colorized text. It
   is enabled by default for output to terminals. Option --no-color disables
   colorized text at all. At the moment only the commands COLORS, CHECK and
   SLOTS support colorized text.
 - New command: COLORS: Test colorized text by printing it in different modes
   (colors, bold, underline). Also test the options --color and --no-color.
 - Bug fix: A patched BMG file was not marked as dirty (and not written), if
   only some characters in the second half of the string are modified and the
   length don't change (compared N bytes and not N words).
 - Bug fix: wstrt patch --region=name: New assignment of region names to
   region numbers: 0=Japan, 1=America, 2=Europe, 3=Australia, ...
 - KMP/STGI: Support of the last 2 bytes as `speed modifier':
    - On output, the factor is appended as comment.
    - On input, a floating point number instead 2 single bytes is accepted
      as speed mulitplier. The floating point number is rounded to the nearest
      possible number (16 bit cut float with only 7 bits for the mantissa).
 - New option for tools wszst and wkmpt: --speed-mod=factor: Define a speed
   modifier and patch KMP files.


szs v1.33a r4983 - 2014-03-01

 - Colorized patch log.
 - New Command: wszst COPY source dest: COPY is an alternative command for
   copying and pathing files. It uses the same internal procedure as command
   PATCH, but has another command line syntax.
 - New mode for option --kmp: FIX-CKJGPT: Fix invalid links to respawn points.
 - wszst CHECK: Test geometry of images:
    - Warnings about invalid images with zero width or height.
    - Warnings about images with width or height not power of 2.
    - Hints about images with width or height >1024.
   See http://szs.wiimm.de/cmd/wszst/check#testlist for details.
 - wszst CHECK: Count and warn about the number of vertices in MDL files
   of 'course_model.brres', 'map_model.brres' and 'vrcorn_model.brres',
   and about the total of all MDL files.
 - New KMP checks for wszst+wkmpt CHECK:
    - STGI: Print modified lap counter.
    - STGI: Print invalid start position or mode.
    - STGI: Print defined speed modifier.
   See http://szs.wiimm.de/cmd/wkmpt/check#testlist for details.
 - The tools 'wkclt' and 'wbmgt' accept the literal "0" as source filename for
   an empty file (like "-" for stdin).
 - Windows only: Cygwin update to v1.7.28 2014-02-09.


szs v1.34a r5070 - 2014-04-19

 - New Option --slot=keyword: Patch a track file to run at the specified slot.
   KMP and KCL may be modified. BRRES files may be added to or removed from
   SZS. The main keywords are DAISY, DESERT, SHERBET, SHYGUY, STANDARD and
   MOST. Slot numbers (except '42' or '4.2') are also accepted.
   See http://szs.wiimm.de/opt/slot for details.
   ***  THIS NEW OPTION IS EXPERIMENTAL!  ***
 - New patch option: --https=mode: Patch the https strings of REL and DOL
   files. 'mode' is one of the following keywords:
    - RESTORE restores the original URLs and domains.
    - HTTP replace HTTPS requests by HTTP and sub-domain 'naswii.' by 'nas.'.
    - DOMAIN replace HTTPS requests by HTTP and domain 'nintendowifi.net' by
      a domain specified by the option --domain.
    - PORT1 sets the domain specified by option --domain in combination with
      ports 90-93.
    - PORT2 is like PORT1, but it uses 'mariokartwii.DOMAIN' to replace the
      'mariokartwii.race.gs.nintendowifi.net' domain.
 - New patch option: --domain=dom: Define a domain for option --https. The
   default domain is 'wiimmfi.de'.


szs v1.35a r5184 - 2014-05-16

 - Two more modes for option --https:
    - SAKE0: Same as DOMAIN, but don't replace URLs with SAKE domain.
    - SAKE1: Same as SAKE0, but replace HTTPS of SAKE domains.
 - New option: wstrt --wiimmfi: Patch the files for the new custom server.
   It is a short cut for '{--https=domain --domain=wiimmfi.de}'.


szs v1.35b r5386 - 2014-07-02

 - wstrt ANALYSE: Bug fix: HTTPS hint for original files removed.
 - wstrt PATCH: Bug fix: Some forgotten 'https' and 1 'sake' are patched now.


szs v1.35c r5394 - 2014-07-03

 - wstrt PATCH: Another 'https' bug fixed.


szs v1.36a r5680 - 2014-10-18

 - New command: wstrt+wbmgt POINTS: Print a table with points assigned after
   a versus or private room race. This command should help to find a good
   parameter for option --points.
 - New option --points=list: Define a new table with points assigned after a
   versus or private room race. Predefined tables are:
      NINTENDO: Original Nintendo table.
      LINEAR:   Last get 0 points, all other 1 point more than successor.
      WIN15:    Winner = 15 points, last=0, all other are evenly distributed. 
      WIN25:    Winner = 25 points, last=0, all other are evenly distributed.
   For LINEAR, WIN15 and WIN25 there are some options:
      ONE:   Last get 1 point instead of 0.
      BONUS: Winner get a bonus of 1 point.
   See http://szs.wiimm.de/opt/points for details.
 - Windows only: Cygwin update to v1.7.32 2014-08-13.


szs v1.36b r0 - 2015-02-06

 - Bug fix: If transforming a track, the minimap became sometimes invisible.
   The reason was, that the minimum and maximum parameters of the vertex list
   were not calculated and not stored to reflect the new coordinates.
 - New patching option: --null: Create a neutral transformation without
   affecting the coordinates. The only influence that the dependent values
   (like maximum) are calculated as if a transformation had taken place.
   This option helps to fix the transforming bug mentioned above.


Known bugs:

 - Minimaps with an additional bones layer above 'posLD' and 'posRU' (e.g.
   for scaling) are handled incorrect if auto adjusting the minimap.


*******************************************************************************
*******                              END                                *******
*******************************************************************************
