aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-02-19 15:10:57 +0300
committerValentin Popov <valentin@popov.link>2026-02-19 15:10:57 +0300
commit31d849ddbf897a5087f46d9b3cb0054a397aeb1c (patch)
treeec78c0fc2fc898614f19f20e5d4667a57f7d5119 /docs
parent4ef08d0bf6366b0bc8ccb6357b794937411f74cc (diff)
downloadfparkan-31d849ddbf897a5087f46d9b3cb0054a397aeb1c.tar.xz
fparkan-31d849ddbf897a5087f46d9b3cb0054a397aeb1c.zip
updated docs
Diffstat (limited to 'docs')
-rw-r--r--docs/specs/missions.md13
-rw-r--r--docs/specs/nres.md13
2 files changed, 26 insertions, 0 deletions
diff --git a/docs/specs/missions.md b/docs/specs/missions.md
index f531132..f8b2cd4 100644
--- a/docs/specs/missions.md
+++ b/docs/specs/missions.md
@@ -31,3 +31,16 @@
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)
diff --git a/docs/specs/nres.md b/docs/specs/nres.md
index 03b4c3e..bb31823 100644
--- a/docs/specs/nres.md
+++ b/docs/specs/nres.md
@@ -187,3 +187,16 @@ Fail-safe поведение:
1. Формальная семантика `attr1/attr2/attr3` для всех типов ресурсов (частично вынесена в профильные страницы `msh`, `material`, `texture`, `fxid`, `terrain`).
2. Полная спецификация поведения при не-ASCII именах (в реальных игровых архивах используется ASCII-практика; для Unicode-коллации движок не документирован).
3. Полная спецификация платформенных гарантий атомарной записи (формат данных закрыт, но OS-уровневые гарантии замены файла зависят от платформы и файловой системы).
+## 12. Специализация `objects.rlb`
+
+Хотя `objects.rlb` формально является обычным `NRes`, его payload имеет отдельный семантический контракт:
+
+- запись каталога соответствует одному объектному прототипу;
+- payload записи - массив фиксированных ссылок `ObjectRef64` (`archive_name[32] + resource_name[32]`);
+- runtime-резолв меша выполняется через эти ссылки, а не через имя entry `*.msh` внутри `objects.rlb`.
+
+Это означает, что `objects.rlb` должен рассматриваться не как архив мешей, а как реестр привязок между mission/unit-ключами и фактическими ресурсами.
+
+См. детальную страницу:
+
+- [Object registry (`objects.rlb`)](object-registry.md)