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

Материал из Old-Games.RU Wiki
Перейти к навигации Перейти к поиску
м
м
Строка 12: Строка 12:
 
! Описание  
 
! Описание  
 
|-
 
|-
| 0x0000    || 4 байт  || Заголовок - размер ресурса (без учета заголовка)  
+
| 0x0000    || 4 байта  || Заголовок - размер ресурса (без учета заголовка)  
 
|-
 
|-
 
| 0x0004    || 159 * 2 байта = 318 байт || Смещения текстовых данных (без учета заголовка)  
 
| 0x0004    || 159 * 2 байта = 318 байт || Смещения текстовых данных (без учета заголовка)  
Строка 41: Строка 41:
 
! Значение  
 
! Значение  
 
|-
 
|-
| 0x0d ||   || Перевод строки  
+
| 0x0d || (непечатаемый символ)  || Перевод строки  
 
|-
 
|-
 
| 0x3c || < || Восклицательный знак (!)  
 
| 0x3c || < || Восклицательный знак (!)  

Версия 07:17, 19 марта 2014

Текстовые ресурсы в 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-код символа Символ Значение
0x0d (непечатаемый символ) Перевод строки
0x3c < Восклицательный знак (!)
0x3d = Амперсанд (')
0x5e ^ Точка (.)