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
- 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 https://ct.wiimm.de/ 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 https://szs.wiimm.de/info/tiny.html 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
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 https://github.com/Wiimm/wii-ct-code/ for more details.