Here is a list of some 3rd party software that can be used to manipulate UFO:Enemy Unknown (some also work on TFTD).
- XcomUtil, originally by Scott Jones and now being updated by BladeFireLight, can perform many useful fixes and changes to both EU and TFTD. It can also create hybrid games that mix the terrain from both games. Most changes are relatively easy using the XcuSetup.bat script. Others are harder and require you to edit text configuration files. The interface is currently being updated to a new, much improved version, making this easier to use and reliable, as well as powerful. It works with Steam distributions and DOSBox.
- UFO Extender for the Windows Gold (CE) edition of the game, fixes numerous bugs and provides a large number of useful gameplay enhancements. It also includes options to play alternate scenarios and rules for making the game harder (or easier). It works with the Steam distribution, which does include the Windows version. (Developed by Seb76 and currently being updated by Tycho)
- TFTD Extender for the Windows edition of Terror From the Deep. It provides a many of the same enhancements as UFO Extender, while correcting many of the problems and offering new options for gameplay specific to this game. (Developed by Tycho from Seb76's UFOloader)
- Bomb Bloke has a handy collection of tools on this site, for doing all sorts of customising. The Battlescape Editor is an excellent visual editor for adding, removing and changing units and items on a particular saved game, including changing the stats of weapons and other items. Also includes tools for modding uniforms, graphics/artwork, and other useful goodies.
- Combo Patch is a patch that combines the efforts of various StrategyCore members to fix a number of problems dealing with the TERRAIN, MAPS and ROUTES game resources all wrapped up into one package.
- OpenXcom is an open source clone/reverse engineered engine for UFO (TFTD support is in beta). Like the CE version, it completely bypasses the need for DOSBox by providing a native executable. Unlike the CE version though, it also provides support for Mac and Linux systems in addition to fixing all the bugs and limitations of the original game. OpenXcom has it's own mod site for mods specific to it available here.
- XCOMHack and other tools by Chris Voss (Hatfarm). XComHack is a VB program that can edit soldiers, bases, craft, diplomacy and global factors such as money. Pretty much everything that ClarkWehyr can do and easy to use. It is a Visual Basic Forms application and the source code is available to extend. This is probably the easiest to use saved game editor, as it uses a standard GUI familiar to most people. The TFTD version does not have as many features as the UFO version. There are also some more powerful utilities available here to edit & patch the UFO executable - UFO Mod and Patch Maker.
- ClarkWehr editor. This is an old soldier and base editor for XCOM and TFTD. Reportedly has some bugs. It has a GUI but it is character-mode DOS type of GUI. Also has command line switches so you can run it in batch mode. Lots of features including a Soldier Exporter (to spreadsheet).
- SDump XcomUtil also includes a utility called SDump. This is a hex dumper / patcher that is configured for XCom. Very technical and old skool but very powerful. Use with care and read the manual first. Probably only usable by old skool programmers. For many patches (eg craft, tank, weapon and alien stats) it will be easier just to modify the xcomutil.cfg file.
- There's at least one editor that allows you to change the weapons: XComEd.
You can find many more X-COM game editors, cheats and mods over at StrategyCore's Files Section.
Obscure (Not listed at StrategyCore) tools
- UE (Link Broken!) Matt Mullen's UE editor, just for editing bases and money. A very simple DOS character mode "GUI". This also comes with source code and is written (nicely) in C. Nice.
- UFO Classes (by Necuno) lets you manage the selection, deployment and training of soldiers via a concept of classes and levels, rather than having to micromanage soldiers based on all their specific stats. Works only with EU, not TFTD.
- SuperMen is a simple utility that turns your soldiers to, well, supermen.
- World.DAT editor (by Volutar) is a tool for viewing and editing of WORLD.DAT globe data (just visual poly mesh + terrain types).
- BaseFixer (by Spike) is a python script that can fix x-com EU's various radar & paying for dirt bugs. Although it has been largely obsoleted by UFO Extender and doesn't work on TFTD, it has the advantage of being usable on the DOS version of UFO. It requires a modified linker for use with XcomUtil versions beyond 9.6, available here.
- XCOMSHEL is a front end for XcomUtil created by Martin Ptacek of the Czech Republic. Compatibility with XcomUtil 9.7+ unconfirmed.
- MCD editor (by Volutar) is a tool for viewing and editing of the terrain tilesets (MCD+PCK).
Useful Generic File Editors
- StructLook - Structured Files Viewer by SEN. Ancient (last v.4.30 shareware/nagware from 1999, runs fine in DOS Box) tool. Very powerful - you can have arbitrarily defined bitfields, offsets relative to the end of a variable-sized table of offsets, etc... Also limited, mainly due to restrictions DOS imposed on all the buffers it needs, and the tiny DOS console.
- DataWorkshop - an attempt to do the same under Java and use XPath query language, too. Lived to 2005 and dropped into hibernation, but it works and it's inherently multi-platform.
- ffe - flat file extractor. Reads and converts contents of a file, including from binary to readable table. Currently beta (0.3.4 - 0.3.5), thus many features you'd like to see in such a tool are absent. Not limited to "one type of fixed sized record" files (like MCD or OBDATA.DAT), but works best on them. For example, if you try to read map files with it, you'll have a problem, mainly from differently-sized header, inability to restrict it to where it belongs and troubles with zero (0x00) character. Also, it's a reader, not writer, at best it can tell you offset and hex dump for what you want to poke. On the upside, it can filter records on output, thus can be helpful for analysis.
- Universal Game Editor (UGE). It is a hex editor which displays numbers in digits instead of hex codes. It uses templates that can store variables found in the game files, so that they can be easily edited (including variables with 1, 2, or 4 bytes, or text entries). It can be found from a variety of locations using a search engine. The program is only about 400kb and is free to use (abandoned nagware).
- Another hex editor that some folks use is Hex Workshop by www.BPSoft.com. Hex Workshop has the nice feature that you can make a 'structure library' with the meaning (field name) of each byte, turning the file into a little database. You will see some of these definitions (.HSLs) in the game file wikis. Hex Workshop is free for 30 days and then costs $50 if you want to keep using it. While it has a number of nice features, it does have some drawbacks. Examples: 1) Its display field can't be more than 64 characters wide (unlike EDIT), so you can't do a "one row equals one record" display for e.g. SOLDIER.DAT (reclength 68) or UNITREF.DAT (reclength 124). Related to this, 2) although it's a "modern" Windows app, you can't e.g. go to some tiny font and see a lot more in your data display window (even though you probably have 1600x1200 screen rez as a L33T gamer).
- Construct parsing library for Python. It's still programming, but straightforward and clean enough that at this point source text is not far from pure structure descriptions. If you are planning to write an editor, consider the benefits of using this.
- Hiew (Hacker's View) by SEN. Even "demo" version is more than powerful enough for DOS software, it just doesn't allow convenient things like macros.
- HT is a file editor/viewer/analyzer for executables.
- Mikael 'Fluff' Klasson makes HexIt. Useful for guessing what the game engine is trying to do and deducing game mechanics (or bugs). HexIt is freeware, though there is a suggested donation if you find it useful.
- MS-Edit MS-Edit is a simple text editor that can be used to manipulate binary data. While a very old program dating back to the days of MS-DOS, recent versions of Windows up to XP still come bundled this program. It offers a binary mode that, while very unconventional, can be used to manipulate binary data in files. With knowledge of the game file structures and the nuances of how MS-Edit works, you can go right to the source and exact changes as you see fit in practically any game file.
- HexIt by Mikael Klasson is a free and powerful hex editor. Donation suggested if you use it a lot. It also has a decompiler view if you want to try to figure out what the executable is doing.
- Frhed is a free, open source hex editor that works well.
- HxD : This is a very simple but powerful HexEditing tool. You can get the freeware version here: .
Drivers, Extenders and Runtimes (for DOS[Box])
- GUS Patches are needed to get Gravis Ultrasound emulation working in DOSBox. For more info see GUS Music in Dosbox
- PythonD is a Python runtime for DOS. Certain mods (particularly BaseFixer above) require it to function. For help setting it up in DOSBox, see this thread.
- CWSDPMI (like DOS4GW) is a DOS extender which grants a minimal protected memory environment. To put is simple, some programs, like PythonD, require it to run.
- DOS32A is a free, open source replacement for the DOS4GW extender included with most DOS games, including UFO & TFTD. It is designed to be a fully compatible drop-in replacement for DOS4GW and has often been attributed to improved performance and stability. You can install it by (optionally) backing up the original DOS4GW, copying the "DOS32A.exe" executable to the UFO or TFTD game folder then renaming it to "DOS4GW". More info here. Note: DOS32A has not been tested extensively with either Xcom game, use at your own risk!
- DJGPP is a complete 32-bit C/C++ development environment (and runtime?) for DOS PCs with an Intel 80386 or higher processor. Could be useful for developing DOS-based Xcom mods. It's completely free and open source.