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.
|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|
The format of a subfile is not specified in the XLD file. The subfile is usually indexed in the game 1-based.
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