prevnext   » SZS: Wiimms SZS Toolset » SZS Change Log

SZS Change Log


1.   Current working copy (not released)

 - wstrt PORT: Updated porting database.

 - wkmpt OBJECTS: Updated object database.

 - Bug fix: If creating a LPAR file (by "wlect create lpar" or by decoding),
   some lines are terminated by LF instead of CR+LF. This can lead to problems
   with some Windows editors and other Windows programs.

 - Bug fix: The wildcard ** does not work correctly. The recursion depth was
   always 1 level higher than specified. So level 0 was never possible.
   See for details.

 - wszst ANALYZE: Support of edit-slot ('e12' or 'ea12').

 - wszst ANALYZE: A track can be valid, even if vrcorn_model.brres is missed.

 - wszst SPLIT: Added support for "(author1,author2,,editor1,editor2)",
   LE-CODE flags + group, order by attribute, and for track category.

 - New file type: MTCAT: Read and export 'MKW Track Category' files.

 - LPAR: Support of new features BT-TEXTURES and VS-TEXTURES.

2.   szs v2.28a r8636 - 2022-08-27

 - Continuing the implementation of LEX/FEAT:
    - Command wszst FEATURES: Options for value 3 (impact) are printed always.
    - Option --print-modes removed.
    - Option --long (-l and -ll) used to append human readable flags.

 - wlect DISTRIBUTION: Minor optimizations.

 - Updated internal prefix database.

 - Tool wstrt: Option --add-section=PATH supports now wildcards. In this case
   PATH is used as search pattern and all found files are added. In order to
   use this variant, the calling shell must not interpret the wildcards.
   Therefore, PATH must usually be enclosed in single or double quotes.

 - Bug fix: Option --all-ranks accepts keyword RESTORE now. Due to a spelling
   mistake, only RETORE was recognized so far.

3.   szs v2.28a.beta2 r8627 - 2022-08-06

 - There is a new LEX section called "FEAT". It declares the special features
   of a track file. CTGP-R uses this declaration to manage ghost.
    - Command "wszst FEATURES" prints the feature list to standard output.
    - Command "wlect CREATE FEAT" creates a LEX template with section FEAT.
    - Patching option --lex-features adds or updates LEX section FEAT if any
      relevant feature is set.
    - Patching option --lex-rm-features removes LEX section FEAT.

 - Continuing the implementation of wlect DISTRIBUTION:
    - Fixed a use after free bug (Cygwin only, fixed with r8614).
    - Export of prefix list supports color_index now.
    - Improved filename normalisation (Cygwin only).
    - The file formats LE-REF and LE-DIS changed. They are *NOT* compatible
      to v2.28a.beta.
    - Support of lap count and speed factor for file formats LE-DEF and LE-REF.
    - New instruction: SEPARATOR=string. Define a separator that is used by
      other instructions (e.g. COPY=).
    - New instruction: SPLIT=DEST,SRC,FORMAT.
      Visit for details.

 - New option: wszst SPLIT --printf=format: Use the split filename to create
   a formatted string. See for details.

4.   szs v2.28a.beta r8612 - 2022-07-09

 - There is a new property for parsing the command line. In a preliminary
   step, the options "-@FILENAME" (1 argument) and "-@ FILENAME" (2 arguments)
   are searched. Each occurrence is replaced by the contents of file FILENAME,
   which again may contain "-@...". The maximum recursion depth is 10.
   Wildcard patterns are not resolved.

 - New command for all tools: EXPAND: All parameters are treated as a filename
   with wildcards and all matching files are searched.

 - New command: wszst SPLIT: Analyse (file) names and split them into the
   different parts. Print the results in machine readable format.

 - Command wlect CREATE re-implemented. Type 'wlect create help' for details.

 - New command: wlect DISTRIBUTION: The command manages data for LE-CODE track
   distributions. It reads any number of source files with different file
   types, collects the data and creates any number of files with different
   file types. Type 'wlect distribution' without arguments to get details.

 - New file formats to support wlect DISTRIBUTION: LE-DEF, LE-DIS, LE-REF,

5.   szs v2.27b r8534 - 2022-05-22

 - Bug fix for scanning DEBUG-* sections of LPAR.txt: Parameters ITEM-POINT and
   KCL-TYPE were not recognized.

6.   szs v2.27a r8529 - 2022-05-13

 - New parameter for LEX section SET1: START-ITEM: Declare that a player can
   get an item through an item box before race start.

 - wszst ANALYSE: LEX:SET1:START-ITEM is recognized and evaluated.

 - wstrt PORT+WHERE: Use new option --upper (-U) to force upper case digits in
   hex numbers.

 - wstrt PORT: Ported cheat codes are always printed with upper case digits
   and without 0x prefix.

 - wstrt PORT: Porting database updated. Many false records removed by
   updated generator script.

 - Fewer program crashes when reading faulty SZS files.

 - New section [SETUP-ARENA] for LE-CODE definition files: Define music and
   property slots for battle arenas.

 - New global option: --warn=LIST (short -W LIST): Enable or disable warnings.

 - New command: wkclt SHA1: Print a SHA1 checksum of the KCL for each source.
   The checksum is calculated after patching.

 - New command: wkclt TYPES: Scan KCL types from command line in different
   variants and print the result as flag, type, value and groups W, X, Y & Z.

 - New command: wszst IS-TEXTURE: Test tracks to see if it's a texture hack.

 - wszst ANALYZE: Detect goombas with scale other than 1.00.

