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.
55 lines
2.5 KiB
Plaintext
55 lines
2.5 KiB
Plaintext
# Stage\script.tbl -- the mission-script manifest
|
|
# Regenerate: python3 tools/re-capture/script_manifest.py
|
|
# See docs/re/structures/mission-script-manifest.md
|
|
|
|
## the three records
|
|
SCRIPTS 40 fields
|
|
GP_TEST 1 fields
|
|
PATH 'dat\\GP_TEST\\'
|
|
TEXTS 3 fields
|
|
FONT_SIZE '33'
|
|
TEXT_LINES '3'
|
|
TEXT_POS '296,565,39'
|
|
|
|
## SCRIPTS -- the 11 non-MISSION fields, read for the first time
|
|
DIALOG_LOCAL_STRING 'MissionDialog_local_string.tbl'
|
|
DIALOG_MESSAGE 'MissionDialogMessage.tbl'
|
|
FONT 'dat\\fonts.pak+HGRGE00.TTF'
|
|
FONT_SIZE '15'
|
|
MISSION_END_PRT 'pgmsg_end.prt'
|
|
MISSION_FAILED_PRT 'pgmsg_failed.prt'
|
|
MISSION_RESTART_PRT 'pgmsg_restart.prt'
|
|
MISSION_START_PRT 'pgmsg_start.prt'
|
|
MISSION_UPDATE_PRT 'pgmsg_update.prt'
|
|
TEXT_LINES '30'
|
|
TEXT_POS '128,128,16'
|
|
|
|
## do those values resolve as pak entries? (34 prefixes x 41 archives)
|
|
MissionDialogMessage.tbl FOUND as message\MissionDialogMessage.tbl in 6 archives
|
|
MissionDialog_local_string.tbl FOUND as language\MissionDialog_local_string.tbl in 6 archives
|
|
pgmsg_start.prt not found
|
|
pgmsg_end.prt not found
|
|
pgmsg_update.prt not found
|
|
pgmsg_failed.prt not found
|
|
pgmsg_restart.prt not found
|
|
CONTROL Stage\script.tbl resolves in 6 archives
|
|
NOTE name_hash is CASE-INSENSITIVE (message\ == Message\); tag_hash is not.
|
|
|
|
## message\MissionDialogMessage.tbl -- 200 records, 25280 bytes
|
|
name families S<NN>_P<n>_<KIND>: {'HINT_PAUSE': 40, 'HINT': 40, 'LOSE': 40, 'GRAPH': 40, 'OBJECTIVE': 40}
|
|
per kind (total fields, NAMED fields) -> count:
|
|
GRAPH {(1, 1): 40}
|
|
HINT {(3, 0): 40}
|
|
HINT_PAUSE {(4, 0): 40}
|
|
LOSE {(4, 0): 40}
|
|
OBJECTIVE {(4, 0): 40}
|
|
stages present (22): [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 24, 25, 26, 27, 28, 29]
|
|
phases per stage: {1: 2, 2: 3, 3: 3, 4: 2, 5: 2, 6: 3, 7: 2, 8: 2, 9: 3, 10: 1, 11: 2, 12: 2, 13: 1, 14: 2, 15: 2, 16: 2, 24: 1, 25: 1, 26: 1, 27: 1, 28: 1, 29: 1}
|
|
CONTROL subset of the 28 shipped stages: True ; shipped with NO hints: [18, 19, 20, 21, 22, 23]
|
|
|
|
sample S10_P1_HINT_PAUSE:
|
|
tag 0 <none> 'S10_P1_Hint_Pause_00'
|
|
tag 1 <none> 'S10_P1_Hint_Pause_01'
|
|
tag 2 <none> 'S10_P1_Hint_Pause_02'
|
|
tag 3 <none> 'S10_P1_Hint_Pause_03'
|