Wiki

Clone wiki

p12simtran / structs

Структуры частей 1 и 2

Общее описание

Объекты - это отдельные логические элементы, имеющие статус (состояние), положение на экране, присвоенное изображение (через опкод SET или IMAGE), наименование для отображения в сцене. Объекты которые могут быть помещены в инвентарь имеют подробное описание. Объекты-персонажи могут иметь указание на цвет субтитров этого персонажа. Все свойства объекта описаны в Свойствах объекта.

Сцены (Scenes) - это логические элементы содержащие другие объекты. Структурно аналогичны объектам. Объекты и сцены имеют обработчики событий. Каждый обработчик имеет тип и условие. Обработчик вызывается при наступлении события (инициализация, присваивание изображения, выполнение действия надо объектом и т. д.). Обработчик события состоит из байт-кода объектов.

Группы диалогов - логические элементы объединяющие обработчики. Каждый обработчик имеет условие, ссылку на объект (который вызывает его) и содержит один или несколько диалогов. Диалог состоит из байт-кода диалогов (Dialog opcodes). Диалоги состоят из отдельных операций (произнести фразу, выбрать одну фразу из списка, послать сообщение объекту через опкод USERMSG и т. д.).

Каждое сообщение фраза имеет субтитры, имя wav файла для воспроизведения и указание какой объект-персонаж анимируется при воспроизведении (т. е. кто открывает рот).

Кроме того при выполнении байт-кода объектов используются ссылки на ресурсы. Ресурс — это пара номер и имя файла.

Объекты

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

Данные объекта описываются в SCRIPT.DAT.

  • Обработчики - при выполнении операции над объектом вызывается обработчик
  • Уникальный номер
  • Внутреннее имя объекта

Дополнительные данные из других файлов:

  • Ресурсы (RESOURSE.QRC)
  • Отображаемое на экране имя (NAMES.INI)
  • Цвет субтитров (для объектов-персонажей, CAST.INI)
  • Подробное описание (для объектов-инвентаря, INVNTR.TXT)

Данные не описанные в файлах:

  • Статус объекта - текущее состояние (uint8, по умолчанию 0xff)

Сцена

Сцена - текущее изображение на экране с фоновыми звуками и расположенными объектами.

Данные сцены описываются в SCRIPT.DAT.

  • Обработчики - при выполнении операции над сценой вызывается обработчик
  • Уникальный номер
  • Внутреннее имя объекта

Дополнительные данные из других файлов:

  • Объекты расположенные в текущей сцене (BACKGRND.BG)
  • Перспективные искажения, точки перехода между сценами (BGS.INI)
  • Точки появления персонажей при переходе из другой сцены (BGS.INI)

Данные не описанные в файлах:

  • Статус сцены - текущее состояние (uint8, по умолчанию 0xff)

Обработчик объектов/сцен

См. также Коды операций (опкоды).

Группы диалогов

Группы диалогов описываются в DIALOGUE.FIX.

Обработчик диалогов

Диалоги

Диалоговые операции

См. также Коды операций диалогов (диалоговые опкоды).

Фразы

Фразы и субтитры к ним описываются в DIALOGUE.LOD.

Updated