7.   szs v2.26a r8462 - 2021-05-08

 - wstrt PORT & wstrt WHERE:
    - Address scanning: If an address starts with letter 'm' or 'M' (main.dol)
      or 's' or 'S' (staticr.rel), then it is interpreted as file offset.
      If an address without prefix is exact 6 characters long, then value
      0x80000000 is added. This makes cut+paste from cheat codes easier.
    - New option: --no-0x (short: -0): Suppress 0x prefix for hex numbers.
    - New option: --long (short: -l): Print file offsets too.

 - wstrt PORT:
    - Bug fix: Wrong column was highlighted when region order was changed by
      option --order.
    - Internal porting database updated.
    - New option: --port-db=file: Load the specified update file and replace
      the internal porting database.

 - wstrt DUMP: More details for StaticR.rel files.

 - New command: wszst INSTALL: Install files to the shared directory.

8.   szs v2.25a r8443 - 2021-04-24

 - Bug fix: If creating a LPAR file, a parameter with name ITEM-CHEATS was
   printed. But tool wlect accepted only ITEM-CHEAT (without leading 'S').

 - Bug fix: Since previous version the tools recomended slots 3.1 + 6.2 + 7.1
   for some tracks.

 - New command: wstrt WHERE address...: The segment in which the specified
   addresses are located is calculated for each region.

 - New command: wstrt PORT ...: Port addresses from one region to all others.

 - Mac support improved. Universal binaries for x86_64 and arm64.

 - Support of LE-CODE build 29.

9.   szs v2.24a r8414 - 2021-04-07

 - The tools support a configuration file now to define different paths.
   Therefor the file "wiimms-szs-tools.conf" is searched in different
    - Option --config=file allows to define a specific config file.
    - Command CONFIG (available for all tools) prints an information about
      searching and the final settings.
    - wszst CONFIG can export configuration settings for scripts.
    - wszst CONFIG can create new or updated configuration files.

 - wszst ANALYZE:
    - Behavior changed for item position bug.
    - Print item position factors.
    - New warning if minimap is missed.
    - Detect AIParam.

 - Support of LE-CODE build 28.

 - Speedometer settings changed. It is either disabled or enabled with or
   without fraction (up to 3 digits).

 - wlect option --speedometer=modus accpets now parameters OFF, AUTO, ON,

 - LE-CODE supports debug output while racing. LPAR parameter DEBUG, LPAR
   sections [DEBUG-*] and wlect option --debug define the output format.
   See for details.

 - Wiimm's Item Cheat has been integrated into LE-CODE. It is enabled by a
   LPAR setting and supports Wiimote+Nunchuk, Classic Controller and GCN
   Controller for all 4 regions.

 - Bug fix for CT-CODE/LE-CODE configuration file: In v2.21a command 'S' was
   modified to accept 16 bit slot numbers. And here a copy bug is fixed now.

 - Mac: Universal binaries for i386, x86_64 and arm64.

10.   szs v2.23a r8357 - 2021-02-03

 - Bug fix for option --le-define=FILE, if FILE is a lecode binary. In this
   case, the special functions of chat messages are copied now.

 - wszst ANALYSE: Detection of additional files (like ObjFlow.bin) that have
   not been changed.

 - MAC support improved.

11.   szs v2.22a r8323 - 2020-12-26

 - KMP/AREA: The table layout of text output changed. Therefor parameter
   @REVISION is important to select the correct scanning mode.

 - KMP/AREA: Detection of "Conditional Out of Bounds".

 - Bug fix for tool wlect: Coping/Moving/Linking source file with options
   --copy-tracks, --move-tracks and --link-tracks failed for *_d.files.

12.   szs v2.21a r8311 - 2020-11-30

 - Windows only: 32 bit and 64 bit versions of Cygwin are supported now.
   The 64 bit version is recommended.
    - 32 bit version: Cygwin DLL 3.0.7 / 2019-04-30
    - 64 bit version: Cygwin DLL 3.1.7 / 2020-08-22

 - Support of LE-CODE build 25:
    - Speedometer support for LPAR-files.
    - New option for wlect: --speedometer=off/on

 - Again fewer program crashes when reading faulty SZS files. 

 - BMG supports little endian files now, but only encoding UTF-8 was checked.
   I need example files to verify other encodings (CP-1252,UTF-16,SHIFT-JIS).

 - KCL/OBJ: Faces with any number of vertices are accepted now. Before there
   was a limit of 50 vertices.

 - Bug fix for CT-CODE/LE-CODE configuration file: Command 'S' stored a slot
   number as single byte, so that only values between 0 and 255 were possible.