Hacking Wiimms SZS Tools

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v0.36a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • I have improved the KCL object exporter. It works fine for all tested Nintendo and Custom tracks.
    .
  • New is the KCL object importer. It creates a new KCL from scratch. I have tested it with secveral tracks (export Nintendo and Custom & recreate the KCL). The status is EXPERIMENTAL until the octree generator is well tested.

    Until now I have made only some tests with previous decoded KCL files (Nintendo and Custom tracks) and the new created track files work fine. I haven't tested OBJ files directly created by 3D editing tools like 3ds max or SketchUp.
    .
  • Read my new KCL Guide to export and import object files before using the new features.

Change Log:
Code:
szs v0.36a r3720 - 2012-05-28

- It the tools 'wkmpt' or 'wkclt' opens a SZS file, they use the internal
files 'course.kmp' or 'course.kcl' as source.

- New command: wszst KCL: Open the sub file @course.kcl@, decode and print it.

- KCL object exporter improved.

- New command: wkclt DUMP: Dumps the raw KCL records in human readable format.

- New command: wkclt OCTREE: Traverse and test the octree by using the entered
points. Logging of steps and triangles is controlled by --long and --brief.

- wkclt ENCODE: Import an OBJ file and create a new KCL from scratch. The
internal octree generator works fine and can be controlled by different
constants. See http://szs.wiimm.de/doc/kcl#encode for more details.

- If a KCL obj file with name NAME.EXT is scanned, a file name NAME.flag.txt
is scanned to find relations between group names and flags.
See http://szs.wiimm.de/doc/kcl#def-flag for more details.

- Read the new KCL export and import How-To: http://szs.wiimm.de/doc/kcl

Links:
 
  • Like
Reactions: 1 person

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v0.37a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • I have improved the KCL object exporter and it will now also export normals. It works fine for all tested Nintendo and Custom tracks. The generatted OBJ files can be read by 3ds Max, SketchUp and perhaps more untested 3D tools.
    .
  • New is the KCL object importer. It creates a new KCL from scratch. I have tested it with several tracks (export Nintendo and Custom & recreate the KCL).

    The whole KCL creation is under development and EXPERIMENTAL! Exporting and reimporting works fine for the most tracks, but not for all. The octree generation seems to be good, but he calculation of the normals by the given triangle points will sometimes results in wrong directions (sign problems).
    .
  • Read my new KCL Guide to export and import object files before using the the new features.

Change Log:
Code:
szs v0.37a r3748 - 2012-06-02

- Read "Known Bugs" or http://szs.wiimm.de/doc/kcl about KCL issues.

- Command "wkclt dump" prints now more octree statistics.
As the result of the analysis of these statstics, the octree generation has
been optimized and some new parameters have been established.

- New command: wkclt TRIANGLES: It's like DUMP, but it print only 1 line
for each triangle data. The goal is to compare the data with other dumps.

- New option: --kcl-sort: Sort the triangles by length and positions to make
a dump more and easier compareable.
the octree. This helps to clean the KCL of custom tracks.

- New option: --kcl-drop: Remove all triangles, that are not referenced by
the octree. This helps to clean the KCL of custom tracks.

