re: the chatter phase merge is not additive; 224 authored variants never play

sub_82215A58 reads CrewCount + PresetMessage_Phase1/2/3 and reaches the loader
from ONE call site, so the three phase tables fold into one map keyed by the
event record name.  Every merge collides; sub_82213840 reconciles on the
message list plus +16/+17/+18/+20/+24/+28 (NOT the +32 Yes mask), and the
incumbent always wins.  Measured: 26432 collisions, 26208 identical, 224
different (189 differ only in the message list), 0 mask-only differences.

Refuted handle: intersecting functions by the object's offsets finds dozens of
unrelated layouts -- offset shape is not an identifier.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
Claude (auto)
2026-08-27 16:50:42 +00:00
parent c4fd90baa9
commit 6ee041c1bf
5 changed files with 179 additions and 5 deletions

View File

@@ -162,6 +162,19 @@ unresolved : 17
MSG_VOICE_D_447
MSG_VOICE_D_449
phase merge (the loader folds Phase1/2/3 into one map):
UnitMessageSet records naming >= 2 phase tables : 298
duplicate-key insertions to reconcile : 26432
identical on the compared fields : 26208
DIFFERENT -> loader clears its ok flag : 224
compared fields equal but Yes mask differs : 0
x189 MESSAGE_LIST
x17 Probability, Priority, Pattern, Interval, EffectiveTime, MESSAGE_LIST
x14 Probability, Priority, Pattern, Interval, MESSAGE_LIST
x2 Probability, Priority, Interval, IntervalFluctuation, MESSAGE_LIST
x1 Probability, Priority, Pattern, Interval, IntervalFluctuation, EffectiveTime, MESSAGE_LIST
x1 Probability, Priority, Interval, IntervalFluctuation
naming route 1 (any harvested PresetMessage_ string): 136/144
naming route 2 (UnitMessageSet_S* declarations) : 136/144
naming route 3 (strip _msg from a message table) : 137/144