prevnext   » SZS: Wiimms SZS Toolset » SZS Change Log

SZS Change Log


1.   Current working copy (not released)

 - Option --kcl-min is not longer supported. Use option --tri-height instead.

 - The old file extention ".flag.txt" for KCL flag files is not longer

 - wszst/wkmpt CHECK: A battle arena is now detected. Some hints and warnings
   are suppressed for battle arenas.

 - wszst SLOTS: For battle arenas, the keyword ARENA is printed instead of a
   slot list.

 - New option: --export-flags[=mode] (or short: --exflags): KMP compiler and
   scanner support the export and import of KMP flags for sections ENPT, ITPT
   and JGPT through a binary KMP file. Therefore, the last byte of the scale
   or of the x-rotation is used. Values becomes inaccurat by 0.003% (not
   relevant for scale or rotation and not noticeable while playing).
   MODE is either OFF, AUTO (default) or ON. Without value, ON is used. ON and
   OFF override the @EXPORT-FLAGS settings of a KMP text file.

 - New option: --wim0[=mode]: KMP compiler and scanner support the export and
   KMP parameters through a special KMP section named "@WIM0@".

2.   szs v1.58b r7503 - 2018-05-18

 - Default value for options --tri-area and --tri-height is now 1.0. 

 - Some more minor edits.

3.   szs v1.58a r7499 - 2018-04-20

 - Option --kcl-min=EXPR: This option is deprecated, but still supported. It
   is an alternative name for --tri-height=EXPR now.

 - New option --tri-area=EXPR: Define the minimal area size of KCL triangles.
   The intention is to ignore triangles that are generally to small. EXPR is
   a floating point number or expression. Triangles are invalidated if their
   area size is smaller than EXPR. The test is executed after reading files,
   after transformations, and after calculating normals and lengths. Values
   between 0.01 and 4.0 are recommended. The careful value 1.0 is used as
   default. Value 0 disables this filter functionality.

 - New option --tri-height=EXPR: Define the minimal height of KCL triangles.
   The intention is to ignore deformed triangles (very slim, but long). EXPR
   is a floating point number or expression. Triangles are invalidated if at
   least 1 of the 3 heights is smaller than EXPR. The test is executed after
   reading files, after transformations, and after calculating normals and
   lengths. Values between 0.01 and 2.0 are recommended. The careful value 0.1
   is used as default. Value 0 disables this filter functionality.

 - You can proof the impact of the options above by command wkclt TEST.

 - Command wkclt DUMP has been expanded and shows metrics like side length,
   area size and heights for each triangle.

 - New command: wkclt LIST: Print a list of all triangles with metrics in
   human and machine readable text format. It is like command DUMP, but
   reduced to the list of triangles.

 - New implementation for OBJ groups without assigned KCL flag. They will be
   inserted into the OBJ export now.

4.   szs v1.57a r7484 - 2018-04-11

 - Windows version only: Update to Cygwin v2.10.0.

 - New option for tools wkclt, wszst and wkmpt: --kcl-min=FLOAT: Define a
   minimal `length` of KCL triangles. The length is the heights of the
   reference side of the triangle. Smaller triangles are invalidated and
   ignored or removed. The default value is 0.1 and good values are between
   0.01 and 2.0. Until v1.56a the minimal length was hard coded as 1e-6
   (1/million) to avoid  mathematical overflows while calculating positions
   by normals. The larger value reduces the number of KCL glitches
   dramatically for some tracks with many unusual triangles.

 - New option: --wc24: If set, options --wiimmfi and --domain will exclude
   2 strings of StaticR.rel from the URL patch to enable WC24 support.

5.   szs v1.56a r7461 - 2017-12-03

 - wszst DISTRIBUTION: Track scanning improved.

 - Option --cache is a global option now. It is used to speedup every YAZ0
   compression, but only for standard compression level 9 (BEST). A hash table
   is used now for optimization.

 - New option: --cname: Defines a cache file name for a single file.

 - New Command: wszst SCANCACHE: Scan the cache directory for SZS files and
   re-build the hash table.

6.   szs v1.55b r7437 - 2017-11-19

 - wszst DISTRIBUTION: New parameter: PREDECESSOR

 - wszst AUTOADD: With option -v, the command will list invalid files too.

