Ir a contenido


No te pierdas nada a la vez que nos apoyas desde las redes sociales.

Últimos comentarios

Información del archivo

  • Añadido el: Jun 02 2013 18:07
  • Actualizado el: Jun 02 2013 18:07
  • Tamaño: 5.3MB
  • Visitas: 704
  • Descargas: 281

Descargar Wiimms SZS Tools 1.19a

*******    Wiimms SZS Tools v1.19a - 2013-06-02   *******

Wiimms SZS Tools (SZS) is a command line tool set for linux and for other
unix like operating systems including Cygwin. The tools manage SZS files.

The only tool is:
  wszst : Wiimms SZS Tool manage SZS files.

The software is developed under the GPL 2.0 license. See file gpl-2.0.txt
or for details.

The most current source is available under:
The source of this revision (4461) is available under:
You can also checkout the SVN repository:

See for announcements and discussions.

*******    HISTORY v1.*   *******

szs v1.00a r3958 - 2012-07-14

- wkmpt COBJECT --draw=modelist:
- Mode 'JGPT': Draw arrows at respawn positions.
- Mode 'CJGPT' does what the old 'JGPT' did: Draw connections between
  check points and respawn positions.
- Mode 'CNPT': Draw arrows instead of lines.
- New command "wszst MINIMAP": Print and optional patch the releavant minimap
   data of a SZS, U8, BRRES or MDL file. Supported patching options: --touch,
   --xcenter, --ycenter, --zcenter, --center, --scale, --shift, --xss, --yss
   and --zss.

szs v1.01a r3987 - 2012-07-22

- Command "wszst MINIMAP" can now automatically adjust the minimap, if the
   new option --auto is set. It analyses MDL section 2 (vertex list) to find
   the minimum and maximum values. Then it makes the ranges 4% wider, store
   the calculated values in 'posRU' and 'posLD' of the MDL and calculate the
   transformation matrices. The command is very flexible and can modify the
   map of SZS, U8, BRRES and MDL0 files.
   See for details.

szs v1.02a r3992 - 2012-08-01

- KCL: Detect invalid triangles (e.g. length=0) on OBJ import.
- Option --kcl: There are now 2 groups of removing commands:
- 'DROP*' drop unused, invalid or fixed triangles (bad triangles).
- 'RM*' remove triangles with special characteristics. At this moment
RM-FACEDOWN is the only command of the 'RM*' class: It will remove all
face down drivable triangles to avoid KCL glitches.
- File DB: Sub files 'kinoko_*.kcl' are now assigned to object group 'kinoko'.
- Update of the KMP Object database.

szs v1.03a r4002 - 2012-08-11

- New global option: --force: The tools analyse input files and reject files
   with invalid data structures. If --force is set, little repairable issues
   are ignored or repaired and a warning is printed.
- Option --kcl: If no 'DROP*' mode is set, the tools drops automatically all
   bad triangles. For an existing octree, it is only 'DROP-UNUSED'.
- Option --kcl: Correct handling, if 'DROP-UNUSED' and 'NEW' are set together.
- wszst MINIMAP --auto: The Y-translation is also calculated to make very
   high faces visible.

szs v1.04a r4050 - 2012-09-08

- Bug fix for v1.03a: With some option combinations, the KCL generator failed
   and created an invalid KCL (if modifying an existing KCL) or a valid KCL
   with some unwanted triangles (if importing from OBJ).
- Option --kcl: Better handling of DROP modes.
- Option --kcl: Correct handling, if 'DROP-UNUSED' and 'NEW' are set together.
   (Same message as before, but now I have fixed one forgotten special case).
- "wszst CHECK" will now compare the number of cannons in KCL and KMP.
- New option: "wszst NORMALIZE --minimap": If --minimap is set, the minimap
   is automatically adjusted like "wszst MINIMAP --auto" does it. All other
   options like --scale are ignored for this kind of minimap processing.
- New option: "wszst minimap --set-flags=flags": Set the MDL flags to an user
   defined value (default 0x31f).
- The tools accept now 'Yaz1' files in the exact same manner as 'Yaz0' files
   hoping that the data structure and the compression method are the same.
- New options: --yaz0 and --yaz1: Force the magic of new created YAZ files
   to 'Yaz0' or 'Yaz1'.
- Object database updated.

szs v1.05a r4097 - 2012-09-29

- For text files, only the first 4 characters are used as magic ('#BMG'
   instead of '#BMG-TXT'; same for '#KCL', '#KMP' and '#MDL'). On creation
   a 8 character magic is still written for compatibility.
- Update of the KMP Object database.
- Files './AIParam/AIParam.baa' and './AIParam/AIParam.bas' are now known by
   the internal file database.
- Some optimizations around the KCL octree creation. This includes a new
   handling of automatic dropping of invalid KCL triangles.
