47 lines
2.6 KiB
Markdown
47 lines
2.6 KiB
Markdown
# Missions
|
||
|
||
Подсистема `Missions` управляет сценарием:
|
||
|
||
- стартовыми условиями;
|
||
- триггерами;
|
||
- победой/поражением;
|
||
- синхронизацией с AI/Behavior/World.
|
||
|
||
## 1. Что уже зафиксировано
|
||
|
||
1. Миссии связаны с картами (`Land.msh`/`Land.map`) и объектными категориями.
|
||
2. Скриптовые ресурсы хранятся в архивных контейнерах (`NRes`) и участвуют в runtime-логике.
|
||
3. Миссионные события влияют на AI и поведение объектов через общий gameplay-слой.
|
||
|
||
## 2. Минимальный runtime-контракт
|
||
|
||
1. Детерминированный порядок обработки триггеров в кадре.
|
||
2. Единая шкала времени миссии для всех подсистем.
|
||
3. Согласованность идентификаторов объектов между mission-data и world-state.
|
||
|
||
## 3. Статус покрытия и что осталось до 100%
|
||
|
||
Закрыто:
|
||
|
||
- связь миссионной подсистемы с форматом ресурсов и runtime-контуром.
|
||
|
||
Осталось:
|
||
|
||
1. Полная спецификация форматов миссионных скриптов/таблиц.
|
||
2. Полный перечень типов триггеров и их параметров.
|
||
3. Формальные правила разрешения конфликтов триггеров в одном кадре.
|
||
4. Набор replay parity-тестов «миссия от старта до завершения».
|
||
## 4. Mission -> Prototype -> Mesh bridge
|
||
|
||
Для 3D-объектов миссии обязательна промежуточная стадия `objects.rlb`:
|
||
|
||
1. `data.tma` задаёт либо прямой ключ объекта, либо путь к `*.dat`.
|
||
2. `*.dat` даёт `model_key` (в retail-наборе через `objects.rlb`).
|
||
3. Ключ резолвится в запись прототипа внутри `objects.rlb`.
|
||
4. Из прототипа выбирается фактический `*.msh` и архив (например `bases.rlb`, `static.rlb`, `fortif.rlb`).
|
||
5. Только после этого запускается стандартная цепочка материалов и текстур.
|
||
|
||
Детальный формат и алгоритм вынесены в отдельную страницу:
|
||
|
||
- [Object registry (`objects.rlb`)](object-registry.md)
|