prevnext   » SZS: Wiimms SZS Toolset » SZS Change Log

SZS Change Log


1.   Current working copy (not released)

 - BMG section "STR1" detected, but not supported. Metrics are displayed.

 - Commands wszst BINARY/TEXT: Full support of file mingame.kmg (binary+text).

2.   szs v2.08a r7979 - 2019-09-05

 - BMG: Encoding of types CP1252, UTF-16be, Shift-JIS and UTF-8 are fully
   supported now.

 - New command: wbmgt SLOTS source...: Print a slot ordered list with slot
   number, message id, delta and attributes.

 - BMG supports predifined slots now. These slot assignments are detected
   automatically while reading binary BMG files. Slot assignments are saved to
   and scanned from BMG text files.

 - BMG text files: Each message ID can be followed by '@SLOT' to force a slot
   number for the message.

 - BMG: Unknown sections are stored as hex dumps into BMG text files. The hex
   dumps can be edited and are scanned on reading. Each section is started by
   parameter "@SECTION NAME".

 - BMG section INF1: Maximum attribute length increased from 32 to 40 bytes.

3.   szs v2.07a r7960 - 2019-08-30

 - New file formats to distinguish GeoHitTable*.bin (standard variant) from
   GeoHitTable*Obj.bin ("Obj" variant).

 - Command wszst TEXT for OBJFLOW and GEOHIT updated to support new file
   formats and new features.

 - If extracting an U8 or WU8 archive, then course.kcl.*, course.kmp.txt and
   course.lex.txt are always added to the exclude list of control file
   wszst-setup.txt. Files course.kcl, course.kmp and course.lex are added to
   the encode list. Before the files were only added, if the binary file
   exists and option --decode was set.

 - Command wlect CREATE CANNON: Create a LEX text file with cannon section

 - Command wszst ANALYZE updated to support calculated attributes of tracks
   for web site

 - BMG section INF1: Maximum attribute length increased from 16 to 32 bytes.

 - BMG: The tools support only BMG encoding #2 (UTF-16/be) fully. Encoding #1
   (CP1252) can be read, but not be stored as binary BMG file. Error messages
   are printed for unsupported encodings.

 - BMG: Unknown parameters of sections INF1 and MID1 are scanned and written.

 - New BMG option: --bmg-encoding=NAME: Force a BMG encoding. It is only
   relevant if creating a BMG file. Accepted encoding names are: CP-1252,
   UTF-16BE (or UTF-16), SHIFT-JIS, UTF-8 and AUTO for automatic detection
   (default). Same keywords without minus signs are accepted too.
   At the moment, only encodings CP-1252 and UTF-16BE are supported on reading
   and only encoding UTF-16BE on writing a binary BMG. MKWii uses UTF-16BE.

 - New command: wbmgt EXTRACT name source: Extract BMG section NAME of file
   SOURCE and write the binary data to standard output. If NAME consists of
   less than 4 characters, then the first section that starts with these
   characters is dumped.

 - New command: wbmgt SECTIONS source...: List all sections of each binary
   BMG file. Print offset, size, magic and a short info. If known, print
   number and size of elements too.

4.   szs v2.06a r7905 - 2019-07-01

 - Bug fix for wszst CHECK: The summary will include BRRES error counters now.
   A summary line is also printed, if a standalone BRRES file is checked.

 - New command: wlect DL: Short cut for: wlect DUMP --long

 - New command: wlect DLL: Short cut for: wlect DUMP --long --long

 - Tool wlect: Option --perf-mon=FORCE enables performance counter for Dolphin.

 - Command wlect DUMP --verbose: Slot usage map is colored now.

 - Command wszst ANALYZE prints more details now.

 - CT-CODE definition files: Added additional and optional field IDENTIFIER to
   optimize track-to-cup references.

 - Support for outdated LE-CODE phase 1 removed.

 - Bug fix for option --ktpt2: KMP is marked as modified now, so that the
   KMP of the source file is updated..

 - Support of files ObjFlow.bin and GeoHitTable*.bin (binary and text).

 - New commands: wszst BINARY and wszst TEXT: Both commands work like the
   ENCODE and DECODE commands of the other tools. The main idea is to support
   simple text-to-binary and binary-to-text conversions of new file formats by
   tool wszst instead of creating own tools for every new file format.
    - Command wszst BINARY: Read each source file (binary or text, but not an
      archive) and write it as binary file.
    - Command wszst TEXT: Read each source file (binary or text, but not an
      archive) and write it as text file.
    - Currently supported file formats are BMG, GEOHIT, KCL, KMP, LEX,
      OBJFLOW, PAT and the related text formats.

 - New option: wszst --delta: Print only modified records on text output.
   Supported file formats until now: GEOHIT, OBJFLOW

