Thief Font Converter
Abstract:Tool to create fonts for the Dark Engine
Started On:2006-07-16
Last Update:2013-04-18

The Thief Font Tool (but also System Shock) has been the go-to utility for working with fonts in the Dark Engine. It takes a bitmap image of the outlined font glyphs and creates a font. Also, you can convert a font back to in image for editing.

This latest update adds support for 8-bit grayscale fonts that have recently been added to the unofficial New Dark patch of the Dark Engine. The tool can read bitmaps in BMP, GIF, PNG, or PCX format at 8 and 24 bit depths.

LG Toolkit for Blender
Abstract:Scripts, addons, and other tools useful when creating Dark Engine resources with Blender
Started On:2011-07-29
Last Update:2011-08-09

Works with Blender 2.5. Includes...

  • Importer/Exporter for E files.
  • MeshBld and BSP for converting the E files to objects.
  • Scripts to convert motions to BVH files.
  • Joint mapping definitions.
Lightmap Inverter
Abstract:Inverts the lightmaps in a mission.
Started On:2008-01-26
Last Update:2008-01-28

Flips the brightness on lightmaps in a mission.
Sample 1
Sample 2
Sample 3

Abstract:Python scripts that read Dark-related files.
Started On:2004-09-23
Last Update:2007-12-06
Download - Read DarkDB files as a dictionary,,, - View the contents of complex structures. - Reverse-compile a schema db. - Convert motions to CSV text
BspTree.pyw - Browse a worldrep BSP. - Find duplicated objects (and delete with a Dromed script)

Dromed Config Vars
Abstract:Configuration variables used by Dromed.
Started On:2006-11-29
Last Update:2006-11-29

A list of the configuration variables recognized by Dromed 2 v1.18.

Abstract:Displays object models using OpenGL.
Started On:2006-08-20
Last Update:2006-08-31

This program is supposed to display BIN format object models (and eventually meshes).

This is provided for download by developers only. You need GTK+, LibGlade, and GtkGLExt to build it.

Abstract:An open-source C/C++ library for working with Dark Engine compatible files.
Started On:2004-01-05
Last Update:2006-07-16

This C++ project has become too unwieldy to continue. Even in it's unfinished state, though, I was able to produce some useful tools. I'm making as much of the library and tools available as they are now.

There was also a C-compatible component to DarkLib which contained the most important bits for manipulating the data structures. These headers are not being abandoned.

This is just the library itself. You'll need this if you want to compile any of the tools. If you only want the executables, you don't need this.

The structinfo has been updated with data for Thief 1 and System Shock 2.

Abstract:Many small tools built using DarkLib.
Started On:2004-01-05
Last Update:2006-07-16

Even though the DarkLib was never completed, I was still able to produce some tools, and a few of them may even be useful. These are the simplest tools that I created.

The tools include TxSwap, MissScale, BuildEAX, FogFix, LootList, and CheckMiss. There are others, but I think most people will be interested in those particular ones.

While preparing DoorWizard, I noticed a check that could be included in CheckMiss.

Abstract:A universal gamesys editor.
Started On:2004-07-01
Last Update:2006-07-16

This is the most sophisticated DarkLib application I was able to create. It edits gamesys files for any Dark Engine game. The incompleteness and speed prevented me from making it publicly available.

Just before building this final release, I added the ability to import objects into a gamesys from a XML-format file. That should make-up for the ugliness.

Since I am abandoning DarkLib as a C++ project, ObjTree is not going to see any improvements either.

Abstract:WYSYWIG book editor with custom fonts, artwork, and international text.
Started On:2004-12-09
Last Update:2005-11-28

The most useful (and cleverly named) program currently in DarkUtils. This doesn't use DarkLib, so it won't suffer from that project's end-of-life. But there aren't many more features that need to be added.

Abstract:Adjusts doors in a mission.
Started On:2004-06-14
Last Update:2004-06-16

An experiment with door objects led to this program. It allows you to manually adjust the open state of doors, so they will be partially open when the mission starts. This only works some of the time, though, so the program is less useful than I had hoped. (If you want a door to be fully open, it's easiest to use the Difficulty\Close (Open) property.)