- Some minor text and layout changes.

szs v1.06a r4110 - 2012-10-06

- Bug fix: "wkclt COPY" printed always a false syntax error after correct
   finishing all copy jobs.
- Bug fixes for "wszst NORMALIZE":
- BRRES files will not touched now.
- Memory bug, if rebuilding the KCL.
- wszst CHECK will now make slot proposals with comments:
- Slots 3.1 and 7.1: Check usage of KMP objects 'sunDS' and 'pylon01'.
- Slot 4.2: Only the usage of at least one KMP object of 'kart_truck',
'car_body' or 'K_bomb_car' is done. An additonally MDL analysis is
missed, so the status is only "may run on slot 4.2".
- Slot 6.1: Test the existence of file 'ice.brres' and of KCL flag 0x70.
- Slot 6.2: Check usage of KMP object 'HeyhoShipGBA'.
- New command: wszst SLOTS: Print the possible slots for a track file.
   The analysis is the same as for "wszst CHECK" (see above). The command
   prints either a positive or a negative slot list, whatever is shorter.

szs v1.07a r4137 - 2012-10-19

- "wszst NORMALIZE --kcl ...": In the old versions, the KCL was patched in
   place and the total size of the KCL was not changed. If the new KCL was
   larger, parameters were changes in up to 5 iteration steps until the new
   KCL was less or equal the old size. Now a complete new KCL is created with
   the optimal settings and the size may shrink or grow.
   If 'INPLACE' is added to the '--kcl list', the old behavior becomes active.
- wzszt CHECK: The logging of sub checks (KCL+KMP) is now better integrated
   into the main log and there is now only one summary line for all.
- KCL creation tuned.
- The auto-add library holds now also unique files of folder 'posteffect'.
   Try "wszst AUTOADD ./path/to/Race/Course/" to add all supported files.