- The OBJ exporter creates Wavefront OBJ files compatible with "3ds Max" and
"Google SketchUp" (TIG's OBJ-importer plugin) and maybe with more 3D tools.
The exported data contains now also 'vn' vectors (normals).

- The OBJ importer read Wavefront OBJ files created by "3ds Max" and by
"Google SketchUp" (TIG's OBJ-exporter plugin) and maybe by other 3D tools.


Known bugs:

- The whole KCL creation is under development and EXPERIMENTAL!
Exporting end reimporting works fine for the most tracks, but not for all.
The octree generation seems to be good, but he calculation of the normals
by the given triangle points will sometimes results in wrong directions
(sign problems).

Links:
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v0.38a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • The KCL importer is now ready to use. It reads obj files created by 3ds Max, SketchUp and perhaps more untested 3D tools.I have tested it with several original obj exports of existing and already released tracks (thanx to AndyK and Torran).
    .
  • In the next step I will clean (remove all the test code) and change the internal data structures.
    .
  • Read my new KCL Guide to export and import object files before using the the new features.
    .

Change Log:
Code:
szs v0.38a r3774 - 2012-06-05

- OBJ import and KCL creation tested with different tracks without issues.

- New option --kcl=list: 'list' is a comma separated list with keywords to
define options for the KCL processing. Allowed options are: RESET, FAST,
NORMALS, OUT-SWAP, IN-SWAP, AUTO, CLIP, DROP, SORT and DEFAULT.
See http://szs.wiimm.de/opt/kcl for details.

- The transforming options  --shift, --scale, -xss, -yss, -zss and --hrot
are now available for KCL processing.

- Option --kcl-parse renamed to --kcl-script.

- Three new parser functions for the --kcl-script script:
tri$setPt()  : Define new triangle points.
tri$shift()  : Shift all points of a triangle.
tri$remove() : Remove a triangle from the list.
If one of these function is used, a new octree is calculated.

- New parser functions: sec(), mSec(), uSec()

- Several small bugs in the KCL creation removed.

Links:
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v0.39a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • I have changed the internal KCL data structures. This allows me some more optimizations and additional functionalities. The new code will create the same KCL as the previous r3774, but faster.
    .
  • Read my new KCL Guide to export and import object files before using the new features.
    .

Change Log:
Code:
szs v0.39a r3799 - 2012-06-09

- The KCL code was cleaned and the internal triangle data base has a new
optimized data structure. The new KCL tool will create the same KCL as
the previous r3774. Only the output of some dump commands and also
the created OBJ files have changed.

- Three new parser functions for the --kcl-script script:
tri$create()    : Create a new triangle.
tri$scale()     : Scale all points of a triangle.
tri$hRot()      : Rotate all points of a triangle horizontally.
tri$unremove()  : Clear 'REMOVED' marker
tri$isRemoved() : Get 'REMOVED' status.
Call "wkclt func tri$" for complete list of all 12 triangle functions.

- Command "wkclt OCTREE" renamed to "wkclt TRAVERSE".

- New command: wkclt COPY  
Copy and convert source collision file (KCL or OBJ) to dest. 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
for single copy operations.

- Optimization: If input and output are binary KCL files and only KCL flags
were changed, then the original KCL data is copied 1:1 to the output file
and only the flag values are modifed. Use --kcl=new to build always a new
binary KCL and to disable this optimization.

Links:
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v0.40a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • In this release the focus lay on the KCL interface:
    • The OBJ exports supports now a materials file with predefined adequate colors to make the model view nicer (see examples below).
    • The flag scanning has been changed to avoid conflict with automatic group namings.
    • The are some more option for optimizing.
    • Touched OBJ files will now converted to KCL automatically if creating a SZS file.
    See the change log for more details.
    .
  • Read my new KCL Guide to export and import object files before using the new features.
    .

Change Log:
Code:
szs v0.40a r3837 - 2012-06-17

- Windows version only: Update to Cygwin DLL 1.7.15-1

- The KCL obj export will now create a material file with adequate colors.
To disable materials support, use "--kcl -mtl".

- KCL flag scanning: Some 3D tools use the generic suffix '_number' in goup
names. This may result in a conflict with the automatic detection of KCL
flags. Not only therefor, the interface has changed:

- If creating an OBJ file, '_Fxxxx' (literal '_F' and 4 hex digits)
instead of '_xxxx' is now appended to the group names.

- If scanning a groupname, '_Fxxxx' is always accepted as flag value.

- The old way to detect flag values is now disabled by default, but can be
enabled by different --kcl keywords: 'HEX4' enables '_ffff' (flag),
'HEX23' enables '_tt_vvv' (type and variant) and 'HEX' enables both.

- The flag file may define HEX4 and/ot HEX23 to 0 (disable) or 1 (enable)
to override the defaults set by option --kcl.

- For all groups with unknown flag assignments, the unusal values 0xFFE0,
0xFFC0, 0xFFA0 and so on (all type 0x00 (road), each 0x20 lower) are
used in this order. This makes the groups discriminable in the KCL.

- The default extension of the flag file is now '.flag' and not longer
'.flag.txt'. If scanning both files are searched.

- The new option --flag-file=path overrides the default search for a flag
definitions file while scanning OBJ files.

- New command "wkclt CFF" will create a flag file with all group names
as template.

- If scanning a OBJ file, faces (polygons) with up to 50 vertices in a plane
are supported. Polygons with N>3 are split into adequate triangles.

- The user interface of the parser function tri$create() has changed to
allow the definition of polygons with any number of verteces.

- Bug fix: The naming of some parser functions were wrong: ptInCube*() are
renamed to ptInCuboid*(). The obsolete old names are allowed for a while.

- New command: wkclt CHECK: Run a KCL check and return 'DIFFER' as exit
status if any KCL error found.

- The KCL creation is now included into the SZS creator: Touched OBJ files
will now converted to KCL automatically if creating a SZS file.

Links:


Export Examples:

The first example shows a part of a Maple Treeway export in SketchUp:


The second example shows a part of a Koopa Cape export in 3ds max:
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v0.41a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • The KMP compiler can now access the related KCL file to find optimal positions for objects and route points. See change log and KMP Guide for details.
    .

Change Log:
Code:
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.

Links:
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v0.42a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • 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. See examples below.

    Btw, I have found out the interpretation of the x- and y-rotation of the cannon points. I know them now and the calculation of the landing zone interpret both rotation values correctly.
    .
  • 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 --kcl=chary.

    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 new and repaired version.
    .
  • This will be the last large extension of my tools for a while. After the summer hollidays I will think about new plans, suggestions are welcome.
    .

Change Log:
Code:
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.

Links:

Examples of the new command "wkmpt COBJECT":

The first example shows a top view of DS Peach Gardens with check points and enemy routes (click it for a larger view)


The second example shows a part of Grumble Volcano. A the missing mandatory check point is the reason for the ultra short cut:
 
  • Like
Reactions: 1 person

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v1.00a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • It's time to call my tools release (v1.*) instead of pre release (v0.*).
    .

Change Log:
Code:
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 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.

Links:
 
  • Like
Reactions: 1 person

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v1.01a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • The minimap command can now automatically adjust the minimap view region. I have tested it with about 15 custom tracks and all minimaps are now fully visible. This is also true for some CT with prior invisible minimaps. Details
    .

Change Log:
Code:
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 http://szs.wiimm.de/opt/auto for details.


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.

Links:
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v1.02a.
(A command line tool set for Linux, Mac and Windows)

Change Log:
Code:
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.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 http://szs.wiimm.de/opt/auto for details.

Links:
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v1.03a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • I have improved the KCL handling. Dropping invalid triangles is now done automatically, if no DROP option is set.
    .

Change Log:
Code:
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.
>>> THE RESULT MAY BE INVALID OUTPUT FILES!

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

- wszst MINIMAP --auto: The Y-translation is also calculated to make very
high faces visible.


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.

Links:
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v1.04a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • I have fixed some KCL bugs, see change log for details.
    .
  • First "Yaz1" support, I hope, that the data structure and the compression method of Yaz0 and Yaz1 are really the same.
    .

Change Log:
Code:
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.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.
>>> THE RESULT MAY BE INVALID OUTPUT FILES!

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

- wszst MINIMAP --auto: The Y-translation is also calculated to make very
high faces visible.

Links:
 
  • Like
Reactions: 1 person

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v1.05a.
(A command line tool set for Linux, Mac and Windows)

Change Log:
Code:
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.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.

Links:
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v1.06a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • The tool wszst can now make proposals for tracks about working and non working slots. Therefor it analyses KCL, KMP and the SZS internal file list.
    • The old command wszst CHECK prints the slot proposals as special hints.
    • The new command wszst SLOTS prints the slot proposals in a table like format; one row for each track.
    .

Change Log:
Code:
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: Prints 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.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.


Examples:
Code:
# wszst check 31*szs
CHECK YAZ0.U8:31 Dry Coast v2.1 (Putinas,Wiimm) [31+71].szs
...
* SLOT: Track will only run at slots 3.1 and 7.1, because object 'pylon01' is used.


# wszst slots *.szs
: 10 ----------.szs
-4.2 -6.1 -6.2 : 11 GCN Luigi Circuit RC2 (Torran).szs
-4.2 -6.1 -6.2 : 12 Ancient Lake v1+ (DJ Lowgey) [+minimap].szs
-4.2 -6.1 -6.2 : 13 Sunset Ridge RC3 (Vulcanus+BigOto+Demyx).szs
-4.2 -6.1 -6.2 : 13 Sunset Ridge RC3 (Vulcanus+BigOto+Demyx)_d.szs
-4.2 -6.1 -6.2 : 14 Boost%2a SNES Mario Circuit 1 (MKDasher,Teknik).szs
: 20 ----------.szs
-4.2 -6.1 -6.2 : 21 N64 Luigi Raceway BETA2 (Zilla).szs
-4.2 -6.1 -6.2 : 22 White Garden v1.1+ (SpyKid+Block+LuigiM) [+minimap].szs
-4.2 -6.1 -6.2 : 23 Snowy Circuit v1.RC3+ (Putinas,AndyK) [+minimap].szs
-4.2 -6.1 -6.2 : 23 Snowy Circuit v1.RC3+ (Putinas,AndyK) [+minimap]_d.szs
-4.2 -6.1 -6.2 : 24 Seasonal Circuit RC1+ (MRbuttCHINS) [+minimap].szs
: 30 ----------.szs
+3.1 +7.1      : 31 Dry Coast v2.1 (Putinas,Wiimm) [31+71].szs
-4.2 -6.2      : 32 3DS Rosalina's Ice World v2+ (MRbuttCHINS) [+minimap].szs
-4.2 -6.1 -6.2 : 33 Haunted Woods v1.3 (Thondam,Wiimm).szs
-4.2 -6.1 -6.2 : 34 Sacred Fogcoast v1.02 (YellowYoshi).szs
: 40 ----------.szs
-4.2 -6.1 -6.2 : 41 Desert Bone RC2+ (Putinas,AndyK) [+minimap].szs
?4.2 -6.1 -6.2 : 42 GCN Mushroom Bridge (Torran).szs
-4.2 -6.1 -6.2 : 43 GCN Bowser Castle v3 (Baoulettes).szs
-4.2 -6.1 -6.2 : 43 GCN Bowser Castle v3 (Baoulettes)_d.szs
?4.2 -6.1 -6.2 : 44 Lunar Spaceway v1+ (BigOto) [+minimap].szs
: 50 ----------.szs
-4.2 -6.1 -6.2 : 51 SNES Koopa Beach 1 v1 (AndyK).szs
-4.2 -6.1 -6.2 : 52 3DS Rock Rock Mountain RC3 (KHacker).szs
-4.2 -6.1 -6.2 : 53 N64 Banshee Boardwalk v1.1 (Baoulettes,Wiimm).szs
-4.2 -6.1 -6.2 : 54 GCN Wario Colosseum RC2.2 (MKDasher,Wiimm).szs
: 60 ----------.szs
+6.1           : 61 GCN Sherbet Land v1.2b (Tock) [61].szs
+6.1           : 61 GCN Sherbet Land v1.2b (Tock) [61]_d.szs
+6.2           : 62 GBA Lakeside Park v1 (Igorseabra4,AndyK,Wiimm) [62].szs
-4.2 -6.1 -6.2 : 63 Delfino Island v3r2 (Vulcanus2).szs
-4.2 -6.1 -6.2 : 64 N64 Wario Stadium v1 (C.Kwark+Wiimm+Tock).szs
: 70 ----------.szs
-4.2 -6.1 -6.2 : 71 Volcanic Skyway v2.2 (BigOto2,Wiimm).szs
-4.2 -6.1 -6.2 : 72 GBA Bowser Castle 1 v1 (MRbuttCHINS,Wiimm).szs
-4.2 -6.1 -6.2 : 73 Seaside Resort v1+ (LuigiM) [+32,+minimap].szs
-4.2 -6.1 -6.2 : 73 Seaside Resort v1+ (LuigiM) [+32,+minimap]_d.szs
-4.2 -6.1 -6.2 : 74 N64 Royal Raceway v1.2 (Jimbo,Wiimm).szs
: 80 ----------.szs
-4.2 -6.1 -6.2 : 81 GCN Yoshi Circuit RC1b+ (sup3rsmash8) [+minimap].szs
-4.2 -6.1 -6.2 : 81 GCN Yoshi Circuit RC1b+ (sup3rsmash8) [+minimap]_d.szs
-4.2 -6.1 -6.2 : 82 Unnamed Valley v1.2 (Scye,AndyK,Wiimm).szs
-4.2 -6.1 -6.2 : 83 Alpine Mountain v1.1 (Susannah+Wiimm).szs
?4.2 -6.1 -6.2 : 84 GCN Mushroom City v0.1 (Torran).szs
: 90 ----------.szs


Links:
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
I have released Wiimms SZS Tools v1.07a.
(A command line tool set for Linux, Mac and Windows)

What's new:
  • I have implemented a new fiel format: WU8. Read this.
    .

Change Log:
Code:
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 http://szs.wiimm.de/doc/autoadd).

- wszst NORMALIZE/PATCH:
- 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.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: Prints 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.


Links:
 

Mr. Mysterio

Super Genius
Member
Joined
Sep 16, 2014
Messages
661
Trophies
0
Age
24
Location
Rosalina's Comet Observatory
XP
1,124
Country
United States
Sorry for digging up this old thread, but I have a problem involving Wiimm's wkmpt tool.

When I type "wkmpt check stuffmap.kmp", I get this:

> All indices are zero based!
> Section ENPH, Enemy route group #4 of 7
+ WARNING: Route group starts at point 83, but expected is start point 93.
> Section ENPH, Enemy route group #5 of 7
+ WARNING: Route group starts at point 89, but expected is start point 132.
> Section ENPH, Enemy route group #6 of 7
+ WARNING: Route group starts at point 93, but expected is start point 94.

I don't understand the error. Why does it expect the group to start at a different place than it does? I know there is SOMETHING wrong because the course crashes after about a minute.

This is my ENPH section:

(index, start, length, last1, last2, last3, last4, last5, last6, next1, next2, next3, next4, next5, next6)

00 00 32 06 FF FF FF FF FF 01 02 FF FF FF FF
01 32 11 00 FF FF FF FF FF 05 FF FF FF FF FF
02 43 0D 00 FF FF FF FF FF 03 04 FF FF FF FF
03 50 0D 02 FF FF FF FF FF 05 FF FF FF FF FF
04 5D 0C 02 FF FF FF FF FF 06 FF FF FF FF FF
05 59 05 01 03 FF FF FF FF 06 FF FF FF FF FF
06 53 31 04 05 FF FF FF FF 00 FF FF FF FF FF

I'm using Wiimm's SZS tools v1.3.5.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    AncientBoi @ AncientBoi: :tpi::rofl2: +1