aboutsummaryrefslogtreecommitdiff
path: root/docs/tomes
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-10-23 12:45:30 +0300
committerValentin Popov <valentin@popov.link>2026-10-23 12:45:30 +0300
commitd9fe0fcc66ded80b2ae1b22b24c1f088ddff2799 (patch)
tree65df5a9686ac0c1f73436ae665e9a3d2a54dbb7c /docs/tomes
parent4e16902661bc659e28f81155887ec63dc5746546 (diff)
downloadfparkan-d9fe0fcc66ded80b2ae1b22b24c1f088ddff2799.tar.xz
fparkan-d9fe0fcc66ded80b2ae1b22b24c1f088ddff2799.zip
feat(runtime): retain initial Control node amounts
Diffstat (limited to 'docs/tomes')
-rw-r--r--docs/tomes/06-behavior.md9
1 files changed, 9 insertions, 0 deletions
diff --git a/docs/tomes/06-behavior.md b/docs/tomes/06-behavior.md
index bb0a6fe..2eea626 100644
--- a/docs/tomes/06-behavior.md
+++ b/docs/tomes/06-behavior.md
@@ -882,6 +882,15 @@ initial_mesh_state: Option<MissionControlNodeInitialMeshState>
начинает с локального узла `1`. Это описывает исходную настройку: код пока не
переключает стадии в ходе игры и не исполняет полный Control tick.
+На той же начальной стадии Control вычисляет количество строки по NDP
+`max_volume`. Для загрузки Unit DAT проверенные множители равны `1.0`, поэтому
+количество совпадает с исходным значением NDP. Оригинал начинает с одинакового
+текущего и последнего обработанного количества; Rust сохраняет его один раз как
+`initial_amount_bits`. Это исходный снимок, а не неизменяемая вместимость:
+позднее Control меняет оба количества. В лицензированном `min_l_n1.dat`
+проверены, например, root row `0` со значением `1.0` и строка `EXTO` с local
+row `1` в общей позиции `22` со значением `6000.0`.
+
После загрузки количество в строках может меняться. Контроллер распределяет
добавку либо пропорционально свободному месту, либо по очереди: при максимумах
`[30, 60, 50]`, текущих значениях `[10, 20, 0]` и добавке `22` первый способ