Death or Glory/DAT: различия между версиями

Материал из Old-Games.RU Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «== Директория "DATEN" == Разобраны файлы "EN*", "INT.DAT", "START.DAT" и другие, но пока не описаны. == Директория "TEXT" == ==== Файлы "DEATH*.DAT" ==== Определяют тексты предсмертных фраз лидеров. Номер в наименовании файлов привязан к идентификаторам персонажей, определенных в фа...»)
 
(Добавлен черновик описания файлов с информацией о персонажах игры.)
 
Строка 1: Строка 1:
== Директория "DATEN" ==
== Директория "DATEN" ==


Разобраны файлы "EN*", "INT.DAT", "START.DAT" и другие, но пока не описаны.
==== Файлы "EN*.DAT" и "START.DAT" ====
 
Файлы содержат описания игровых персонажей:
 
* EN_L*.DAT: Лидеры игровых уровней - противники и союзники, находящиеся сразу и появляющиеся при выполнении каких-то условий (по восемь на каждый). Номер файла соответствует порядковому номеру уровня в игре.
* EN16_*.DAT: Появляющиеся лидеры шестнадцатого (последнего) уровня основной кампании (по три на каждый). Номер файла соответствует порядковому номеру призываемой волны противников (происходит после усмирения всех предыдущих призванных).
* START.DAT: Шесть основных управляемых лидеров (Raven, Cerano, Armitas, Berettar, Nyana и Xhor) и два вспомогательных лидера шестнадцатого (последнего) уровня основной кампании.
 
Каждый файл грубо делится на две части:
 
* описание персонажа лидера;
* описание отряда лидера.
 
Примечания:
 
* В файлах "EN_L*.DAT" предусмотрено описание до восьми персонажей. Союзников и противников может быть меньше и при этом на месте описаний недостающих лидеров часто попадает описания лидеров из файла предыдущего уровня, хотя оно и не используется.
* Описание отрядов пока не разобрано.
 
Описание каждого лидера всегда начинается с фразы "LEAD" (4 байта) и укладывается в 242 байта включительно.
 
Все персонажи описываются последовательно без каких-либо разрывов в значениях байтов.
 
{| class="wikitable"
! Смещение
! Длина
! Комментарий
|-
| 0x0000
| 4
| Значение LEAD (4C 45 41 44h).
|-
| 0x0004
| 2
| Назначение байтов пока не разобрано.
|-
| 0x0006
| 2
| Текущее значение LE (ОЖ, очки жизни).
|-
| 0x0008
| 2
| 01 00 - ход сделан, 00 00 - ход не сделан.
|-
| 0x000A
| 2
| Назначение байтов пока не разобрано.
|-
| 0x000C
| 2
| номер лидера на общей карте уровня (09 00 - Raven, 0A - Cerano, 14 - Armitas...).
|-
| 0x000E
| 8
| Назначение байтов пока не разобрано (скорее всего не используется).
|-
| 0x0016
| 6
| Назначение байтов пока не разобрано.
|-
| 0x001C
| 16
| Наименование бойца отряда лидера.
|-
| 0x002C
| 2
| Назначение байтов пока не разобрано.
|-
| 0x002E
| 2
| AP бойца (АТ, нападение).
|-
| 0x0030
| 2
| VP бойца (ЗЩ, защита).
|-
| 0x0032
| 2
| BW бойца (ОД, очки движения, скорость).
|-
| 0x0034
| 8
| Назначение байтов пока не разобрано (скорее всего не используется).
|-
| 0x003C
| 2
| AN лидера (ЛИ, краткое наименование лидера).
|-
| 0x003E
| 2
| Назначение байтов пока не разобрано.
|-
| 0x0040
| 2
| Номер класса лидера (союзные начинаются с "64 00" (Raven, Prinz), как минимум картинка на карте).
|-
| 0x0042
| 20
| Наименование класса лидера.
|-
| 0x0056
| 2
| Принцип перемещения (0A 00 - левитация, 01 00 - кавалерия (не стены, не вода), 00 00 - пешеход).
|-
| 0x0058
| 14
| Имя лидера.
|-
| 0x0066
| 2
| AP лидера (АТ, нападение).
|-
| 0x0068
| 2
| VP лидера (ЗЩ, защита)..
|-
| 0x006A
| 2
| BW лидера (ОД, очки движения, скорость).
|-
| 0x006C
| 8
| Назначение байтов пока не разобрано.
|-
| 0x0074
| 1
| Номер первой аммуниции (только наименование, номер по списку, смещение 0x700EA в файле "DOG.EXE", начиная с 0).
|-
| 0x0075
| 1
| Номер второй аммуниции.
|-
| 0x0076
| 2
| Назначение байтов пока не разобрано.
|-
| 0x0078
| 2
| Прибавление к AP (АТ, нападение) для лидера, значение "+N".
|-
| 0x007A
| 2
| Прибавление к VP (ЗЩ, защита) для лидера, значение "+N".
|-
| 0x007C
| 2
| Текущее значение MP лидера (ОМ, очки маны).
|-
| 0x007E
| 2
| Полная, максимальное значение MP лидера (ОМ, очки маны).
|-
| 0x0080
| 4
| Заклинания, битовая маска по два бита, определяющие уровень (?, ?, Heilen (Лечение), ?, ?, ?, ?, ?, ?, ?, ?, ?, Rakete (Снаряд), ?, ?, ?).
|-
| 0x0084
| 38
| Назначение байтов пока не разобрано.
|-
| 0x00AA
| 2
| Значение номера файла "INFO*.DAT", используемый для вывода информации о лидере.
|-
| 0x00AC
| 2
| Значение номера файла "DEATH*.DAT", используемый для вывода диалога умирающего лидера.
|-
| 0x00AE
| 26
| Назначение байтов пока не разобрано.
|-
| 0x00C8
| 2
| EP лидера (ОП, текущий набранный опыт).
|-
| 0x00CA
| 40
| Назначение байтов пока не разобрано.
|-
|}
 
