EoC modding Tools

Here's some tools i've written to help modding EoC.

I've also written a tutorial on using the cygwin unix compatibility environment under windows for doing batch operations on files, useful if you want to quickly and easily convert all the .ftu and .pso files to something else.


tools for compressing .ftc and .ftu files, see the readme in the zip for changes in this version.

psotextool.zip (now included as part of psotools below)

run it with a .pso as an argument, and it will generate <file.pso.tex> file, this lists the names of the textures in the .pso. By editing the .tex file and re-running psotextool you can change the textures in a .pso, good for reskinning existing objects.


Contains tools for converting .pso files to .lwo (both LWOB (lw ver =< 5.6 ) and LOW2 (lightwave ver >= 6.0) format), and tools for dumping all the chunks in .lwo's.

Update ver 0.10

invert u,v coords better, and be case insensitive when changing texture file extentions in pso2lwo2.

Add --baduv and --baduvverbose for looking for .pso's with odd u,v co-ords in them.

Update ver 0.9

Indexes to images in CLIP chunks need to start at one, not zero. Fingers crossed!

Update ver 0.?

The way I was using the Ordinal Strings was wrong, so .lwo's with multiple textures per surface have a better chance of working.

Update ver 0.7(?)

Add pso-info which has a ton of commend line args for printing out different bits of info about .pso files.

pso2* now have command line args so you can use --output=filename etc.

pso2lwo2 now outputs surfaces with more than one texture rather than just the colour maps. (so now you can colour + spec + lumi).

Update ver 0.6:

Due to the way vertices are stored in .pso vertices with the same x,y,z are frequently duplicated, so rather than just pulling out all the triangles as they appear in the .pso compare all the vertices and merge very close ones (0.00001 units apart) together.

As a result the meshes produced are much more mesh like, rather than being a random collection of triangles that are only rarely share vertices.