This repository has been archived on 2026-09-16. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Syplheed-Reborn/docs/re/mission-objectives-text.md
Sylpheed RE agent 56e24ce9b1 re: the mission script is readable — phase 1 never advanced because we killed the wrong things
The localised string tables are decoded. language\*_local_string.tbl uses a
third archive prefix, language\, and is not IDXD: the magic is IXUD and the
strings are UTF-16 big-endian, which is why earlier ASCII-oriented dumps of
these files produced garbage.

That makes Stage 02's nine sub-objectives readable in words -- rescue the ally
destroyer, destroy all enemy fighters, sink all enemy warships, rescue the
Amalthea, keep the Caliban undamaged, sink the destroyer targeting the
Acropolis, destroy all enemy cruise missiles. Ninety-one objectives are defined
across the game.

The guide script then confirms the phase structure twice over. It reads as three
acts -- marked attackers and protecting the Acropolis, then a warship whose
engine, weapons and shield projector must be destroyed, then cruise missiles
taken down one by one -- and each act matches the per-phase roster composition
found independently. Phase 3 fields exactly nine UN_e201_ADAN_ISCMissile against
SUBOBJ_013's "You destroyed all enemy cruise missiles", an exact match between
two files decoded on different days by different routes.

And it gives a mundane explanation for every null result in the arrival work.
The phase-1 objective is stated outright in the script: the attackers with the
orange markers are the targets, meaning UN_e010_ADAN_Attacker_S, of which phase
1 fields four squadrons. Every loss line in every run log reads
UN_e007_ADAN_Turret, with e010 appearing twice in total, because SYLPH_HUNT was
built to make turrets targets and SYLPH_KEEPOUT was tuned for them. The 42 kills
were overwhelmingly the wrong 42.

Kept at 🟡 because the objective text is certain but the inference that this
particular objective gates the phase advance comes from the script's structure
rather than from measurement. The test is a pilot that prioritises e010 over
e007, which is a target-preference knob rather than new decoding, with the
existing probe watching deployed jump from 41 toward the phase-2 roster.
2026-08-24 21:02:10 +00:00

3.5 KiB
Raw Blame History

The mission script in plain English — and why phase 1 never completed

Status: the localised string tables are decoded and readable; the phase structure is confirmed narratively and by roster composition; 🟡 a concrete, testable reason the phase never advanced in any run.

IXUD — the localised string container

language\*_local_string.tbl (the prefix is language\, a third convention after stage\ and message\) is not IDXD. Magic is IXUD, and its strings are UTF-16 big-endian. That is why every earlier ASCII-oriented dump of these files produced garbage.

Reading them is immediate once the encoding is known, and it makes the mission design directly legible instead of inferred.

Stage 02's nine sub-objectives, in words

id text
SUBOBJ_005 You rescued the ally destroyer!
SUBOBJ_006 You destroyed all enemy fighters!
SUBOBJ_007 You sunk all enemy warships!
SUBOBJ_008 You rescued the ally cruiser, Amalthea!
SUBOBJ_010 The ally cruiser CALIBAN took no damage!
SUBOBJ_011 You sunk the enemy destroyer targeting the ACROPOLIS!
SUBOBJ_013 You destroyed all enemy cruise missiles!
SUBOBJ_014 You destroyed all enemy missiles and units!

(SUBOBJ_009 has no text.) 91 objectives are defined across the game.

The three phases, confirmed twice over

The guide script reads as three distinct acts, and each matches the per-phase roster composition found independently in mission-phase-deployment.md:

phase script roster
1 "The attackers with the orange markers, right?", "Protect the ACROPOLIS!" turrets, attackers, fighters
2 "destroy the ship's engine", "destroy that ship's weapons", "take out the enemy's shield projector" destroyers, frigates, cruisers
3 "start by taking out that missile", "Concentrate on destroying the missiles one by one" UN_e201_ADAN_ISCMissile ×9

Phase 3's nine cruise missiles against SUBOBJ_013 "You destroyed all enemy cruise missiles!" is an exact match between two files decoded on different days by different routes.

🟡 Why phase 1 never advanced: the pilot killed the wrong things

The phase-1 objective is stated outright — destroy the marked attackers:

"Rhinos, prepare for combat. Are you all clear on your targets?" "The attackers with the orange markers, right? Roger that!" "Katana, those attackers are our targets!"

Those are UN_e010_ADAN_Attacker_S, of which phase 1 fields four squadrons.

The hunting pilot targeted turrets almost exclusively. Every loss line in the run logs reads UN_e007_ADAN_Turret, with UN_e010_ADAN_Attacker_S appearing only twice across all runs — unsurprising, since SYLPH_HUNT was built to make turrets targets and SYLPH_KEEPOUT was tuned for them. So 42 kills were overwhelmingly the wrong 42.

That gives a mundane explanation for the whole run of null results, and it does not require the frames reading or event-gating to be settled first.

Prediction: destroying the phase-1 UN_e010_ADAN_Attacker_S squadrons should advance the phase, which is directly observable as deployed jumping from 41 toward the phase-2 roster.

Test: a pilot that prioritises e010 over e007 — a target-preference knob, not new decoding — and the existing probe watching deployed.

This is 🟡, not : the objective text is certain, but that this particular objective gates the phase advance is inference from the script's structure.