prevnext   » SZS: Wiimms SZS Tools » SZS Change Log

SZS Change Log

Contents

1.   Current working copy

 - KMP text parser extensions:
    - New commands:
       @INCLUDE "filename": include text files.
       @RETURN [val]: returns from the current input file.
       @EXIT: exit the parser execution.
       @ASSERT condition: exit execution, if 'condition' is false.
       @MACRO .. @ENDMACRO: Define named macros.
       @FUNCTION .. @ENDFUNCTION: Like @MACRO, but can also be used as
	  function in numerical expressions.
       @CALL macroname(...): Call a previos defined macro with parameters.
	  '@:macroname(...)' is a short cut for '@CALL macroname(...):'
       @DOIF (condition) anytext: Execute 'anytext', if 'condition' is true.
    - New private variable name space: @PDEF
       - P-Variables are only defined for the current source file or function.
       - Loop variables (@FOR,@FOREACH) and macro parameters are defined in
	 this new private name space.

 - New options for command FUNCTIONS (list parser functions):
    - Option --long: The entered keys are compared against the description.
    - Option --verbose: The description is printed too.

 - Bug fix: Parser function minMax() returned wrong results.

2.   szs v0.33a r3627 - 2012-05-02

 - Because of an update of the internal object & file database, redo the
   command "wszst AUTOADD ./path_to/Race/Course/" to add more files to the
   autoadd database -> see http://szs.wiimm.de/doc/autoadd for more info.

 - wszst CHECK: Detect "optional files".

 - KMP: New command '@HSNAP-TO-ENPT' is similar to '@SNAP-TO-ENPT', but
   ignoring the vertical value of the enemy points.

 - The text parser supports 5 kinds of nested loops (EXPERIMENTAL):
     @LOOP    ... @ENDLOOP   : umlimted loop
     @REPEAT  ... @ENDREPEAT : loop with a predefined repeat count
     @FOR     ... @ENDFOR    : classical 'for' with iterator variable
     @FOREACH ... @ENDEACH   : for each element in list
     @WHILE   ... @ENDWHILE  : classical 'while' with condition
   There are also conditional @BREAK and @CONTINUE.

 - The KMP syntax and semantics documentation is now online available:
    -> http://szs.wiimm.de/doc/kmp/syntax
   The inline documentation in decoded KMP files is now much shorter.

 - Command SYNTAX removed. Use page http://szs.wiimm.de/doc/syntax instead.

 - The backtracking algorithm for analyzing of CKPH + ENPH + ITPH pathes has
   been modified and optimized, because a test version of "Toad's Turnpike"
   has 105 ITPH groups and needs much to much steps and time to calculate
   about 10^28 pathes total.

3.   szs v0.32a r3593 - 2012-04-14

 - Bug fix for option --auto-add: Sometimes a segmentation fault appeared when
   auto adding a missing subdirectory for a missing file.

 - New command: wimgt COPY  
   Copy and convert source image to dest image. The default destination file
   format is selected by scanning the file extension of the destination.
   This is an alternative for the ENCODE and DECODE commands.

 - KMP parser: @DEF.ENUM and @GDEF.ENUM define enumerated values.

 - KMP parser: @DEF.SHIFT and @GDEF.SHIFT define shifted bit masks.

4.   szs v0.31a r3579 - 2012-04-06

 - Bug fix if BRRES sub file is cutted into sections:
   Wrong size calculation of last section, if section type is unknown.

 - BTI support:
    - All tools and listing commands: Detect BTI files and print details.
    - wimgt: Can now convert TPL, TEX, BTI, BREFT and PNG into all directions.
    - wszst: Decode and encode BTI files on the fly.

5.   szs v0.30a r3548 - 2012-03-10

 - There is a new BRRES subfile iterator. The old one is very strict and do
   wrong things with BRRES strings and names while extracting some custom
   tracks (Nintendo tracks work fine). The new one is more tolerant and runs
   better on custom tracks. Now you can extract and repack every track.
   Use option --OLD to activate the old iterator.

6.   szs v0.29b r3528 - 2012-03-02

 - Bug fix for "wszst CHECK": There was a crash with core dump if analyzing
   a SZS without valid KMP.

7.   szs v0.29a r3515 - 2012-02-28

 - KMP/GOBJ @SORT-OBJECTS=mode: The KMP compiler can sort objects in 2 ways.

 - KMP/POTI: There are new transformation commands with changed syntax and
   semantics. They are now identical to the global transformation options.

 - KMP/POTI: Command @REVERSE-ORDER reverse the order of points of a route.

 - Command 'wkmpt OBJECT --long' lists all needed files for each object.

 - Minimal support (detection only) for file type BRASD.

 - AUTO-ADD database: Object dependent KCL and BRASD files added.
   Please redo: "wszst AUTOADD ./path_to/Race/Course/"

 - New command: wszst TRACKS: Print a list of all known track SZS files of
   Mario Kart internal directory './Race/Course'. These files are 32 standard
   track files, 10 arena files, and 9 other files.

 - KMP/CKPT: The KMP compiler is able to make check points visible by using
   and scaling global objects. The interface has changes to allow different
   viewing modes (forget the old settings). See built in help for details.

 - New Command: wszst CHECK: Make a validity check for track files: Try to
   read KMP (and check it) and find unknown, modified, needed and unneeded
   files. This command uses a new internal object and file database.
    - HINT: Unknown file:     This will is not part of any Nintendo track.
    - HINT: Additional file:  Known file with unknown usage.
    - HINT: Modified file:    This file is different to Nintendo tracks.
    + WARNING: Missing file:  This file is needed/used (by an object).

