Custom Textures Overview

Custom Textures Overview by frobber

by frobberIf you are planning to edit missions, you should do a ‘full-install’ of Thief 2, patch it with the one-and-only game patch, then install DromEd for Thief 2, and patch DromEd with the one-and-only Thief 2 DromEd patch.

Having installed everything this way, then all textures used in the game are located on your hard disk, and can be viewed. Texture files are located the ‘RES’ folder under the main Thief folder. In this folder are a bunch of *.crf files. These are actually WinZip files that can be opened up and viewed in most cases (or listened to in the case of sound files).

I use a simple program call ‘Thief Edit’ which will pop open and display or play the more simple files in the *.crf archives including all of the texture files. Here is the URL from the author…

Andrew Bednarz’ page (

Look for Thief Media Edit — I can’t link straight to geocities, so you’ll have to click on the link there.

Now for a basic explanation (this is what I wish I had known up front)…

I assume that you know how to use Photoshop well enough to alter pallets — there are several tutorials on this website which also discuss this, so I won’t here.

To understand adding custom textures, first let me explain a bit about how ‘normal’ textures are inserted into a mission — because this is basically what you will be doing.

There are several types of textures:

1. AI skins (*.gif)
2. AI-being carried (*.gif)
3. Object skins (tables, chairs, etc) (*.gif)
4. Terrain (*.PCX)
5. Maps (*.PCX)

(and I may have missed something)

One of the ways Thief 1 and 2 have economized on memory is to create families of standardized color pallets (this applies only to terrian textures and to the mission map). As you scan through the terrain texture CRF archive, you will see that textures are broken up into ‘families’ and each family has one special file called full.pxc. Full.PCX is used to define the color pallet for that family, and if you pull up one of these in Photoshop, you can actually see the pallet colors for that family.

You have two ways to add your own terrain textures.

1. You can create a texture and use it to replace an existing texture.

2. You can create your own families.


If you have just a few custom textures, then the easiest way to add these textures is to replace existing textures that you don’t plan to use in this mission…

1. Make the texture, convert it to a Thief family pallet in Photoshop which is closest to what you need.

2. Name the texture the same as the texture you are replacing

3. Locate the texture file in the correct folder under Thief 2…

The ‘correct folder’ under Thief 2 is…

…\Thief2\fam\[family]\[texture file]

Keep in mind, though, that the texture will take on all the properties of the one you are replacing — so you should replace wood with wood, stone with stone, etc.

When a file is located in the proper folder on your hard drive (and later placed there by darkloader) Thief will use this file instead of the standard file in the crf archive — and magically you now have your custom texture.


Say you want to add a whole bunch of textures, or for some reason want to create your own families (like creating your own look and feel for several missions). Here’s what to do:

1. Create a family folder and pick a unque name for the family (some family name not already used by Thief).

2. Create a ‘full.pcx’ file which is most representative of the new family. This can even be a copy of one of the textures in the family.

3. Convert the color pallet for all textures in a family to match full.pcx

4. Place the ‘full.PCX’ file and all custom textures in the new family folder…

…\Thief2\fam\[your new family]\[texture file]

Make sure that the texture names are unique (Thief basically traces down all of the folder trees for files, and it will ignore duplicates).

Loose ends…

In the case of custom families there is still some unfinished business… the textures will have no physical properities. They won’t make sounds, and in the case of wooden textures, arrows won’t stick.

So you’ll need to add these proporties by selecting the hierachy section from the DromEd pull-downs. Within the hierarchy you need to find the hierarchy tree for textures. Study the format carefully, and notice how textures are located under property-type names.

Next, select the property name that matches one of your new custom textures, click ‘add’, then type in the new texture using the same sort of folder pathing syntax that you see for the other textures in the hierarchy. (If you double-click on any existing texture in the heirarchy, you can see the exact dialog box that you will be using to add your own textures).

Two last things — in order to save the changes to your heirarchy, you’ll need to save your game system (look in the same pull-down as saving your mission file). I strongly suggest naming your custom game sys file something other than the default name — otherwise there is a chance that somebody may end up with your custom game sys as part of their standard Thief 2 installation (and it just makes sense anyway).

Lastly, in order to have your new custom gamesys load at startup, you’ll need to type…

set_gamesys [your game sys file]

That’s it for preparing custom terrain textures. You can now install these textures into your mission (the same way as any other terrain texture) using the load_a_texture command…

load_a_texture [family] [texture]

(use the TAB key to re-display the command for those cases where you may have lots of textures to load).

Other notes…

There is a unique map pallet, so all custom maps should match this pallet.

Custom AI skins are GIF files, and these do not require family pallets (each can have a unique pallet). Same is true for GIF textures used to skin objects and also the funcky graphics showing Garrett carrying a body.

One bit of advice — don’t mess with flowing textures (lava and water). Don’t load water or lava textures into DromEd the way you might load normal textures. Once you understand textures a little better, then you can alter water and lava (but I’m trying to keep you from destroying your database until then).

About this entry