Blackthorne/Текстовые ресурсы: различия между версиями
м |
|||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 12: | Строка 12: | ||
! Описание | ! Описание | ||
|- | |- | ||
− | | 0x0000 || 4 | + | | 0x0000 || 4 байта || Заголовок - размер ресурса (без учета заголовка) |
|- | |- | ||
| 0x0004 || 159 * 2 байта = 318 байт || Смещения текстовых данных (без учета заголовка) | | 0x0004 || 159 * 2 байта = 318 байт || Смещения текстовых данных (без учета заголовка) | ||
Строка 35: | Строка 35: | ||
|} | |} | ||
− | Некоторые символы заменены эквивалентом, | + | Некоторые символы заменены эквивалентом. Это объясняется тем, что программисты сэкономили на изображении [[Blackthorne/шрифты|шрифтов]] и поместили знаки препинания в область между цифрами и буквами стандартной ASCII-таблицы. Ниже приведена таблица преобразования. |
{|class=wikitable | {|class=wikitable | ||
! ASCII-код символа | ! ASCII-код символа | ||
Строка 41: | Строка 41: | ||
! Значение | ! Значение | ||
|- | |- | ||
− | | 0x0d || | + | | 0x0d || (непечатаемый символ) || Перевод строки |
|- | |- | ||
| 0x3c || < || Восклицательный знак (!) | | 0x3c || < || Восклицательный знак (!) |
Текущая версия на 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 | ^ | Точка (.) |