Implement native RT.DAT read history

This commit is contained in:
gamer147
2026-07-24 15:11:30 -04:00
parent f17c89ec9a
commit bda586aa28
19 changed files with 646 additions and 28 deletions

View File

@@ -1002,6 +1002,7 @@ abi_source = "kelebek+decode-validated"
name = "reset-adv-text-layout"
category = "adv"
summary = "(layout_slot) - clear/reset an ADV text layout, append a retained-history boundary when recording is enabled, snapshot the current code/text position, and commit pending ReadTextDB records. T1 entries target these structural reset sites."
details = "Port status (2026-07-24): commits the profile-owned ReadTextDB queue, records the current T1 coordinate, and refreshes per-message read-skip state in addition to the retained-layout reset."
noop_headless = false
source = "investigation"
confidence = "high"
@@ -1023,6 +1024,7 @@ abi_source = "kelebek+decode-validated"
name = "wait-for-input"
category = "adv"
summary = "(layout_slot) - arm the ADV input wait after text reveal completes; activate the configured wait indicator and, while Auto is enabled, arm the appropriate Auto-message timer."
details = "Port status (2026-07-24): after the blocking host releases this wait, the VM queues the current packed script id, T1 message index, and T1 count; the next 0x71 commits it. Already-read waits use the same queue path after immediate host release."
noop_headless = false
source = "investigation"
confidence = "high"
@@ -4240,6 +4242,7 @@ abi_source = "kelebek+decode-validated"
name = "set-read-message-skip"
category = "input"
summary = "(enabled) - set the engine setting `message:ReadTextSkip`, which skips only previously read text."
details = "Port status (2026-07-24): implemented as profile-lifetime engine setting state. Changing it immediately refreshes the current T1 message against the shared RT.DAT-backed ReadTextDB."
noop_headless = false
source = "investigation"
confidence = "high"
@@ -4261,6 +4264,7 @@ abi_source = "kelebek+decode-validated"
name = "get-read-message-skip"
category = "input"
summary = "(out) - read the engine setting `message:ReadTextSkip`."
details = "Port status (2026-07-24): implemented through the same profile-lifetime setting used by 0x1ca and the ADV ReadTextDB query path."
noop_headless = false
source = "investigation"
confidence = "high"
@@ -4282,6 +4286,7 @@ abi_source = "kelebek+decode-validated"
name = "get-adv-read-skip-state"
category = "control"
summary = "(out) - copy the current ADV read/click-skip service state from ctx+0x6dbd4. label_1235a ORs it with 0x1c7's Ctrl/message-skip bit: zero takes 0x21c's normal transition/yield path; nonzero resets the animation service and presents the completed endpoint through 0x20c."
details = "Port status (2026-07-24): the VM refreshes this state from message:ReadTextSkip plus the current packed script id/T1 message index at 0x6e, 0x71, and 0x72. It is shared-profile read history, not a host-only flag."
noop_headless = false
source = "investigation"
confidence = "high"