Tools to help the development of xoreos
C++ Other
Clone or download
Failed to load latest commit information.
build-aux TOOLS: Add an empty tools framework Oct 20, 2014
cmake BUILD: Use the correct copyright header Jun 27, 2018
dists RELEASE: This is version 0.0.5 Jul 3, 2018
doc BUILD: Move doc targets into seperate Jun 26, 2018
m4 BUILD: Extend boost.m4 to recognize gcc 5.4 and 5.5 May 25, 2018
man DOCS: Make it clearer when to use --nwn2 and --jade in unkeybif Jun 27, 2018
src RELEASE: This is version 0.0.5 Jul 3, 2018
tests TESTS: Add unit tests for the ERF writer Jun 26, 2018
utf8cpp BUILD: Fix copyright headers (xoreos -> xoreos-tools) Oct 16, 2016
.gitignore ERF: Add tool for packing files into an ERF archive Jun 26, 2018
.travis.yml BUILD: Only install packages on Travis if we're actually building Jun 6, 2018 BUILD Try the new Coverity Scan Travis upload URL Dec 3, 2015
.uncrustifyrc JANITORIAL: Copy over xoreos' .uncrustifyrc file Jul 14, 2015
AUTHORS DOCS: Add a section thanking our library dependencies in AUTHORS Jun 15, 2018 BUILD: Add dependency on Boost.ScopeExit Oct 29, 2016
CMakeLists.txt RELEASE: This is version 0.0.5 Jul 3, 2018 DOCS: Update Code of Conduct to Contributor Coventant 1.4.0 Jan 30, 2016 DOCS: Copy over xoreos' file Jul 14, 2015
COPYING DOCS: Update license texts with current upstream versions Jun 15, 2018
ChangeLog RELEASE: This is version 0.0.5 Jul 3, 2018 TESTS: Add unit tests for our utility templates and functions Feb 25, 2017 RELEASE: This is version 0.0.5 Jul 3, 2018 DOCS: Add hint for ERF tool in Jun 26, 2018
TODO DOCS: Link to our Wiki from the TODO file Jul 14, 2015 BUILD: Fix copyright headers (xoreos -> xoreos-tools) Oct 16, 2016 RELEASE: This is version 0.0.5 Jul 3, 2018 BUILD: Add install and uninstall targets for cmake Jun 26, 2018

xoreos-tools README

A collection of tools to help with the reverse-engineering of BioWare's Aurora engine games. xoreos-tools is part of the xoreos project; please see the xoreos website and its GitHub repositories for details, especially the main

The tools included here are licensed under the terms of the GNU General Public License version 3 or (at your option) any later version.

Currently, the following tools are included:

  • gff2xml: Convert BioWare GFF to XML
  • tlk2xml: Convert BioWare TLK to XML
  • ssf2xml: Convert BioWare SSF to XML
  • xml2tlk: Convert XML back to BioWare TLK
  • xml2ssf: Convert XML back to BioWare SSF
  • convert2da: Convert BioWare 2DA/GDA to 2DA/CSV
  • fixpremiumgff: Repair BioWare GFF files in NWN premium module HAKs
  • unerf: Extract BioWare ERF archives
  • unherf: Extract BioWare HERF archives
  • unrim: Extract BioWare RIM archives
  • unnds: Extract Nintendo DS roms
  • unnsbtx: Extract Nintendo NSBTX textures into TGA images
  • unkeybif: Extract BioWare KEY/BIF archives
  • erf: Create BioWare ERF archives
  • desmall: Decompress "small" (Nintendo DS LZSS, types 0x00 and 0x10) files
  • xoreostex2tga: Convert BioWare's texture formats into TGA
  • nbfs2tga: Convert Nintendo's raw NBFS images into TGA
  • ncgr2tga: Convert Nintendo's NCGR images into TGA
  • cbgt2tga: Convert CBGT images into TGA
  • cdpth2tga: Convert CDPTH depth images into TGA
  • ncsdis: Disassemble NWScript bytecode

TLK language IDs and encodings

Aurora games use numerical language IDs to identify which language a TLK file holds. Unfortunately, those language IDs vary between games, and so does the encoding used for strings in those TLK files. There is no way to autodetect this information, so it has to be provided to tools handling those files, in one way or another.

For the tools tlk2xml and xml2tlk, you can specify this encoding either directly, or by giving the game the TLK is from. Please note that this does not work for Sonic Chronicles: The Dark Brotherhood, because its TLK files do not provide a language ID.

Neverwinter Nights, Neverwinter Nights 2, Knights of the Old Republic, Knights of the Old Republic 2, Jade Empire:

Language ID Language Encoding
0 English CP-1252
1 French CP-1252
2 German CP-1252
3 Italian CP-1252
4 Spanish CP-1252
5 Polish CP-1250
128 Korean CP-949
129 Chinese (Traditional) CP-950
130 Chinese (Simplified) CP-936
131 Japanese CP-932

The Witcher:

Language ID Language Encoding
0 "Debug" UTF-8
3 English UTF-8
5 Polish UTF-8
10 German UTF-8
11 French UTF-8
12 Spanish UTF-8
13 Italian UTF-8
14 Russian UTF-8
15 Czech UTF-8
16 Hungarian UTF-8
20 Korean UTF-8
21 Chinese (Traditional) UTF-8
22 Chinese (Simplified) UTF-8

Sonic Chronicles: The Dark Brotherhood:

Language ID Language Encoding
- English CP-1252
- French CP-1252
- German CP-1252
- Italian CP-1252
- Spanish CP-1252
- Japanese UTF-8

Dragon Age: Origins, Dragon Age II:

Language ID Language Encoding
0 English UTF-16LE
1 French UTF-16LE
2 Russian UTF-16LE
3 Italian UTF-16LE
4 German UTF-16LE
5 Polish UTF-16LE
6 Spanish UTF-16LE
7 Czech UTF-16LE
8 Hungarian UTF-16LE
9 Korean UTF-16LE
10 Japanese UTF-16LE

Status Build Status Coverity Status


To contact us, please either write to mailing list, or join our IRC channel #xoreos on Freenode.