SZS Change Log
1. Current working copy (not released)
- wszst/wkmpt CHECK: Hints about self linked item routes and item routes with
exact 1 point. A warning is printed when both events apply for same route.
2. szs v2.17a r8204 - 2020-05-12
- Command wszst DISTRIBUTION: New track attribute FILL to mark a track as
filler (some tracks are needed to fill the last cups).
- LPAR BLOCK-TRACK: Block previously used tracks for the next 0-50 races.
- LPAR: More chat messages and up to 2 modes for each chat message.
- Object files of CommonObj*.szs are included into the internal object
library and added to auto-add library.
- Objects 'VolcanoPiece', 'bblock' and 'RM_ring1': Setting #1 is evaluated to
find missed files. This has impact to command CHECK and option --auto-add.
3. szs v2.16a r8184 - 2020-04-09
- All commands, that create LPAR files, accept option --no-header (-H) and
option --brief (-B) now.
- More built-in explanations in new LPAR files.
4. szs v2.15a r8176 - 2020-04-03
- KTPT is not longer used to find values outside range +-131071 where items
can not be used online.
- Text parser: Fixed different bugs for data type 'string'.
- Slot recommendations now ignore the objects deactivated by presence flags.
- Chat in private rooms: Each special function can be assigned to any chat
message, and also to more than 1 message. Before, the function werde hard
coded to some messages. Current modes:
- Host selects track.
- Karts or bikes only.
- Force engine class.
- Select number of races between 1 and 512.
- Support of new text file format LPAR to manage LE-CODE parameters by file
instead of options. This includes the support of the new parameters for
chat message modes:
- wlect CREATE lpar: Create a standard LPAR text file.
- wlect LPAR: Read LE-CODE binary and export the parameters as LPAR file.
- wlect DUMP: New section for "Special chat messages".
- Option --lpar: Read a LPAR file to patch the current settings.
5. szs v2.14a r8160 - 2020-02-29
- KMP text processor: Settings of definition objects are printed in hex now.
- Bug fix for KMP text parser: It created incorrect conditions if definition
objects were defined in combination with $DISABLE or $ENABLE commands.
- Bug fix for wstrt option --add-section=GCT: Crashed for some invalid cheat
codes (Cygwin only).
- Recommendation for option --shift item pos factors (LEX:SET1) optimized.
- wimgt COPY: Option --overwrite is set implicitly now.
6. szs v2.13a r8146 - 2020-02-15
- XPF: Added support for negation flag of references to definition objects.
- New keywords for option --kmp:
- RM-LECODE: Remove all objects from section GOBJ, that are only relevant
for LE-CODE. The result is a minimized section for standard code.
- PURGE-GOBJ: Remove all objects from section GOBJ that are neither a
valid object nor a definiton object for LE-CODE.
- wszst ANALYSE + Check KMP: Analysis of KTPT, ENPT and ITPT to find values
outside range +-131071 where items can not be used online. Additionally a
recommendation for using option --shift and/or LEX section SET1 is printed.
7. szs v2.12b r8135 - 2020-02-09
- Bug fixes for LEX parser:
- Section TEST: Parameter @ENGINE wasn't implemented.
- Symbols LEX$OO_AUTO and LEX$GM_AUTO were not defined.
- New option: --lex-purge: Delete LEX sections without any impact. Delete
sub-file course.lex if it no longer contains a section.
- Tool wstrt option --clean-dol: HTTPS modifications are now also reset.
8. szs v2.12a r8129 - 2020-02-07
- Parser: Bug fix for shift-right operator if shifted value is an integer.
- If using --force or --kmp=force, the KMP scanner ignores the size stored in
the file header and uses the file size instead.
- New command: wkmpt diff: Compare the KMP of two or more sources (KMP,
KMP-text or SZS). Each KMP will be converted into the internal format,
fixed and patched controlled by options. The known sections are compared,
some of them sorted before.
- New option to support wkmpt diff: --diff=list: List of KMP sections names
that should be compared. Additional keywords possible.
- New option to support wkmpt diff: --epsilon=float: When comparing floating
point numbers, 2 numbers are considered identical if their difference is
less than or equal to epsilon.
- New option: --repair-xpflags: Load a KMP file and use it to repair the
settings of the extended presence flags, if they are destroyed by another
KMP tool. --repxpf is a short cut for this option.
- Option --auto-add was broken for objects, if flags (bits 10-12) were set.
Bit 12 is used by extended presence flags (XPF).
- Support of random selections of KMP/GOBJ objects:
- 6 random scenarios supported.
- New keyword for option --gamemodes: RANDOM.
- Command wkmpt GAMEMODES can list and command wszst DUPLICATE can create
up to 1573 variants now.
- Added a LEX/TEST parameter to force a random mode for testing.
- New LEX section SET1 for various settings. The first parameter defines 3
factors to increase the range for items outside -131071 and +131071.
- New LEX section HIPT: Define places, where the position tracker is hidden.
9. szs v2.11b r8079 - 2020-01-20
- XPF, hard coded conditions: New conditions added. Gaps in list removed.
Order changed. These changes invalidate binary KMP files with hard coded
conditions created by previous v2.11a.
- Small text corrections in the new texts of the previous version.
10. szs v2.11a r8074 - 2020-01-18
- wszst ANALYSE --sh --array: Output format fixed.
- New keywords for option --filter-bmg: ALLCODE, ALLCUPS, ALLTRACKS,
ALLARENAS and ALLREFS.
- The optional parameter of option --le-code (LE-CODE phase) is deprecated
and ignored. From now on, option --le-code always enables LE-CODE (phase 2)
and CT-CODE support.
- Deprecated and useless option --smart removed.
- KMP/GOBJ, ID: Support of objects flags in bits 10-15 (0xfc00) for LE-CODE.
- File course.lex: Support of new section TEST. It forces game modes like
"Online, 12 players, itemrain" to test them in standard offline versus.
- wlect CREATE: New keywords. Call the command without keyword to get a list.
- wszst+wlect: New options to create, modify or delete course.lex and/or LEX
section TEST: --lt-clear, --lt-online, --lt-n-players and --lt-game-mode.
So patching a track file to test special conditions becomes easy.
- General support of 'extended presence flags'.
- KMP/GOBJ: Detect definition-objects and references.
- New commands for KMP/GOBJ for easier handling: $DEFOBJ-RACE and
$DEFOBJ-BATTLE define a definition-objects. $REFERENCE defines a
reference (ref_id and mode=1) for the previous defined object.
- Hints and warnings about extended objects.
- New command: wkmpt GAMEMODES: Analyze the presence flags combinations with
and without extension support and print a list.
- New command: wszst DUPLICATE: It reads a single track file and duplicates
it several times. Therefor it analyzes the presence flags combinations with
and without extension support and creates one file for each relevant
scenario. A LEX section TEST will be inserted to force the execution mode
for offline tests.
- New option for commands wkmpt GAMEMODES and wszst DUPLICATE:
--gamemodes=list: Select game modes for the list.
- See http://wiki.tockdom.com/wiki/Extension_of_Presence_Flags for details
about the new Extension of Presence Flags.
- Scanning a KMP file now takes into account the new information about the
length of the file header.
11. szs v2.10a r8023 - 2019-11-23
- Command wszst TRACKS: More options.
- Command wszst ANALYZE: More results.
- wszst ANALYSE + Check KMP: Analysis of KTPT, ENPT and ITPT to find values
outside range +-131071 where items can not be used online.
- Text export of ItemSlot.bin: A comment column with row summaries added.
- Cygwin (Windows) version: Updated color support again.
12. szs v2.09a r8000 - 2019-09-24
- BMG section "STR1" detected, but not supported. Metrics are displayed.
- Commands wszst BINARY/TEXT: Full support of files minigame.kmg and
ItemSlot.bin (binary and text).
- Command wszst ANALYZE returns 5 different SHA1 checksums now.