From d31d1f8eab7a2c79e349748939de01895af5de7e Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Sat, 18 Jul 2026 20:40:17 +0400 Subject: feat(script): decode compiled package framing --- docs/tomes/06-behavior.md | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'docs/tomes') diff --git a/docs/tomes/06-behavior.md b/docs/tomes/06-behavior.md index 7f825ad..5e0299e 100644 --- a/docs/tomes/06-behavior.md +++ b/docs/tomes/06-behavior.md @@ -133,6 +133,16 @@ Wizard получает желаемое направление и corridor, а описывает типы, defaults, ranges и строки через макросоподобные формы `VAR(...)` и `STRING(...)`. +Compiled package больше не opaque blob: `fparkan-script` losslessly читает +проверенный внешний framing. Сначала идут `opcode_handler_count` и +`event_count` (`u32 LE`), затем именованные события с NUL-terminated raw +именем и nested records. Reader сохраняет все seven raw header words и +references каждого record, жёстко ограничивает counts/allocations и отдельно +сохраняет trailing bytes. На `c1m2p.scr` GOG reader получает `73` handlers, +`9` events, `17` records и `20` references без trailing bytes. Это структура +файла, но не таблица семантик: названия opcode/words появятся только после +handler contracts и runtime traces. + Безопасная runtime-модель: ```text -- cgit v1.2.3