Language Files (ENGLISH.DAT and GERMAN.DAT)

This file format was reverse engineered by bveina and this documentation is based on his notes

The language files (OMF ships with english and german translations) are structured as follows:

N String Blocks:

String Offset: 1 DWORD
String Description: 32 byte null padded string

Data Block extending to end of file.

The String offset from the string block tells you the start point of that particular string. The end point of the string is the start point of the next string. The string data is encrypted in a similar way to the CHR file data.

Decryption is as follows:

When you get to a block that has its string offset as a point after the end of the file, you're done.