5.   szs v2.05a r7879 - 2019-06-09

 - Warnings for not supported versions and for wrong number of sections of
   BRRES sub files (CHR, CLR, MDL, PAT, SCN, SHP, SRT and TEX) implemented.
   Some of these invalid sub files will freeze the Wii:
    - New command: wszst BRSUB: If no file is defined, print a table with
      known BRRES sub files consisting of file format, version, number of
      sections and warn message. Otherwise analyse the version number and
      number of sections of each BRRES sub file of each source and print
      warnings about invalid sub files. This is like command CHECK, but only
      for BRRES sub files.
    - Command wszst CHECK will check BRRES files now. For SZS files, all BRRES
      sub files are checked. At the moment only valid version numbers and
      number of sections are tested.
    - Command wszst LIST: If displaying version numbers, invalid version
      numbers for BRRES sub files will be marked by an appended "!" and
      highlighted by magenta background if colors are activated.

 - Bug fix for wszst DISTRIBUTION: Scanning of slot numbers failed.

 - Option --ktpt2 accepts keyword AUTO now and calculates the position
   automatically. The result is the recommendation of command wkmpt KTPT.

6.   szs v2.04a r7864 - 2019-06-02

 - New option for wszst and wimgt: --cmpr-default=rgb1[,rgb2]
   Define 2 colors for the case, that all 16 pixels of a CMPR block are
   transparent. The default is to calculate an average color of all
   transparent pixels. Before v2.04 white was used.

 - Command wszst DISTRIBUTION: Added battle arena support.

 - Option --bmg-inline removed. It is deprecated since 2015.

7.   szs v2.03a r7854 - 2019-05-25

 - Command wszst CHECK: Hints about special files in subdirectory ./Common/.

 - Command wszst/wkmpt CHECK: Hints about special GOBJ settings, that are
   recognized by LE-CODE only.

 - Bug fix for wszst ANALYZE --json: Object names are enclosed by quotes now.

 - New option: --macro-bmg=file: Load a BMG file and add or overwrite the
   messages to the macro library. The macro library is accessed by escape
   sequence \m{MID} as fallback.

 - New escape sequence for BMG text files: \M{a,b,...}: Each parameter is
   interpreted as message id. If a message with given ID is defined by the
   macro library, then insert the text of the message.

 - New command: wkmpt KTPT: Analyse the start positions (KMP:KTPT) and lap
   counters (KMP:CKPT) and print a simple information list. Use enemy points
   (KMP:ENPT) to find recommendations. This command is dedicated to LE-CODE,
   which supports an alternative position for the finish line at the minimap.

 - New patch option for wszst and wkmpt: --ktpt2=vector
   Insert or replace a second KTPT. Use VECTOR as new position. Then find
   nearest lap counter (CKPT with mode 0) and adjust position and direction.

8.   szs v2.02a r7827 - 2019-05-04

 - New option for wlect: --move1-tracks: Files with more than one hard link
   are copied and removed and not moved to create an unique version of the

 - New assigning operator for BMG text files: "MID1 : MID2": Copy attributes
   and text of message MID2 to message MID1. Forward and chained references
   are allowed. Multi message ids like 'T12' are supported on both sides.

 - New escape sequence for BMG text files: \m{a,b,...}: Each parameter is
   interpreted as message id. If a message with given ID exists (must be
   defined before and must not have an assigned value), then insert the text
   of the message.

 - New option for wszst EXTRACT: --basedir=DIRECTORY: Extract only files from
   archives, that are below the DIRECTORY. Leading points and slashes and
   trailing slahes are removed from the parameter. --bdir is short cut.  

 - New command: wszst XCOMMON: Scan archives and extract files from archives,
   that are below directory 'common'. Command XCOMMON is a short cut for
   EXTRACT --basedir=common.

 - New command: wszst ANALYZE: Analyse track files and print resulta in
   machine readable format.

