View Single Post
Old 17-12-08, 13:45   #1
XNALara Creator
Join Date: Sep 2008
Location: Czech Republic
Posts: 1,346
Default UnpackTRU

As of version 3.4, character models are exported with normals, bones and skinning data (vertex weights)!

Hi everyone,
I've written a program that can extract all kinds of data files from the TR: Underworld "bigfiles".

Here it is:
And the C# source code for those interested:

It's possible to extract geometry, normals, uvs, bones+skin, textures, sound/music files and images.

... plus, here's the DLC version of the unpacker:

... and here's the Guardian of Light version of the unpacker (provided by sephiroth99):
(this version might be backward compatible with the DLC version above but I can't test it because I don't have neigther DLC nor GoL data files)

CDRM files - character models ('meshes') and environments ('scenes') with textures
MUL files - sounds and music (use program mul2wav to convert them)
RAW, PNG - bitmaps (not textures, rather artwork etc.)

MUL1 - one audio channel, typically dialogs
MUL2 - two audio channels, often music
MUL4, MUL6 - four and six audio channels, often ambient sounds

Be prepared that you'll need a lot of free harddisk space to extract everything

Since the program is written in C# you'll need Microsoft .NET Framework to run it.
Don't forget to put the library (located in the zip archive) to the same directory as your program.

To import bones and skinning data (Collada/DAE format) to 3ds MAX, install the Collada importer plugin for 3ds MAX.

Here are lists of hashcodes of various models and scenes for different language versions of the game:

English/Multi6: hashcodes_en_multi.txt
Polish/Czech/Hungarian: hashcodes_pl_cz_hu.txt
Russian: hashcodes_ru.txt

Here are a few screenshots of the models I extracted with UnpackTRU (imported to Blender or 3ds max):

And here a 3D model of the ship visualized (realtime!) using DirectX/XNA with multi-textures and static and dynamic shadows:

To simplify the process of selecting textures from texture groups assigned to individual submeshes, I've written yet another program, TRUTexMan:

Source code in C#:

For more information, read the file readme.txt or this short tutorial.

Last edited by Dusan; 09-09-10 at 18:08.
Dusan is offline   Reply With Quote