Ground event retagger trigger materializations
This commit is contained in:
parent
e2f60bef9a
commit
e62962f337
2 changed files with 17 additions and 0 deletions
|
|
@ -9535,6 +9535,9 @@ fn parse_event_runtime_collection_summary_with_tag_width(
|
|||
control_lane_notes.push(
|
||||
"the post-load name-driven retagger is narrower than a bulk trigger-kind materializer too: direct disassembly of 0x00442c30 (called from 0x00443a50 at 0x00444b50) shows a hardcoded scenario-name patch table over already-live records in 0x0062be18/0x0062bae0, and the checked cases mostly tweak modifier bytes [event+0x7f9/+0x7fa] or nested payload scalars on records that already carry concrete kinds such as 7 ('Open Aus', 'The American'), 6 ('Test connections'), 5 ('Win - Gold'), and 1 ('Win - Silver' / 'Win - Bronze')".to_string(),
|
||||
);
|
||||
control_lane_notes.push(
|
||||
"direct disassembly now boxes in the explicit trigger-kind materializations inside that same retagger too: the 'SP - GOLD' branch at 0x00443526 rewrites [event+0x7ef] from 1 to 5 on live runtime-event id 1 when the scenario flag [world+0x66de] is set and payload-root kind 7 carries subtype byte 5, while the 'Labor' branch at 0x00443601 rewrites [event+0x7ef] from 0 to 2 on live runtime-event id 0x0d when the same scenario flag is set and the checked 0x3c -> 0x3d child payload pair carries the matching negative scalar sentinel".to_string(),
|
||||
);
|
||||
}
|
||||
if records_with_trigger_kind != 0 {
|
||||
control_lane_notes.push(format!(
|
||||
|
|
@ -22386,6 +22389,14 @@ mod tests {
|
|||
&& line.contains("Win - Gold")
|
||||
&& line.contains("Win - Silver")
|
||||
}));
|
||||
assert!(summary.control_lane_notes.iter().any(|line| {
|
||||
line.contains("SP - GOLD")
|
||||
&& line.contains("0x00443526")
|
||||
&& line.contains("1 to 5")
|
||||
&& line.contains("Labor")
|
||||
&& line.contains("0x00443601")
|
||||
&& line.contains("0 to 2")
|
||||
}));
|
||||
assert!(summary.control_lane_notes.iter().any(|line| {
|
||||
line.contains("0x00431b20 dispatch-strip opcodes present in decoded grouped rows = [4]")
|
||||
}));
|
||||
|
|
|
|||
|
|
@ -297,6 +297,12 @@ Working rule:
|
|||
remaining trigger-kind frontier is no longer “maybe the name sweep bulk-materializes null
|
||||
kinds”; it is the smaller set of scenario-specific records where that sweep explicitly writes
|
||||
`[event+0x7ef]` itself or a still-later owner does.
|
||||
- two explicit trigger-kind materializations are now grounded inside that retagger:
|
||||
the `SP - GOLD` branch at `0x00443526` rewrites `[event+0x7ef]` from `1 -> 5` on live
|
||||
runtime-event id `1` when `[world+0x66de]` is set and the checked root payload is kind `7`
|
||||
with subtype byte `5`, while the `Labor` branch at `0x00443601` rewrites `[event+0x7ef]`
|
||||
from `0 -> 2` on live runtime-event id `0x0d` when the same scenario flag is set and the
|
||||
checked `0x3c -> 0x3d` child payload pair carries the matching negative scalar sentinel.
|
||||
- cross-map probing now gives a better static-analysis lead too:
|
||||
`British Isles.gmp` shows no current `0x00431b20` dispatch-strip rows, `Germany.gmp` stays on
|
||||
`Game Variable 1` plus `Company Variable 3..4`, while `Texas Tea.gmp` adds `Economic Status`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue