re: the static unit datasheet and the AI flight model
Same technique as the weapon tables -- field names are literal, so a field-shape search over 190782 records finds the carriers. Generic (394 per pak, 110 field names, 178 distinct IDs) is the unit datasheet: HP, ShieldRatio, DefencePoint, AttackCraft/VesselPoint, the five Resistance* terms, Size_X/Y/Z + radius, RadarRange 10000, FCSRange 8500, MountedFCS, MountedShieldGenerator, Score/Damage/Mass, NozzleCount with per-nozzle FX, and Model rou_e006 -- which ties the sheet to the mesh names the corpus already decodes. Maneuver (114) is the AI flight model: MaximumVelocity 1200, CruisingVelocity 700, Acceleration 600, Deceleration 400, SideThrustAcceleration 1000, Turn_AngularVelocity 180, MaximumBank_Normal 60, per-axis DragFactor 3.0, afterburner and reverse-thrust factors, plus nine named manoeuvres each with its own timing/ratio/length bounds and AA_/AV_ rate pairs. This is the static source for what flight-speed-law.md measured at runtime. Corrects a guess in the same pass: HP_CLASS/HP_ID are not ship stats -- they sit on records named for wingmen and ship classes alongside HPGauge/RadarCursorType, i.e. a HUD gauge binding table. New structure doc + artefact; ISL artefacts byte-identical.
This commit is contained in:
@@ -827,6 +827,43 @@ unknown, what evidence exists, and what the first step would be. Move an item in
|
||||
field; the stat keys in records not opened here (`MegaTons`, `BulletLimit`,
|
||||
`CrewCount`, `HP_CLASS`); why the roster lists 59 of 131.
|
||||
|
||||
* ✅✅ **(2026-08-27) THE STATIC UNIT DATASHEET **AND** THE AI FLIGHT MODEL —
|
||||
`Generic` (394), `Maneuver` (114), `Effect` (114).
|
||||
[structures/unit-datasheet-static](structures/unit-datasheet-static.md),
|
||||
artefact `data/unit-datasheet-static.txt`.**
|
||||
Same technique as the weapon tables: field names are literal, so a field-shape
|
||||
search over 190 782 records finds the carriers. **`Generic` is the unit
|
||||
datasheet** — 110 field names, 178 distinct IDs: `HP 6400.0`, `ShieldRatio`,
|
||||
`DefencePoint`, `AttackCraftPoint`/`AttackVesselPoint`, `ResistanceToShell`/
|
||||
`ToExplosion`/`ToOptics`/`ToPlayer`/`Paralyze`, `Size_X/Y/Z`+`Size_Radius`,
|
||||
**`RadarRange 10000.0`**, **`FCSRange 8500.0`**, `MountedFCS`,
|
||||
`MountedShieldGenerator`, `ScorePoint`/`DamageScore`/`MassScore`, `HQRatio`,
|
||||
`ThrusterRatio`, `NozzleCount` with per-nozzle jet/afterburner/reverse/contrail
|
||||
FX, and **`Model rou_e006`** — which ties the datasheet straight to the mesh
|
||||
names the corpus already decodes. In the corpus's **1 metre** world unit that is
|
||||
a 10 km radar and a 12 × 5 × 30 m craft.
|
||||
🔑 **`Maneuver` is the AI FLIGHT MODEL** — the richest find for the port:
|
||||
`MaximumVelocity 1200`, `MinimumVelocity 100`, `CruisingVelocity 700`,
|
||||
`Acceleration 600`, `Deceleration 400`, `SideThrustAcceleration 1000`,
|
||||
`Turn_AngularVelocity 180`, `MaximumBank_Normal 60`, yaw/roll/pitch
|
||||
`DragFactor 3.0` + `DragFactorThreshold 0.5`, `ArterBurner_Vc 2.5`/`_Acc 2.0`
|
||||
(the game's own spelling), `ReverseThrust_Vc −0.5`, `UsingChaffRatio 0.5`,
|
||||
`HomingResistAdjustment 0.8` — plus **nine named manoeuvres** each with a Yes/No
|
||||
switch and its own timing/ratio/length bounds (`TurnAttack`, `TurnAway`,
|
||||
`BarrelRoll`, `SideRoll`, `Slalom`, `Through`, `HoldPosition`, `SolidCutoff`,
|
||||
`BoostAway`) and `AA_*`/`AV_*` pitch/yaw/roll min-max pairs. This is the static
|
||||
source for what `flight-speed-law.md` and `flight-controls-runtime.md` measured
|
||||
at runtime.
|
||||
🟡 `AA_`/`AV_` pairing with `AttackCraftPoint`/`AttackVesselPoint` suggests
|
||||
anti-air vs anti-vessel rate limits — **a reading, not adopted**.
|
||||
🔴 **`HP_CLASS`/`HP_ID` are NOT ship stats.** They sit on records named for
|
||||
wingmen and ship classes (`CARL`, `ELLEN`, `SANDRA`, `ACROPOLIS`,
|
||||
`Carrier_TCAF1`, `NP_Facility`, …), 120–144 instances each, alongside
|
||||
`HPGauge`/`HPGaugeSub`/`RadarCursorType` on the `ObjectiveMarker_*` and
|
||||
`TutorialMarker_*` records — a **HUD gauge binding table**.
|
||||
🟡 Not settled: no field-by-field reconciliation against the runtime captures;
|
||||
and 178 distinct `Generic` IDs against 394 records per pak is unexplained.
|
||||
|
||||
## ✅✅ SOLVED — the mission freeze was a modal sign-in dialog (2026-08-26)
|
||||
|
||||
`XamShowSigninUI` opens a modal dialog and `xeXamDispatchDialog` blocks the
|
||||
|
||||
Reference in New Issue
Block a user