re: correction -- the dialogue table was already in the corpus, and one negative was false
The previous commit announced message\MissionDialogMessage.tbl as a find. structures/ixud-localised-text.md OWNS it and already says S02_P1_OBJECTIVE and friends are record names in an IDXD map, message\MissionDialogMessage.tbl, whose positional fields list the lowercase per-line IXUD names -- and that *_GRAPH is the odd one, a single named field holding a texture. I grepped the manifest doc and not the text doc. Third overclaim in four days; the rule is now to grep the doc that owns the DATA, not only the doc that owns the FILE. Worse, the headline negative was wrong. MissionDialog_local_string.tbl DOES resolve -- as language\MissionDialog_local_string.tbl, IXUD, in all six GP_MAIN_GAME_* paks. My 33 prefixes omitted language\, which is precisely the convention ixud-localised-text.md records for language paks. A prefix sweep is only as good as its prefix list, and the list should come from the corpus. 'LOSE has exactly one entry' was wrong too. Per kind: HINT_PAUSE 4, HINT 3, LOSE 4, OBJECTIVE 4 positional fields, and GRAPH 1 NAMED field holding the .t32. The single-field bucket was GRAPH, not LOSE. What survives as new: the 11 non-MISSION field values read as a block; the GP_TEST and TEXTS sibling records; the per-stage phase census; and the five pgmsg_*.prt resolving nowhere under 34 prefixes x 41 archives, now with two working controls in the same sweep. Artefact 8 insertions / 3 deletions, every deleted line replaced by its corrected form; the other five regenerate byte-identical.
This commit is contained in:
@@ -39,7 +39,7 @@ def main():
|
||||
targets = ['MissionDialogMessage.tbl', 'MissionDialog_local_string.tbl',
|
||||
'pgmsg_start.prt', 'pgmsg_end.prt', 'pgmsg_update.prt',
|
||||
'pgmsg_failed.prt', 'pgmsg_restart.prt']
|
||||
pre = ['', 'Stage\\', 'stage\\', 'message\\', 'msg\\', 'dialog\\', 'script\\',
|
||||
pre = ['', 'Stage\\', 'stage\\', 'message\\', 'language\\', 'msg\\', 'dialog\\', 'script\\',
|
||||
'SCRIPTS\\', 'GP_SCRIPT\\', '2d\\', 'ui\\', 'prt\\', 'view\\', 'dat\\', 'hidden\\']
|
||||
for l in ['eng', 'jpn', 'fra', 'deu', 'ita', 'esp']:
|
||||
pre += [l + '\\', 'Stage\\' + l + '\\', 'message\\' + l + '\\']
|
||||
@@ -70,7 +70,15 @@ def main():
|
||||
nf[len(r['fields'])] += 1
|
||||
print("\n## message\\MissionDialogMessage.tbl -- %d records, %d bytes" % (len(dr), len(b)))
|
||||
print(" name families S<NN>_P<n>_<KIND>: %s" % dict(fam))
|
||||
print(" field counts: %s" % dict(nf))
|
||||
shape = collections.defaultdict(collections.Counter)
|
||||
for r in dr:
|
||||
m = pat.match(r['squadron'])
|
||||
if m:
|
||||
shape[m.group(3)][(len(r['fields']),
|
||||
sum(1 for t, n, v in r['fields'] if n is not None))] += 1
|
||||
print(" per kind (total fields, NAMED fields) -> count:")
|
||||
for k in sorted(shape):
|
||||
print(" %-12s %s" % (k, dict(shape[k])))
|
||||
print(" stages present (%d): %s" % (len(st), sorted(st)))
|
||||
print(" phases per stage: %s" % {k: len(v) for k, v in sorted(st.items())})
|
||||
H = {h for h, _ in pak_entries(mg)}
|
||||
|
||||
Reference in New Issue
Block a user