7.   szs v1.55a r7429 - 2017-11-11

 - New command: wszst DISTRIBUTION: The aim is to create a text file that
   describes a custom track distribution. The owner have to edit the created
   file and send it to Wiimm. Wiimm add the information to the custom track
   portal with a complete track list.

8.   szs v1.54a r7393 - 2017-08-14

 - Some KCL flags renamed.

 - wkmpt draw --draw AREA: Areas of KMP are drawn as yellow arrows and as
   transparent yellow cuboids.

 - Support for RKC (competition) files added:
   RKC files are handled like other archives. Tool wszst is able to detect,
   list, extract or create a RKC file, also recursive. Direct creation and
   optimation of the included SZS is not implemented yet.

 - New keyword for option --kmp: MAX-LAPS: Keyword MAX-LAPS has only impact,
   if one of 1LAP,...,9LAPS is set too. Then, the number of laps is only
   decreased to the specified number, but never increased.

 - New keyword for option --kmp: RM-EMPTY: After creating a new KMP, all empty
   KMP sections are removed to make the KMP as small as possible. Use this
   option only for compettitions!

 - New command: YAZDUMP: Prints an info dump about the YAZ0/YAZ1 compression
   details for analysis.

 - New compression methods: 10 (=ULTRA) and 100-150: They need much more time
   than BEST (=9) but create smaller SZS files than Nintendo did. It is
   dedicated to competitions with strict size limitations.

 - There is a new option: --tiny=level: It tries to minimize SZS and also the
   included KCL and KMP by different technics (rounding values, sorting and
   compression methods 100-150). It is not fully documentd yet.
   See for details.

 - New keyword for option --kcl: WEAK-WALLS: Set the most significant bit
   (bit 15, 0x8000) of KCL flag of all walls. It stops hard bumping at the
   edges and has similar effects like lowering the walls.

 - Windows only: Cygwin update to v2.8.1, 2017-07-03.

 - Apple Mac is no longer supported because I no longer have access to a Mac.

9.   szs v1.53a r7308 - 2016-12-09

 - Bug fix: Occasional a "Segmentation fault" occured, if reading an empty file.

 - Option --draw supports the new keyword DECORATION: Draw unsolid objects
   without any route as a magenta cuboid.

10.   szs v1.52a r7164 - 2016-06-29

 - Bug fix for wkclt: Since v1.49a, the transformation was executed twice,
   but only for commands DECODE and ENCODE. Command COPY works correct and
   transforms only once.

 - wstrt: Wiimmfi patching excludes now 3 patch positions for competitions.
   It's now the job of the competition patcher to patch these 3 URLs.

 - wkclt CFF: If creating a new flag file, the new function i(type,z,index)
   is defined as support for fall boundaries (idea by Wexos).

 - New tool: wmdlt: The tool wmdlt exists since v0.26a (2012), but was always
   hidden, because it was useless. But now I started with MDL analysis and
   plan to modifiy MDL data.
    - wmdlt CAT/DECODE: Print a MDL file as text. It is incomplete, but can be
      used for analysing.
    - wmdlt STRINGS: Print all strings of a MDL.

 - For slot 42 (moonview highway) the content of the 12 needed materials
   is checked.

11.   szs v1.51a r7107 - 2016-06-01

 - wstrt is able to patch DOL files of other games and not only of MKWii.

 - The CHECK for slot 4.2 will be more exact now because it looks for the
   needed materials. The presence flags of objects 'car_body' and 'kart_truck'
   is also tested. If option --OLD is set, the old polygon test will be used.

 - Option --kmp=list supports now the keyword REVERSE as `backwards| support:
   Reverse KMP sections ENPH, ENPT, ITPH, ITPT, POTI. The implementation is
   not finished yet and more section (CKPH, CKTP, KTPT, JGPT) will follow.

 - Different small fixes.

12.   szs v1.50a r7053 - 2016-04-08

 - Improved cheat code handling.

 - Three new options: --gct-move & --gct-addr & --gct-space
   With these 3 options it is possible to support a very large cheat code
   table. Therefor a temporary section is created that runs at the very
   beginning and takes space from the game heap to establish a code section
   before the FST table.

 - Tool wctct: Update of the internal CT-CODE (mod1). The new code allows to
   select original tracks in regions. Here you can find old CT-CODE versions:
   Visit for more details.