, смещение и длина считаются в байтах (шт.). Смещение - шестнадцатеричная система исчисления, длина - десятичная система исчисления.


== Директория "TEXT" ==
== Директория "TEXT" ==

Текущая версия от 19:30, 24 августа 2025

Директория "DATEN"

Файлы "EN*.DAT" и "START.DAT"

Файлы содержат описания игровых персонажей:

  • EN_L*.DAT: Лидеры игровых уровней - противники и союзники, находящиеся сразу и появляющиеся при выполнении каких-то условий (по восемь на каждый). Номер файла соответствует порядковому номеру уровня в игре.
  • EN16_*.DAT: Появляющиеся лидеры шестнадцатого (последнего) уровня основной кампании (по три на каждый). Номер файла соответствует порядковому номеру призываемой волны противников (происходит после усмирения всех предыдущих призванных).
  • START.DAT: Шесть основных управляемых лидеров (Raven, Cerano, Armitas, Berettar, Nyana и Xhor) и два вспомогательных лидера шестнадцатого (последнего) уровня основной кампании.

Каждый файл грубо делится на две части:

  • описание персонажа лидера;
  • описание отряда лидера.

Примечания:

  • В файлах "EN_L*.DAT" предусмотрено описание до восьми персонажей. Союзников и противников может быть меньше и при этом на месте описаний недостающих лидеров часто попадает описания лидеров из файла предыдущего уровня, хотя оно и не используется.
  • Описание отрядов пока не разобрано.

Описание каждого лидера всегда начинается с фразы "LEAD" (4 байта) и укладывается в 242 байта включительно.

Все персонажи описываются последовательно без каких-либо разрывов в значениях байтов.

Смещение Длина Комментарий
0x0000 4 Значение LEAD (4C 45 41 44h).
0x0004 2 Назначение байтов пока не разобрано.
0x0006 2 Текущее значение LE (ОЖ, очки жизни).
0x0008 2 01 00 - ход сделан, 00 00 - ход не сделан.
0x000A 2 Назначение байтов пока не разобрано.
0x000C 2 номер лидера на общей карте уровня (09 00 - Raven, 0A - Cerano, 14 - Armitas...).
0x000E 8 Назначение байтов пока не разобрано (скорее всего не используется).
0x0016 6 Назначение байтов пока не разобрано.
0x001C 16 Наименование бойца отряда лидера.
0x002C 2 Назначение байтов пока не разобрано.
0x002E 2 AP бойца (АТ, нападение).
0x0030 2 VP бойца (ЗЩ, защита).
0x0032 2 BW бойца (ОД, очки движения, скорость).
0x0034 8 Назначение байтов пока не разобрано (скорее всего не используется).
0x003C 2 AN лидера (ЛИ, краткое наименование лидера).
0x003E 2 Назначение байтов пока не разобрано.
0x0040 2 Номер класса лидера (союзные начинаются с "64 00" (Raven, Prinz), как минимум картинка на карте).
0x0042 20 Наименование класса лидера.
0x0056 2 Принцип перемещения (0A 00 - левитация, 01 00 - кавалерия (не стены, не вода), 00 00 - пешеход).
0x0058 14 Имя лидера.
0x0066 2 AP лидера (АТ, нападение).
0x0068 2 VP лидера (ЗЩ, защита)..
0x006A 2 BW лидера (ОД, очки движения, скорость).
0x006C 8 Назначение байтов пока не разобрано.
0x0074 1 Номер первой аммуниции (только наименование, номер по списку, смещение 0x700EA в файле "DOG.EXE", начиная с 0).
0x0075 1 Номер второй аммуниции.
0x0076 2 Назначение байтов пока не разобрано.
0x0078 2 Прибавление к AP (АТ, нападение) для лидера, значение "+N".
0x007A 2 Прибавление к VP (ЗЩ, защита) для лидера, значение "+N".
0x007C 2 Текущее значение MP лидера (ОМ, очки маны).
0x007E 2 Полная, максимальное значение MP лидера (ОМ, очки маны).
0x0080 4 Заклинания, битовая маска по два бита, определяющие уровень (?, ?, Heilen (Лечение), ?, ?, ?, ?, ?, ?, ?, ?, ?, Rakete (Снаряд), ?, ?, ?).
0x0084 38 Назначение байтов пока не разобрано.
0x00AA 2 Значение номера файла "INFO*.DAT", используемый для вывода информации о лидере.
0x00AC 2 Значение номера файла "DEATH*.DAT", используемый для вывода диалога умирающего лидера.
0x00AE 26 Назначение байтов пока не разобрано.
0x00C8 2 EP лидера (ОП, текущий набранный опыт).
0x00CA 40 Назначение байтов пока не разобрано.