9.   szs v2.01b r7802 - 2019-03-21

 - Bug fix for v2.01a: The string support of the text parser had an memory
   allocation bug. wctct uses the new string functions since v2.01 and
   produces occasional (~25%) wrong CT-CODE files (strap files).

10.   szs v2.01a r7798 - 2019-03-16

 - Bug fix for BMG processing: Tools ran into endless loop, if an incorrect
   1A-escape tells a length of zero.

 - BMG Filter option --msg renamed to the more meaningful name --filter-bmg.
   The old name is still available.

 - BMG Filter option --filter-bmg=modes supports more keywords now.
   See for details.

 - Option --patch-bmg=mode[cond][=param]: The new optional condition COND is
   either '?MID' or '!MID'. In case of '?MID', the patch is only applied if
   the message id MID already exists. In case of '!MID', the patch is only
   applied if the message id MID does not exists.

 - New command: wszst NAME-REF: For each BRRES file or subfile, create a name
   based cross reference and print the result as list in selectable order.

 - Some minor bugs on arena name replication to CT/LE slots fixed.

 - New option: --links: Support hardlinks if creating U8 and WU8 archives.
   Keep hardlinks if normalizing U8 and WU8 archives. On extracting, search
   hardlinks in every archive and try to create hardlinks at local file system.

 - KMP object database updated by CT-Wiiki.

 - LE-CODE support completed for the moment.

 - Support for new file format LEX (LE-CODE extension).
   Commands for tool wlect: CREATE, CAT, DECODE, ENCODE.
   See for LEX details.

11.   szs v2.00a r7754 - 2019-02-22

 - Windows version only: Update to Cygwin DLL 3.0.0 / 2019-02-16.

 - A binary KCL with different section order is accepted now (like KMP before).

 - The new option --repair-magics[=MODE] controls the reparing of missing or
   wrong magics of files and sub-files  by analysing file path and file
   extension. MODE is one of OFF, ANALYSE or REPAIR.

 - Command FLOAT accepts '+' and '-' to print the nearest successor and
   predecessor of the previous value.

 - New command: wszst VR-CALC: Calculate a VR increment for each given delta
   value (=VR_winner-VR_loser). Print results as table.

 - New command: wszst VR-RACE: Print a table with VR calculations for a race.
   Each VR is the current rating of a player. 

 - wstrt analyse StaticR.rel: Detect modifications of cannon parameters.

 - wstrt: New option: --cannon=IDX,P1,P2,P3,P4: Define parameters of cannon
   with index IDX (0..2).

 - New mode for option --patch-bmg: 'REGEX=list', where LIST is a semicolon
   separated list of "/REGEX/REPLACE/" expressions (POSIX Extended Regex).
   See for details.

 - New command: wbmgt REGEXP: Test implementation of regular expressions.

 - New tool: wlect: Manage the LE-CODE (Leserattes CT-CODE) extension.

 - Tool wctct accept LE-BIN files (LE-CODE binaries) as input.

 - Global option --le-code: Enable LE-CODE (Leserattes CT-CODE) support for all
   tools. It includes option --ct-code.

12.   szs v1.65a r7690 - 2018-12-23

 - Support of BMG files without section MID1.

 - New Option: --bmg-mid=MODE: Control the creation of BMG section MID1.
   MODE is one of OFF, AUTO (default) or ON.

 - The impact of options --n-mipmaps, --max-mipmaps and --mipmap-size changed.
   All 3 options together control the automatic creation of mipmaps.
   Read for details.

 - Option --smart is deprecated and ignored now. The new option --fast-mipmaps
   will enable the old algorithm for images with odd width or with odd height.
   Read for details.