8.   szs v0.28a r3463 - 2012-02-20

 - New command: wszst AUTOADD: Show the status of a auto-add archive and add
   BRRES, BREFF and BREFT files to it.
   Try "wszst AUTOADD ./path_to/Race/Course/" to add all supported files.

 - New option: --auto-add (short: --aa): Analyze the KMP (if exist) and add
   missing BRRES files automatically, if the tool can find the files in any
   sub directory named 'auto-add'. This sub directory is searched in all
   directories of 'SEARCH_PATH'; try 'wszst AUTOADD' to view them.

 - New command: wszst CHECK: Check track files: Try to read KMP (and check it)
   and find missing BRRES, BREFF and BREFT files needed by used global objects.

 - KMP/CKPT: The KMP compiler is now able to make check points visible by
   using and scaling any global object. For details read the built in help.
   If enabled, option --auto-add is implicitly set.

9.   szs v0.27a r3437 - 2012-02-14

 - KMP, sections JGPT+CNPT+MSPT: If parameter '@SNAP-TO-ENPT' is set to a
   numeric value, then all points will be moved to the nearest point of the
   ENPT section plus the entered value. The horizontal direction (Y-rotation)
   is calculated to point to the next ENPT point, section linking is observed.

 - KMP: Command '@ROUTE-ITEMBOX' is now avaialable for sections ENPT, ITPT,
   JGPT, CNPT, MSPT and POTI.

 - wszst EXTRACT: New option --ext or -e (for BRRES archives only): If a file
   is extracted, add a handy file extension (like '.mdl') to the file name.
   If set twice and a textual file magic is available, use the file magic in
   lower case instead (like '.mdl0').

 - wszst CREATE: If creating a BRRES archive, the new file extensions (see
   above) are detected and removed.

 - wszst+wkmpt: More KMP checks.
   See http://szs.wiimm.de/cmd/wkmpt/check#desc for a complete list.

10.   szs v0.26a r3415 - 2012-02-04

 - New general parser functions: dot(), cross(), unit().

 - New KMP specific parser functions: enpt$hDir(), enpt$next(), itpt$hDir(),
   itpt$next(), stgi$byte().

 - An online function reference is also available:
    -> http://szs.wiimm.de/cmd/functions#desc

 - Bug fix: If scaling, the calculation of column 'scale' of sections ENPT
   and ITPT were wrong.

 - KMP/STGI table format changed to support 'pole position' and 'narrow'.

 - Command FILETYPE: Accept --long to print an additional column with the
   decompressed file type.

 - wszst EXTRACT supports now --cut and stores the cutted peaces of files
   into hidden directories.

 - wszst EXTRACT supports extraction of BRRES sub files and all other file
   formats, that supports the --cut option.

 - New command for all tools: FILEATTRIB: Print out a table with all supported
   file types and operations.

 - First KCL support:
    - New tool: "wkclt" with command DECODE (convert to obj like the
      KCLexporter of `blank').
    - Tool wszst: If decoding is enabled, convert KCL to an obj file.
    - Support for option --cut.

 - wkmpt+wbmgt ENCODE: Wrong automatic file extensions fixed.

 - New option for all tools: --chdir: Set a new working directory for all
   following options, for all parameters and for the execution.

11.   szs v0.25a r3321 - 2011-12-31

 - The transformation options are now a little bit easier to handle:
    - The execution order is now --scale before --shift before --hrot.
    - New options for easier scale and shift setup: --xss, --yss and --zss.
      => The user must select 2 points and make a note of the coordinates in
	 the old and in the new model. Then he must enter the coordinates as
	 parameters like --xss x1old,x1new,x2old,x2new and the scale and shift
	 values are calculated automatically.

12.   szs v0.24a r3316 - 2011-12-30

 - Feature to debug routes: The KMP compiler can automatically define
   itemboxes for route points of the sections ENPT, ITPT and/or POTI.

 - New commands: "wszst+wkmpt SYNTAX": Print out the generel syntax rules
   for the text parser and compiler.

 - Several bugs of parser functions fixed and some new functions added.

 - Object DB updated.

 - New feature: KMP transforming
   The tools wszst & wkmpt support the new options --shift, --scale and
   --hrot. With this options all position, size and rotation parameters
   of a KMP can be transformed. The transformation is supported by nearly
   all data commands like DECODE, ENCODE, CREATE, EXTRACT and NORMALIZE.

 - wszst LIST/MEMORY/EXTRACT/UPDATE: Support of RARC and ARC files.
   Creating a RARC file is not supported yet.