Ultima IX Internal Formats

Here is a description of various data files used by Ultima IX. The original descriptions were taken from the U9Tools collection that can be found here. The software is licensed under the GPL.

Bitmap Format
When 'x' is used as an offset, it indicates that the data it references follows immediately after the previous data.

Books Format
The format for items in books-en.flx is as follows. This format is more than likely also used for the other languages as well.

FLX Format
The FLX format is used to glob lots of data files into one big file. No provision is made to store names of files, so they must be indexed by number (although another file probably provides a name to number lookup). There is a possibility that the user of this format does not want the first data item in the file to be item 0, so there may be provision for this in the header. I doubt this is the case tho, as at least one of the files has blank directory entries in the first few slots, presumably to effect this.

Multi-byte integer formats are little-endian.