Wiimms SZS Tools

From Custom Mario Kart
Revision as of 18:27, 20 May 2012 by Wiimm (talk | contribs) (szs v0.35a)
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, 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.
Current Version: 0.35a, 2012-05-20
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 (decode only KCL files into text/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

I have started now with a better KCL support.

  • The new option --kcl-flag=list allows to modify KCL flags by translation rules.
  • The new option --kcl-parse=file allows to call a script, that may analyze the KCL triangle data and modify the KCL flag. This allows a more specific selection and calculation as --kcl-flag.
  • A new KCL object exporter has been implemented. It works fine for all tested Nintendo and Custom tracks, but is has some known issues.

Change Log

szs v0.35a r3681 - 2012-05-20

 - New options for "wstrt TRACKS+ARENAS": --brief --no-header

 - KMP sections CKPH+ENPH+ITPH: Accept unsorted groups.

 - New patching options:
    - For wszst and wkclt: --kcl-flag=list: Exchange KCL flags in KCL files.
    - For wszst and wkclt: --kcl-parse=script: Execute the script for each KCL
      file and to calculate/modify the KCL flags.
    - For wszst and wkmpt: --rm-gobj=list: Remove global objects in KMP files.

 - New command: wkclt FLAGS: Print usage statistics about KCL flags.

 - New parser functions: ptInCube(cube1,cube2,pt1,...) and a strict variant
   ptInCubeS(cube1,cube2,pt1,...): Count the points in the cube.

 - KCL exporter creates now 3dsMax compatible OBJ files with some issues.


szs v0.34a r3659 - 2012-05-12

 - 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.

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

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