, смещение и длина считаются в байтах (шт.). Смещение - шестнадцатеричная система исчисления, длина - десятичная система исчисления.

Директория "TEXT"

Файлы "DEATH*.DAT"

Определяют тексты предсмертных фраз лидеров.

Номер в наименовании файлов привязан к идентификаторам персонажей, определенных в файлах "START.DAT" и "EN*", размещенных в директории "DATEN".

Смещение Длина Комментарий
0x0000 2 Количество строк в тексте.
0x0002 39 Содержимое первой строки (нулевые значения байтов не допускаются).
0x0029 1 Нулевое значение байта (00h).
0x002A 39 Содержимое второй строки (нулевые значения байтов не допускаются).
0x0051 1 Нулевое значение байта (00h).
0x0052 ... Далее последовательность повторяется.

, смещение и длина считаются в байтах (шт.). Смещение - шестнадцатеричная система исчисления, длина - десятичная система исчисления.

Файлы "INFO*.DAT"

Определяют тексты описаний лидеров.

Номер в наименовании файлов привязан к идентификаторам персонажей, определенных в файлах "START.DAT" и "EN*", размещенных в директории "DATEN".

Смещение Длина Комментарий
0x0000 2 Количество строк в тексте.
0x0002 39 Содержимое первой строки (нулевые значения байтов не допускаются).
0x0029 1 Нулевое значение байта (00h).
0x002A 39 Содержимое второй строки (нулевые значения байтов не допускаются).
0x0051 1 Нулевое значение байта (00h).
0x0052 ... Далее последовательность повторяется.

, смещение и длина считаются в байтах (шт.). Смещение - шестнадцатеричная система исчисления, длина - десятичная система исчисления.

Файлы "PROLOG*.DAT"

Определяют тексты подробных описаний глав (уровней) игры.

Номер в наименовании файлов на единицу меньше номера главы игры, к которому привязан пролог. Такое допущение вероятно связано с отображением содержимого (описания следующего уровня) сразу поле победы на текущем уровне.

Смещение Длина Комментарий
0x0000 2 Количество строк в тексте.
0x0002 39 Содержимое первой строки (нулевые значения байтов не допускаются).
0x0029 1 Нулевое значение байта (00h).
0x002A 39 Содержимое второй строки (нулевые значения байтов не допускаются).
0x0051 1 Нулевое значение байта (00h).
0x0052 ... Далее последовательность повторяется.

, смещение и длина считаются в байтах (шт.). Смещение - шестнадцатеричная система исчисления, длина - десятичная система исчисления.

В игре строки отображаются с центрирование по середине экрана и, если весь текст не умещается по вертикале на одном экране, отображение выполняется на нескольких последовательных.

Файлы "STSEQ*.DAT"

Определяют игровые диалоги, включая тексты фразы и ссылки на портреты участников.

Смещение Длина Комментарий
0x0000 2 Количество фраз в диалоге.
Первая фраза.
0x0002 2 Идентификатор лидера, определенный в файлах "START.DAT" и "EN*".
0x0004 10 Назначение байтов пока не разобрано (выглядят неиспользуемыми).
0x000E 2 Количество строк в тексте фразы (далее N).
0x0010 39 Содержимое первой строки текста фразы (нулевые значения байтов не допускаются).
0x0037 1 Нулевое значение байта (00h).
0x**** ... Последовательность строк фразы повторяется N раз.
Вторая фраза.
0x0002 + 14 + 40*N 2 Идентификатор лидера, определенный в файлах "START.DAT" и "EN*".
0x0002 + 14 + 40*N + 2 10 Назначение байтов пока не разобрано (выглядят неиспользуемыми).
0x0002 + 14 + 40*N + 12 2 Количество строк в тексте фразы (далее M).
0x0002 + 14 + 40*N + 14 39 Содержимое первой строки текста фразы (нулевые значения байтов не допускаются).
0x0002 + 14 + 40*N + 53 1 Нулевое значение байта (00h).
0x0002 + 14 + 40*N + 54 ... Далее последовательность повторяется.

, смещение и длина считаются в байтах (шт.). Смещение - шестнадцатеричная система исчисления, длина - десятичная система исчисления.

Идентификаторы лидеров влияют на отображаемый в диалоге портрет и на перемещение курсора на соответствующего персонажа перед отображением его фразы. При отсутствии последнего курсор будет перемещен куда-то, а портрет отсутствовать.