- New archive format: WU8 (Wiimms U8)
   WU8 is like U8, but the sub files are coded as patch for Nintendos original
   files. This removes any code of Nintendo and a compressed WU8 (default) is
   in general smaller than the related SZS. For encoding end decoding an
   auto-add archive is needed (see
- Accept options --dest and --DEST for an alternative destination path.
- Accept options --u8 and --wu8 to define the new (W)U8-archive format.
- Object DB updated.

szs v1.08a r4148 - 2012-10-27

- All 3 commands support now U8 and WU8 conversions and accept the
  options --u8 and --wu8.
- Support of U8/WU8 conversions of non track files.
- All 3 commands support the new option --remove-src (or --rm-src) to
  remove the source files on success and if different to dest files.
- Better error handling of non existing files if --ignore is set.
- New keyword for option --kcl: If creating an OBJ file and 'TRIANGLES' is
   set, the triangles are not stored as vertices and faces. Instead each
   triangle is stored in an independent line. The OBJ file itself becomes
   incompatible (or invalid), because TRI lines are not supported by any
   other tool, but it  makes adding points or mixing OBJ files much easier.

szs v1.09a r4169 - 2012-11-11

- BZIP2 compression is now supported as alternative to Yaz0. It is dedicated
   to the WU8 file format for transferring files. BZIP2 files are smaller than
   Yaz0 files and the creation is faster.
- The new option --bz forces BZIP2 compression instead of Yaz0 compression.
- The new option --wbz is a short cut for --wu8 --bz.
=> To create a WBZ (WU8+BZ) file: wszst compress --wbz TRACK.szs
- The new option --szs is a short cut for --u8 --yaz0.
=> To create a SZS (U8+Yaz0) file: wszst compress --szs TRACK.wbz

szs v1.10a r4186 - 2012-11-17

- Bug fix: File type printing (e.g. "YAZ0.U8:filename") was reimplemented
   because of the new bzip compression, but with bugs.
- Command "wszst CHECK" will now accept option --verbose to print some more
   slot hints (negative info about slots 4.2, 6.1 and 6.2).
- New debug command for all tools: ARGTEST: Print all scanned arguments as
   list. This helps to find out wrong parameters, especially for windows.
- Cygwin (Windows): Filename handling improved. If using double quotes around
   a filename, backslashes work in a Windows usual way as directory separator.
- Cygwin (Windows): Windows 'SendTo' support added. It must be (un-)installed
   with the batch files 'sendto-install.bat' and 'sendto-uninstall.bat'.
   Available SendTo jobs:
- normalize-SZS.bat  : Normalize a file and convert it to SZS.
- convert-to-WBZ.bat : Convert a SZS file to a WBZ file.
- convert-to-SZS.bat : Convert a WBZ file to a SZS file.
- create-autoadd-library.bat : Use it with the extracted Race/Course
   folder to create the autoadd library. It is needed for WBZ conversions.
- New option: --number or --num: If a destination file already exists, append
   a number directly before the file extension to make the filename unique.
   If other numbered files already exist (ignoring case), use the maximal
   existing index+1. Option --number is ignored if --overwrite is set.

szs v1.11a r4205 - 2013-01-01

- If creating the KCL file, the world will be enlarged by the KCL_BLOW value
   to avoid problems at the world border.
- New parameter for KCL/octree fine tuning: KCL_MAX_SIZE:
   Cubes, that are larger than KCL_MAX_SIZE, will always be splitted into 8
   sub cubes and will never have triangle lists. The maximum and default value
   for KCL_MAX_SIZE is 1024*1024 (~1 million).
- New flag for --KCL=list: CENTER: If creating a new octree, adjust the cube
   entrance values so that the real world is centered in the cube world.
- Some old and for a long time obsolate keywords removed.

szs v1.11b r4214 - 2013-01-20

- Bug fix: If creating a TEX0 file, the float number at offset 0x14 in the
   TEX header was wrong (1 to large). The result were artifacts.
- Small updates of the object DB.

szs v1.12a r4236 - 2013-02-09

- Windows version only: Update to Cygwin v1.7.17
- wstrt TRACKS+ARENAS: The index column shows now the internal zero based
   track index of the track or arena instead of a simple track counter.
- wstrt FIND -lll: Additionally print the slot index and the internal index
   (both zero based) before the file names.
- New command: wbmgt CAT: Print decoded BMG files to stdout. If a source is
   a SZS file and no subfile is entered, subfile './message/Common.bmg' is

szs v1.12b r4246 - 2013-02-23

- Bug fix: The KCL cannon activator was internally handled as drivable type.
   So it was wrongly a deletion candidate for --kcl=RM-FACEDOWN.
- Object DB updated.

szs v1.13a r4258 - 2013-03-01

- New option --rm-aiparam (short cut: --rmai): If set, the directory AIParam
   and all files are removed from the archive. This option has only impact,
   if creating a new archive or normalizing an existing archive.
- Command wszst NORMALIZE: Logging changed.

szs v1.14a r4274 - 2013-03-14

- wkmpt CHECK (and all commands calling this function internally):
   4 new tests for sections CKPH, ENPH and ITPH:
- The section must not be empty (WARNING).
- Only ITPH: The first 'next' link must be valid (WARNING).
- Each group must have at least one valid 'next' link (WARNING).
- Each group must have at least one valid 'prev' link (HINT).
   See for all tests.
- Option --kcl-script can now be used multiple times to execute multiple
   kcl script in the entered order.
- Two new parser functions to identify the source within a script: isKCL()
   and isKMP(). Both functions return 0 for false, 1 for true or 2 for true,
   if the source is named 'course.*' (main KCL/KMP file).

szs v1.15a r4300 - 2013-03-28

- New docu file: INSTALL.txt
- Mac+Linux+Unix: Script '' will call itself with 'sudo' if not
   started by user 'root'. Read INSTALL.txt for details.
- Windows: Cygwin updated.
- Better detection of UTF-8 files with byte order mark (BOM). Tool wbmgt will
   accept those files now.
- Bug fix: wbmgt CAT: The option --patch is now processed.
- Bug fix: wbmgt ENCODE: Wrong file naming fixed.
- Bug fix: Option --kcl: If no 'DROP*' mode is set, the tools drops all bad
   triangles automatically. For an existing octree, it is only 'DROP-UNUSED'.
- Check KCL+KMP: The checks are now done after patching.
- New option --kmp=modes: It works like --kcl=modes to define KMP jobs and
   modes. The first modes are:
- NEW : Scan KMP and create a new one.
- RM-SPCITEM : Clear 'special items for players' setting of the 6 item box
   object types.
- FIX-CKPH   : Fix the section CKPH.
- FIX-ENPH   : Fix the section ENPH.
- FIX-ITPH   : Fix the section ITPH.
- INPLACE : Force inplace replacing of KMP files (old mode).
- LOG : Debug: Enable KMP specific logging.
   The fix modes are EXPERIMENTAL!
   See for details.

szs v1.16a r4313 - 2013-04-08

- Bug fix for BTI detection (reduce false positives).
- wkmpt COBJECT --draw=ckpt: Draw lines to next point and to point linked
   by the 'next' member.
- New command: wszst ENCODE: Works like wszst CREATE, but will not create a
   first level archive. The intension is to create and update all subfiles.
   'wszst ENCODE' can be used as a prepararion before using 'wszst UPDATE'.
- New mode for --kmp: FIX-CKNEXT: Automatic calculation of the 'prev' and
   'next' links of KMP section CKPT.
   See for details.
- Slot 4.2 detection: Improved 'moonview' detection, because MDL.s10
   'polygon11' and 'polygon60' are searched and their size is checked.
- Command 'wszst SLOTS': Slots are assigned to output columns now.
- Windows 'SendTo' commands: Fix handling of filenames with spaces.
   Reinstall the SendTo files with 'sendto-install.bat'.
- New Windows 'SendTo' commands:
- clean-KCL-of-SZS: Normalize a SZS, drop unneeded KCL triangles and
  rebuild the KCL octree.
- adjust-minimap: Adjust the minimap of SZS, BRRES and MDL files.
- Object DB updated.

szs v1.17a r4358 - 2013-04-23

- Moonview slot proposal optimized.
- KMP check: Print a hint, if 200 or more global objects are defined.
- Option --fast overrides compression rates set by --norm or --compr=list.
- New --kcl mode: FIX-ALL: Short cut for DROP,RM,NEW,LOG.
- New option: --autoadd-path=dir: Define a path for the auto-add library
   and override the default search pathes.
- New option: --mdl=list: Define a MDL patching method. VERTEX patching is
   used by default.
- New option for wszst: --patch-file=list: Define, which kind of KMP, KCL and
   BRRES/MDL files are objects for patching. The default is to patch only the
   main KMP and KCL files and the MODEL and MAP files. --pfile is a short cut
   for --patch-file.
- New name for option --hrot: --yrot
- New options: --xrot, --yrot, --zrot, --ypos: Options --xrot, --zrot and
   --ypos are really new for X+Z rotation and --yrot is only a alternative
   name for --hrot. See built in help for impact.
- New option: --translate: Works like --shift, but is done after the
   rotation. This is similar to the MDL transformations, that works in the
   order scale, x-rotate, y-rotate, z-rotate, translate.
- New command for testing: wszst MATRIX: Use the transformation options as
   base and calculate and print the related vectors and the tranformation
   matrices. Then execute the transformations for each vector (parameter).
- ATTENTION: Because of the new 3D rotation support, a new rotation
   algorithm has been implemented. Implementation bugs are not impossible.
- ATTENTION: All new patching options are EXPERIMENTAL!

szs v1.18a r4404 - 2013-05-01

- There is a complete new transformation algorithm: All transforming options
   will be used to create a transformation matrix. If using >1 transformation
   steps (see below), the matrices are multiplied to get a final transformation
   matrix. All transformations are now done using this final transformation
   matrix. This is faster and the internal handling is now much easier.
- New option --next: This option allows and separates up to 10 transformation
   steps. Logical, each point is transformed step by step in the definition
   order. Internally, a final matrix is calculated and all transformations are
   done in a single step by using this final matrix. There are some issues
   transforming KMP object, see for details.
- Command MATRIX is now available for all tools with transformation support.
   It was redesigned to control the impact of the new transformation steps.
- New option --rot=deg@origin: Define the rotations for 3 axes by one option.
- New option --arot=deg[@pt1]@pt2: Do an (axis) rotation around the axis
   specified by the 2 points as single transformation step.
   This option is EXPERIMENTAL! See
- New option --ascale=factor@dir: Do an (axis) scaling into the direction
   specified by the vector 'dir' as single transformation step.
   This option is EXPERIMENTAL! See
- KMP object database updated.

szs v1.19a r4461 - 2013-06-02

- wszst CHECK: Check existence of minimap bones 'posLD' and 'posRU'.
   Read for a list of all tests.
- Check commands: KMP objects with presence flag == 0 will be handled as
   non existent. This changes the missing files status and the slot proposals.
- KCL type names synchchronized to Wiki.
- Bug fix: If a function was searched and a const was defined with the same
   name, a `segmentation fault´ (or similar) occured.
- New command: wkmpt STARTPOS: Print the start positions of players in
   various formats. See for details.
- Patching option --kmp accepts now the keywords LEFT, RIGHT, WIDE and NARROW
   to modify the start options in section STGI.
- New global option --de: Use german track and arena names.
- Command FILETYPE --long: Column with version of file format added.
- wszst EXTRACT/CREATE: The version number of the archive file format is
   stored in and read from the help file 'wszst-setup.txt' to support version
   dependent file formats.
- Version numbers are printed in listings with version support.
- The file format version number is written to 'wszst-setup.txt' on
  extracting and read from read from 'wszst-setup.txt' on creating.
- The default aligning for BREFT files depends now on the version number.
  It is 0x20 for versions <10 (MKW=9) and 0x40 for versions >9 (NSMB=11).
  At the moment the new alignment for NSMB is not well tested!

Known bugs:

- Re-creating the files Track.szs, Race.szs and other language independent
   SZS files of MKWii directory './Scene/UI' will force a black screen. It
   seems, that there are unknown references between the files. Use the UPDATE
   command instead to replace single subfiles.
- Minimaps with an additional bones layer above 'posLD' and 'posRU' (e.g.
   for scaling) are handled incorrect if adjusting the minimap.

*******   END *******

comments powered by Disqus