Difference between revisions of "Wiimms SZS Tools"
Line 11: | Line 11: | ||
! File Formats: | ! File Formats: | ||
| [[SZS]], [[U8]], [[BRRES]], [[BMG]] | | [[SZS]], [[U8]], [[BRRES]], [[BMG]] | ||
+ | |- | ||
+ | ! Current Version: | ||
+ | | 0.06a | ||
|- | |- | ||
! Website: | ! Website: | ||
Line 19: | Line 22: | ||
'''Wiimms SZS Tools''' is a set of different tools to manipulate [[SZS]], [[U8]], [[BRRES]] and [[BMG]] 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 two tools: | '''Wiimms SZS Tools''' is a set of different tools to manipulate [[SZS]], [[U8]], [[BRRES]] and [[BMG]] 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 two tools: | ||
− | * '''wszst''' : Wiimms SZS Tool (handles | + | * '''wszst''' : Wiimms SZS Tool (handles [[SZS]], [[U8]] and [[BRRES]] archives) |
* '''wbmgt''' : Wiimms BMG Tool (handles raw and text [[BMG]] files). | * '''wbmgt''' : Wiimms BMG Tool (handles raw and text [[BMG]] files). | ||
One main goal is the fully automated [[Wiimms SZS Tools/How To#Replace Track Names|track name replacement]]. Both tools together can do this. This toolset will not replace the [[SZS Modifier]] or the [[CTools]], because they are interactive tools with GUI support and can work directly with many sub file formats. | One main goal is the fully automated [[Wiimms SZS Tools/How To#Replace Track Names|track name replacement]]. Both tools together can do this. This toolset will not replace the [[SZS Modifier]] or the [[CTools]], because they are interactive tools with GUI support and can work directly with many sub file formats. | ||
Line 27: | Line 30: | ||
== History and Download == | == History and Download == | ||
− | ' | + | === What's new === |
− | |||
− | |||
− | + | * Tool '''wszst''' can now create [[BRRES]] files from scratch. All files of a directory structure are included. | |
− | + | * Tool '''wszst''' can now extract and create [[SZS]], [[U8]] and [[BRRES]] files recursivley. This makes access to any component very easy. | |
− | + | * Tool '''wszst''' is able to decode or encode BMG files while extracting or creating archives. | |
− | + | === Change Log === | |
− | + | <pre> | |
+ | szs v0.06a r2540 - 2011-04-27 | ||
− | - wszst | + | - If extracting a SZS, U8 or BRRES archive a file named 'wszst-setup.txt' is |
− | + | created. It contains some infos for a following creation. | |
− | - New option: wszst - | + | - New option --ignore-setup: Ignore setup file 'wszst-setup.txt'. |
− | |||
− | - | + | - Option --pdir renamed to --pt-dir. --pdir is still allowed. |
− | |||
− | - | + | - wszst CREATE: Can now create a BRRES file as copy of a directory structure. |
− | |||
− | - wbmgt: If creating | + | - wbmgt: If creating text BMG files, than unicode escapes "\z{801,hexnum}" |
− | + | are written as \u{hexnum}. v0.05a can already scan such unicode escapes. | |
− | |||
− | + | - wbmgt: new patch mode "print": create a new text using %s-escapes (like | |
+ | print functions) to insert the old one. | ||
− | - wszst can | + | - "wszst EXTRACT" can extract recursive and can decode BMG files on the fly. |
+ | This is controlled by the options --recurse, --decode and --all. All needed | ||
+ | information for recreation is stored in the setup file 'wszst-setup.txt'. | ||
+ | |||
+ | - "wszst CREATE" creates a recursive directory structure created by EXTRACT | ||
+ | using 'wszst-setup.txt' as script. Files will be encoded again. | ||
</pre> | </pre> | ||
+ | |||
+ | === Links === | ||
* [http://szs.wiimm.de/changelog.html Complete History] | * [http://szs.wiimm.de/changelog.html Complete History] | ||
Line 82: | Line 88: | ||
** The destination is only written if any data changed. | ** The destination is only written if any data changed. | ||
* '''wszst COMPRESS''' and '''wszst DECOMPRESS''' convert SZS files from and to compressed format. | * '''wszst COMPRESS''' and '''wszst DECOMPRESS''' convert SZS files from and to compressed format. | ||
− | + | * '''wszst EXTRACT''' extract the directories and files to the local file system to make access very easy. Recursive extraction and automatic decoding of some file formats is also possible. | |
− | * '''wszst EXTRACT''' extract the directories and files to the local file system to make access very easy. | + | * '''wszst CREATE''' creates SZS files from directory structures. All files are included, include and exlcude lists are supported. Recursive creation and automatic encoding of some file formats is also possible. |
* '''wszst CAT''' allow to access one or more sub files within SZS files. The output of all sources is concatenated and written to stdout. | * '''wszst CAT''' allow to access one or more sub files within SZS files. The output of all sources is concatenated and written to stdout. | ||
* Extrating a [[SZS]] file and creating again results in the same SZS file. Only the internal order of the files may be changed. | * Extrating a [[SZS]] file and creating again results in the same SZS file. Only the internal order of the files may be changed. | ||
Line 193: | Line 199: | ||
** [http://szs.wiimm.de/wszst Tool wszst: Features, commands and options] | ** [http://szs.wiimm.de/wszst Tool wszst: Features, commands and options] | ||
** [http://szs.wiimm.de/wbmgt Tool wbmgt: Features, commands and options] | ** [http://szs.wiimm.de/wbmgt Tool wbmgt: Features, commands and options] | ||
+ | ** [http://szs.wiimm.de/download.html Downloads] | ||
* [http://www.mariokartwii.com/f72/wiimms-szs-tools-75689.html Discussion at MarioKartWii.com] | * [http://www.mariokartwii.com/f72/wiimms-szs-tools-75689.html Discussion at MarioKartWii.com] | ||
* [http://gbatemp.net/t286476-wiimms-szs-tools?view=findpost&p=3559819 Discussion at GBAtemp.net] | * [http://gbatemp.net/t286476-wiimms-szs-tools?view=findpost&p=3559819 Discussion at GBAtemp.net] | ||
* [http://forum.wii-homebrew.com/board197-pc-tools/p319981-wiimms-szs-tools/#post319981 Discussion at Wii-Homebrew.com] (german forum) | * [http://forum.wii-homebrew.com/board197-pc-tools/p319981-wiimms-szs-tools/#post319981 Discussion at Wii-Homebrew.com] (german forum) | ||
+ | |||
{{Custom Track Tutorial}} | {{Custom Track Tutorial}} | ||
{{User-Wiimm-Link}} | {{User-Wiimm-Link}} | ||
[[category:Software]] | [[category:Software]] |
Revision as of 10:25, 27 April 2011
File:Wiimms-SZS-Tools.png | |
Author: | Wiimm |
---|---|
Software Type: | SZS and BMG Manager |
File Formats: | SZS, U8, BRRES, BMG |
Current Version: | 0.06a |
Website: | szs.wiimm.de |
Introduction
Wiimms SZS Tools is a set of different tools to manipulate SZS, U8, BRRES and BMG 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 two tools:
- wszst : Wiimms SZS Tool (handles SZS, U8 and BRRES archives)
- wbmgt : Wiimms BMG Tool (handles raw and text BMG files).
One main goal is the fully automated track name replacement. Both tools together can do this. This toolset will not replace the SZS Modifier or the CTools, because they are interactive tools with GUI support and can work directly with many sub file formats.
There is also an little How To.
History and Download
What's new
- Tool wszst can now create BRRES files from scratch. All files of a directory structure are included.
- Tool wszst can now extract and create SZS, U8 and BRRES files recursivley. This makes access to any component very easy.
- Tool wszst is able to decode or encode BMG files while extracting or creating archives.
Change Log
szs v0.06a r2540 - 2011-04-27 - If extracting a SZS, U8 or BRRES archive a file named 'wszst-setup.txt' is created. It contains some infos for a following creation. - New option --ignore-setup: Ignore setup file 'wszst-setup.txt'. - Option --pdir renamed to --pt-dir. --pdir is still allowed. - wszst CREATE: Can now create a BRRES file as copy of a directory structure. - wbmgt: If creating text BMG files, than unicode escapes "\z{801,hexnum}" are written as \u{hexnum}. v0.05a can already scan such unicode escapes. - wbmgt: new patch mode "print": create a new text using %s-escapes (like print functions) to insert the old one. - "wszst EXTRACT" can extract recursive and can decode BMG files on the fly. This is controlled by the options --recurse, --decode and --all. All needed information for recreation is stored in the setup file 'wszst-setup.txt'. - "wszst CREATE" creates a recursive directory structure created by EXTRACT using 'wszst-setup.txt' as script. Files will be encoded again.
Links
wszst (Wiimms SZS Tool)
wszst is a command driven tool to manipulate SZS files.
Features
- wszst supports compressed and uncompressed SZS files. Uncompressed files are good for analysis. Supported archive formats are U8 and BRRES. The format of each source file is detected independent of the file name.
- wszst LIST lists the content of a SZS files and directories. It lists also extracted file systems to preview the creation process.
- wszst DIFF compares 2 SZS files on file level. This comparing is independent of the compression and of file order.
- wszst NORMALIZE read an U8 archive, compressed or not, and write it back in a normalized form.
- The files are sorted in a Nintendo like order.
- Unused data holes are removed.
- If directory '.' is available it becomes the root directory for all others.
- Compressed sources are compressed again with maximum compression (level 9).
- The destination is only written if any data changed.
- wszst COMPRESS and wszst DECOMPRESS convert SZS files from and to compressed format.
- wszst EXTRACT extract the directories and files to the local file system to make access very easy. Recursive extraction and automatic decoding of some file formats is also possible.
- wszst CREATE creates SZS files from directory structures. All files are included, include and exlcude lists are supported. Recursive creation and automatic encoding of some file formats is also possible.
- wszst CAT allow to access one or more sub files within SZS files. The output of all sources is concatenated and written to stdout.
- Extrating a SZS file and creating again results in the same SZS file. Only the internal order of the files may be changed.
- wszst DIFF compares 2 SZS files on file level. This comparing is independent of the compression and of file order.
wszst LIST
The command LIST list the sub files of SZS files.
Example:
# wszst lll Award_G.szs * Files of Award_G.szs off/hex siz/hex size/dec magic file or directory/ ------------------------------------------------------------------------------- - - - - ./ - - - - ./award/ - - - - ./dpd_pointer/ - - - - ./message/ 120 2580 9600 MESG ./message/Common.bmg 26a0 18300 99072 MESG ./message/Menu.bmg 1a9a0 1fc0 8128 MESG ./message/Race.bmg - - - - ./message_window/ - - - - ./pad_recognize/ - - - - ./winning_run/
wszst DIFF
The command DIFF compares two sources (each SZS, U8, BRRES or directory) on file level and report mismatches for each sub file.
Example:
# wszst diff Award_G.szs MenuMulti_E.szs * Only in source #1: ./award/ * Only in source #2: ./bg/ * Only in source #2: ./button/ * Only in source #2: ./control/ * Only in source #2: ./globe/ * File size differ: ./message/Common.bmg [9984+256=10240] * File size differ: ./message/Menu.bmg [97920-7552=90368] * Only in source #1: ./message/Race.bmg * Only in source #2: ./model/ * Only in source #1: ./winning_run/ Content differ: Award_G.szs : MenuMulti_E.szs
wszst NORMALIZE
The command NORMALIZE read an U8 archive, compressed or not, and write it back in a normalized form:
- The files are sorted in a Nintendo like order.
- ('/' is less than) '.' is less than digits is less than letters is less than others.
- The case of letters is ignored.
- For same group of characters use ASCII order.
- For each directory: Real files are inserted before sub directories.
- Unused data holes are removed.
- If directory '.' is available it becomes the root directory for all others.
- Compressed sources are compressed again with maximum compression (level 9).
- The destination is only written if any data changed.
Normalized files are for archives and to find files with the same content.
wbmgt (Wiimms BMG Tool)
wbmgt is a command driven tool to manipulate BMG files.
Features
- wbmgt supports raw and text BMG files. Raw BMG is the file format needed by Nintendos software. Text BMG is a user readable and editable format. wbmgt includes in every text export a little syntax documentation.
- When reading a file, wbmgt detect the format of each source file independent of the file name. This make the usage of raw and text BMG files interchangeable.
- wbmgt may read BMG files directly from SZS files. Just enter the path and assume that the SZS file is a directory. Example: pathto/my.szs/message/Common.bmg
- wbmgt LIST lists the contained strings for a fast preview.
- wbmgt DIFF compares the strings of 2 BMG files and reports the differences.
- wbmgt PATCH patches each source by using a list of patch files. There are several patching modes: REPLACE, INSERT, OVERWRITE, DELETE, MASK, EQUAL and NONEQUAL. Like every source, raw and text BMG files are accepted as patch.
- wbmgt DECODE converts each source file into text mode. Patching while decoding is possible.
- wbmgt ENCODE converts each source file into raw mode. Patching while encoding is possible.
- Decoding a raw BMG file and encoding again results in the same BMG file.
Tests
I have made several tests with the following files:
- All files of Scene/UI/.
- All files of Race/Course/, some of the tracks have been replaced by custom tracks before.
The tests:
- Decompress and compress and decompress again SZS files and compare the results.
- Extract all files, create SZS and extract again. The both extracted file system are equal.
- Extract some of the files with SZS Explorer and compare them to my extracted files.
- Extract all files and create a new SZS files. Then create a new ISO image with the new SZS files and play it.
- Read BMG file, convert to internal representation and write a new BMG file. Then compare the new BMG with the original one.
- Convert all BMG files into the text format and back again. Then compare the new BMG with the original one.
All tests run without errors.
Links
- Wiimms SZS Tools
- Discussion at MarioKartWii.com
- Discussion at GBAtemp.net
- Discussion at Wii-Homebrew.com (german forum)
Main Tutorials
Introduction –
Textures –
Scale –
Modeling ⇒ Using Blender –
BRRES: CTools
BRRES: BrawlBox –
BRRES: RiiStudio –
Minimap –
Solidity –
KCL: Wiimms Tools –
KMP Editing
Object Editing –
Cameras –
Cannons –
Post-effects –
Videos
Battle Arenas
Battle Arenas –
Enemy routes in battle arenas ⇒ Using Wiimm's Tools –
Coins
Misc. Tutorials
Getting Files –
BrawlBox Tricks –
Animations –
Shadows –
Mipmaps
Custom Effects –
Moving Terrain –
Music –
Ports –
Paint Remakes –
Tutorial Archive
Extended presence flags: Track Tutorial –
LE-CODE Track FAQ
Testing and Reviewing
Testing a Track –
Visual Review –
Track Transformation –
Fixing Errors
Software
3D Tools –
BrawlBox –
CTools Pack –
KMP3D –
KMP Cloud –
KMP Modifier
Lorenzi's KMP Editor –
MagicY –
Material Tool –
Post-Effect Editor –
Wiimms SZS Tools –
Wiimm's Tool Manager
Other
KMP Objects –
Custom Objects –
Model Database –
Tutorial Archive
Custom Track Distributions:
Years 2010 – 2021
Wiimms Mario Kart Fun 2022-05 —
Wiimms Mario Kart Fun 2022-11 —
Wiimms Mario Kart Textures 2022-12
Download and Install
Custom Tracks:
Alpine Mountain —
N64 Frappe Snowland —
N64 Kalimari Desert —
N64 Koopa Troopa Beach —
N64 Wario Stadium
Custom Track Updates
Custom Arena:
Bash 'n' Dash 'n' Battle
Software:
Wiimms SZS Tools —
Wiimms ISO Tools —
Wiimms ISO Patcher —
WBZ Converter —
mkw-ana —
LE-CODE
Cheat Codes:
License Unlock —
Clear Profile ID —
Item Cheat
Websites:
szs.wiimm.de —
wit.wiimm.de —
ct.wiimm.de —
wiimm.de —
wiimmfi.de