WLDCOM.EXE
Found in the map editor for Tanarus Basic_MapEdit.zip
Usage
> WLDCOM.EXE
Game WLD file compressor v1.47, Copyright 1995-1996 PyroTechnix, Inc.
Usage: WLDCOM [-flags] infile [outfile]
flags:
-c:<file> Palette file for RGB color matching (default=palette.bmp)
-r:<n1>:<n1> Use palette colors <n1> through <n2> (default:11:246)
-i:<dir;..> Path to search for INCLUDE files (default:%WLDPATH%)
-n[:cmd] List referenced file names (opt. format using cmd string)
-q Quiet mode (no progress messages)
-s Collect statistics on WLD file
-d Decompress (produces ASCII version of binary WLD file)
-x Use memory mapping for the region visibility information
Default behaviour is to compress files with include files expanded
inline. Output file name is required. The utility will not overwrite
an existing file. A temporary file named WCOMnnnn.TMP is created during
the compilation and will normally be destroyed automatically. If the
-x option is specified, an additional .VIS file will also be created.
Examples
Compress
> WLDCOM.EXE SIMPLESPRITEDEF-anim.ascii.wld SIMPLESPRITEDEF-anim.bin.wld
Game WLD file compressor v1.47, Copyright 1995-1996 PyroTechnix, Inc.
Compressing...
SIMPLESPRITEDEF-anim.ascii.wld
...completed.
processed: 5 objects (0 regions)
max object: 32 bytes
string pool: 5 strings (46 bytes)
> WLDCOM.EXE -s SIMPLESPRITEDEF-anim.ascii.wld SIMPLESPRITEDEF-anim.bin.wld
Game WLD file compressor v1.47, Copyright 1995-1996 PyroTechnix, Inc.
Compressing...
SIMPLESPRITEDEF-anim.ascii.wld
...completed.
processed: 5 objects (0 regions)
max object: 32 bytes
string pool: 5 strings (46 bytes)
-- object summary -- count space
default palette file name 0 0
world user data 0 0
BM Info's 4 96
simple sprite definitions 1 32
simple sprite instances 0 0
2D sprite definitions 0 0
2D sprite instances 0 0
3D sprite definitions 0 0
3D sprite instances 0 0
4D sprite definitions 0 0
4D sprite instances 0 0
particle sprite definitions 0 0
particle sprite instances 0 0
composite sprite definitions 0 0
composite sprite instances 0 0
hierarchical sprite definitions 0 0
hierarchical sprite instances 0 0
track definitions 0 0
track instances 0 0
actor definitions 0 0
actor instances 0 0
sphere volumes 0 0
polyhedron definitions 0 0
polyhedron instances 0 0
spherelist definitions 0 0
spherelist instances 0 0
light definition 0 0
light instances 0 0
point lights 0 0
WAV Info's 0 0
sound definitions 0 0
sound instances 0 0
world tree 0 0
normal regions 0 0
active geometry regions 0 0
sky regions 0 0
directional light 0 0
blit sprite definition 0 0
blit sprite instance 0 0
point lights 0 0
zone 0 0
ambient lights 0 0
directional light 0 0
(null) 0 0
SIMPLESPRITEDEF-anim.ascii.wld
SIMPLESPRITEDEF
SIMPLESPRITETAG "PIZZA_SPRITE"
NUMFRAMES 4
FRAME "Pizza01.bmp" "Pizza01"
FRAME "Pizza02.bmp" "Pizza02"
FRAME "Pizza03.bmp" "Pizza03"
FRAME "Pizza04.bmp" "Pizza04"
SLEEP 200
ENDSIMPLESPRITEDEF
SIMPLESPRITEDEF-anim.bin.wld
00000000 02 3d 50 54 00 55 01 00 05 00 00 00 00 00 00 00 |.=PT.U..........|
00000010 20 00 00 00 30 00 00 00 05 00 00 00 95 6a ac 50 | ...0........j.P|
00000020 ef 1b a5 5b 95 6a ac 50 ef 1b a5 58 95 6a ac 50 |...[.j.P...X.j.P|
00000030 ef 1b a5 59 95 6a ac 50 ef 1b a5 5e 95 6a 8c 70 |...Y.j.P...^.j.p|
00000040 cf 3b ca 39 c5 68 8c 7e d0 7a 00 00 18 00 00 00 |.;.9.h.~.z......|
00000050 03 00 00 00 ff ff ff ff 00 00 00 00 0c 00 c5 53 |...............S|
00000060 bf 50 f4 4a a4 44 f7 57 b5 2a 00 00 18 00 00 00 |.P.J.D.W.*......|
00000070 03 00 00 00 f7 ff ff ff 00 00 00 00 0c 00 c5 53 |...............S|
00000080 bf 50 f4 4a a7 44 f7 57 b5 2a 00 00 18 00 00 00 |.P.J.D.W.*......|
00000090 03 00 00 00 ef ff ff ff 00 00 00 00 0c 00 c5 53 |...............S|
000000a0 bf 50 f4 4a a6 44 f7 57 b5 2a 00 00 18 00 00 00 |.P.J.D.W.*......|
000000b0 03 00 00 00 e7 ff ff ff 00 00 00 00 0c 00 c5 53 |...............S|
000000c0 bf 50 f4 4a a1 44 f7 57 b5 2a 00 00 20 00 00 00 |.P.J.D.W.*.. ...|
000000d0 04 00 00 00 df ff ff ff 18 00 00 00 04 00 00 00 |................|
000000e0 c8 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 |................|
000000f0 04 00 00 00 ff ff ff ff |........|
000000f8
Invalid object types
Attemping to decompress a file containing an object type of 0x2c+
will fail.
> WLDCOM.EXE -d infile.bin.wld outfile.ascii.wld
Game WLD file compressor v1.47, Copyright 1995-1996 PyroTechnix, Inc.
Uncompressing...
invalid object type (30) encountered
WLDCOM.EXE can be patched to prevent the invalid object types from halting the decompression by replacing e8 58 48 00 00
at byte offset 0x6583
with 31 c0 90 90 90
.
This patch is also availiable to download in "International Patching System" format wldcom.ips
wldcom.ips
00000000 50 41 54 43 48 00 65 83 00 05 31 c0 90 90 90 45 |PATCH.e...1....E|
00000010 4f 46 |OF|
The process will still fail but will also write some of the ASCII file output.
Parser Demo
Parse a binary (compressed) wld file with client side JS generated from sony_wld.ksy