XLD

From Albion Wiki
Jump to navigation Jump to search

XLD archive is a file format used in Albion to store game data. The data is stored in so-called subfiles, where subfile has an index.

Structure

Offset Size Type Description
0 6 string ASCII string "XLD0I" and a zero byte
6 2 integer number of subfiles in the archive
8+4×n 4 integer size of n-th subfile (0-based)
8+4×num+∑sizes[0…n-1] sizes[n] bytes the data of the n-th subfile

Subfiles

The format of a subfile is not specified in the XLD file. The subfile is usually indexed in the game 1-based.

Multi-file indexing

When there are more than 100 subfiles, they are separated in multiple files, named NAME0, NAME1, etc. The index is then computed as follows: index 0 is the null subfile, index 1 is the 0th XLD 0th subfile, index 2 is the 0th XLD 1st subfile, etc. Index 100 is the 1st XLD 0th subfile, index 101 is the 1st XLD 1st subfile, index 200 is the 2nd XLD 0th subfile etc.

XLD index = floor(index / 100)
subfile index = (index >= 100) ? index % 100 : index - 1

List of XLD archives

Main

Language

  • EVNTTXT
  • FLICS
  • MAPTEXT
  • WORDLIS

Save data

  • AUTOMAP
  • CHESTDT
  • MERCHDT
  • NPCCHAR
  • PRTCHAR