Wiimms SZS Tools

From Custom Mario Kart
Revision as of 18:26, 6 July 2012 by Wiimm (talk | contribs) (v0.42a: KCL creation & wkmpt COBJECT)
Jump to navigation Jump to search
Wiimms SZS Tools
File:Wiimms-SZS-Tools.png
Author: Wiimm
Operating Systems: Linux (i386,x86_64),
Mac (ppc,i386,x86_64),
Windows (cygwin).
Software Type: SZS, BMG, KCL, KMP, StaticR.rel and Image Manager
Archive Formats: SZS, U8, RARC, BRRES, BREFF, BREFT.
File Formats: BMG, BTI, KCL, KMP, MDL0, TPL, TEX0, StaticR.rel, PNG, OBJ.
Current Version: 0.42a, 2012-07-06
Website: szs.wiimm.de

Introduction

Wiimms SZS Tools is a set of different tools to manipulate SZS, U8, RARC, BRRES, BREFF and BREFT archives and BMG, BTI, KCL, KMP, MDL0, TPL, TEX0 and StaticR.rel files. All tools are command line tools and run without any interaction. The tools are available for Linux, Mac and Windows. The main goal is to run them in batch files and scripts to automate recurring jobs. At the moment there are 6 tools:

  • wszst : Wiimms SZS Tool (handles SZS, U8, RARC, BRRES, BREFF and BREFT archives)
  • wbmgt : Wiimms BMG Tool (convert and patch BMG files in binary and text format).
  • wimgt : Wiimms Image Tool (convert and patch image files of Mario Kart Wii).
  • wkclt : Wiimms KCL Tool (convert raw KCL files from/into obj format).
  • wkmpt : Wiimms KMP Tool (handles raw and text KMP files, read text files like a compiler).
  • wstrt : Wiimms StaticR Tool (handles StaticR.rel files of Mario Kart Wii).

One main goal is the fully automated track name replacement. The tools together can do this. Another goal is to extract all sub files recursivley and transforming they into user friendly file formats (like text of png files) and support recreation of the original source files.

There is also an little How To.

History and Download

  • The KMP tool (command "wkmpt COBJECT") can now create OBJ files to have a 3D view of check points, enemy and item routes and also of cannon shoot and landing points. It is also possible to include the KCL.
  • The KCL creation has been improved. It seem to be necessary to include triangles of neighbor cubes into the triangles lists while creating the octree. This is now done and can be controlled by the constant KCL_BLOW and by the option --kcl=small or [url=http://szs.wiimm.de/doc/kcl#CHARY --kcl=chary].

If you have created a KCL with a previous version of my tools, use this command to create a new octree. The file course.kcl will be overwritten with a new and repaired version:

wkclt encode course.kcl --kcl drop,new --overwrite

Change Log

szs v0.42a r3927 - 2012-07-06

 - Linux+Mac: The math library is now included explicitly to avoid a linking
   failure on some systems.

 - Bug fix: Assigning values to private macro variables has overwritten
   existing variables in the standard or global namespace.

 - New parser command: '@PARAM': Define a parameter name list for macro and
   function calls.

 - 'ROUTE-ITEMBOX' replaced by a more flexible 'ROUTE-OBJECT'.

 - New command: wkmpt COBJECT: Create an OBJ file: Load the related KCL and
   add new faces representing the KMP elements are added. Enemy, item, check
   and respawn points and cannon destinations are supported at the moment.
   Option --draw=list decides which elements are included into the OBJ file.
   See http://szs.wiimm.de/cmd/cobject for more details.

 - New parser functions: mean(), dir(), xDir(), yDir(), zDir(), rot(), xRot()
   yRot(), zRot(), axisRot(), tri$createCuboid(), tri$createJoist(),
   tri$createPrism() and tri$createPyramid(). The tri$create*() functions are
   internally used to add KMP objects to the OBJ file.

 - New KCL creating parameter: KCL_BLOW: If calculating the overlay between
   cubes and triangles, the cubes are blowed up by the some units, so that a
   triangle may be visible in a neighbor cube. This avoids unexpected rarely
   effects like bike hopping. The default value is 400.
   See http://szs.wiimm.de/doc/kcl#KCL_BLOW for more info.

    * If you have created a KCL with a previous version of my tools, use this
      command to create a new octree: 
             wkclt encode course.kcl --kcl drop,new --overwrite
      The file 'course.kcl' will be overwritten with a repaired version.


szs v0.41a r3866 - 2012-06-24

 - Bug fix: The triangle split of a face with exact 4 verteces fails in 50% of
   all cases (bad optimization).

 - Bug fix: The parser expression "a?b:c" fails, if the operators not followed
   by a blank.

 - Bug fix for some parser functions.

 - Using a KCL for defining KMP positions:
   Now it is possible to set a point anywhere and let it fall down until a
   collision. This is a very good function to place global objects and other
   points of the KMP. This internal KCL-FALL is available for the user in
   different stages:

    - Command "wkclt FALL source point..." for testing.

    - Parser functions kcl$fall() and kcl$fallFlag() for scripts.

    - Automatic adjusting of KMP points and objects in the sections CNPT,
      ENPT, GOBJ, ITPT, JGPT, KTPT, MSPT and POTI.


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. Use the 
   UPDATE command instead.

Links

Tools Overview

wszst (Wiimms SZS Tool)

wszst is a command driven tool to manipulate archives:

  • Supported archive formats: SZS, U8, RARC, BRRES, BREFF and BREFT.
  • It can extract all subfiles of any archive.
  • While extracting some file formats can be decoded (converted to text or PNG files).
  • It can create all (but not RARC archives) while readind and scanning a directory structure. Decoded files are encoded autoamtically.

Tool wszst: Features, commands and options

wbmgt (Wiimms BMG Tool)

wbmgt is a command driven tool to manipulate BMG (message) files.
Tool wbmgt: Features, commands and options

wkclt (Wiimms KCL Tool)

wkclt is a command driven tool to convert KCL files into/from binary KCL from/into Wavefront OBJ files.
Tool wkclt: Features, commands and options
General parser syntax and semantics
KCL export and import guide

wkmpt (Wiimms KMP Tool)

wkmpt is a command driven tool to convert KMP files into/from binary from/into text files. A special compiler is used to allow variables, expressions, if..then..else, loops, macros and user defined functions while reading a KMP text file.
Tool wkmpt: Features, commands and options
General parser syntax and semantics
KMP text syntax and semantics
KMP parser functions
How to edit KMP files

wimgt (Wiimms Image Tool)

wimgt is a command driven tool to convert and aptch graphic images:

  • wimgt supports the file formats BREFT, BTI, TEX0, TPL and PNG as export and import type.
  • wimgt supports the internal image formats I4, I8, IA4, IA8, RGB565, RGB5A3, RGBA32, C4, C8, C14X2 and CMPR (and also different PNG formats).

Tool wimgt: Features, commands and options

wstrt (Wiimms StaticR Tool)

wstrt is a command driven tool to manipulate StaticR files of Mario Kart Wii.
Tool wstrt: Features, commands and options

Links