Blackthorne/Текстовые ресурсы: различия между версиями

Материал из Old-Games.RU Wiki
Перейти к навигации Перейти к поиску
м
 
Строка 35: Строка 35:
 
|}
 
|}
  
Некоторые символы заменены эквивалентом, ниже приведена таблица преобразования
+
Некоторые символы заменены эквивалентом. Это объясняется тем, что программисты сэкономили на изображении [[Blackthorne/шрифты|шрифтов]] и поместили знаки препинания в область между цифрами и буквами стандартной ASCII-таблицы. Ниже приведена таблица преобразования.
 
{|class=wikitable
 
{|class=wikitable
 
! ASCII-код символа  
 
! ASCII-код символа  

Текущая версия на 18:45, 20 июля 2016

Текстовые ресурсы в 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 ^ Точка (.)