Blackthorne/Текстовые ресурсы
Текстовые ресурсы в Blackthorne сконцентрированы в ресурсах 002..004 файла DATA.DAT, причем по содержанию они идентичны (информация полностью дублируется). Возможно, это сделано с целью поддержки других языков (в ресурсах есть упоминания об английском, французском и немецком языках), однако по какой-то причине в рассматриваемом дистрибутиве игры во всех текстовых ресурсах представлен только английский язык.
Формат текстового ресурса
Формат довольно занимателен для игры тех лет. В отличие от других ресурсов, текстовые ресурсы не сжаты. Ниже представлен формат такого ресурса.
В файлах используется порядок байтов little-endian.
Смещение | Размер | Описание |
---|---|---|
0x0000 | 4 байта | Заголовок - размер ресурса (без учета заголовка) |
0x0004 | 159 * 2 байта = 318 байт | Смещения текстовых данных (без учета заголовка) |
0x0142 | 2 байта | Разделитель (0xFF 0xFF) |
0x0144 | Оставшаяся часть ресурса | Текстовые данные |
Смещения текстовых файлов следует вычислять без первых 4 байтов (заголовка).
Формат текстовых данных
Смещение | Размер | Описание |
---|---|---|
0x0000 | 4 байта | Индекс текстовой строки (?) |
0x0004 | Остаток текста | Текстовая строка ASCII, завершающаяся байтом 0x00 |
Некоторые символы заменены эквивалентом. Это объясняется тем, что программисты сэкономили на изображении шрифтов и поместили знаки препинания в область между цифрами и буквами стандартной ASCII-таблицы. Ниже приведена таблица преобразования.
ASCII-код символа | Символ | Значение |
---|---|---|
0x0d | (непечатаемый символ) | Перевод строки |
0x3c | < | Восклицательный знак (!) |
0x3d | = | Амперсанд (') |
0x5e | ^ | Точка (.) |