aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-07-18 21:36:38 +0300
committerValentin Popov <valentin@popov.link>2026-07-18 21:36:38 +0300
commitf49010c723aa42ee97cf780a6b24f2e8f9c1a444 (patch)
tree6518ffa4ea923ff89c02be8cb91645321716bd34 /docs
parent70c7afe25c352bd699f6654932b3b657f87ce4c6 (diff)
downloadfparkan-f49010c723aa42ee97cf780a6b24f2e8f9c1a444.tar.xz
fparkan-f49010c723aa42ee97cf780a6b24f2e8f9c1a444.zip
feat(runtime): apply mission script outcomes
Diffstat (limited to 'docs')
-rw-r--r--docs/appendices/script-vm.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/docs/appendices/script-vm.md b/docs/appendices/script-vm.md
index 107aa5a..0ae2e58 100644
--- a/docs/appendices/script-vm.md
+++ b/docs/appendices/script-vm.md
@@ -252,6 +252,13 @@ call. Those branches are not yet assigned Rust gameplay meanings. Reproduce
the current evidence with `capture-ai-init.ps1` and
`ExportIron3dAiCallback.java`.
+Runtime now applies only this recovered branch as
+`apply_loaded_script_host_callback`: `(0, 0, 0)` transitions a loaded mission
+to `Failed`, `(0, 0, 1)` transitions it to `Completed`, and a repeated target
+state is a no-op just as the Iron3D guards require. The effect is deliberately
+separate from audio/UI playback; commands 1, 3, 4, 5 and mode 2 return
+`Unhandled` until their consumers are recovered.
+
### Handler(8): problem-record state write
`Handler(8)` is the ninth VM-table entry at GOG `ai.dll` VA `0x10009b0d`.