re: CoverArea is a 6-bit MOUNT mask; the three other turret leftovers closed

Six bits, never more.  Over all 835 turrets: 41 distinct values, max
0x3f, bits 6/7 set on none; per-bit 709/117/274/274/260/237.  0x00 (34)
= the empty Weapon_NULL hardpoints with YawLimit 0; 0x01 alone (439) =
craft hardpoints with YawLimit 2.5/1.0/0; 2-6 bits (362) = warship
mounts with YawLimit 45-180.

It tracks the MOUNT, not the weapon.  UN_e107_ADAN_AAFrigate has eight
identical AAFrigate_AAGun turrets: GN_GunXS_01..04 are 0x1d and 05..08
are 0x2d -- same gun, same YawLimit 120, different mask.  The Battleship
spreads five masks over GN_TGunL_01..05 / GN_TGunM_02..03, all firing
the same CAF_Ship_ASGun.

Which sector each bit denotes is NOT determined; six bits and the name
invite +-X/+-Y/+-Z or six hull faces, but nothing static fixes the
convention.  Not adopted.  Refuted on the way: bits 2 and 3 are not a
mutually-exclusive pair -- 188 turrets set both.

The 26 weapons no turret mounts are a coherent set: 11 _P player
variants, the nose/twin mounts, two _Child sub-munitions, the three
S16Boss_*, three Weapon_Test_*, and ADAN_Attacker_S_GunTurret.

Versatile_NNN ships nowhere -- 0 populated records across all 41
archives, only the ??? template row.

The two units one turret short: both extras are missile mounts with no
Frame.  Elan_EX4 = NoseGun + Missile, both mask 0x01, both frameless;
AAFrigate_EX4 = eight framed guns plus one Ship_AAMissile at 0x0c with
no Frame.  n=2, stated as the observed pattern, not a rule.

New artefact and regenerator; the other nine regenerate byte-identical.
This commit is contained in:
Sylpheed RE agent
2026-08-27 15:35:09 +00:00
parent 27602a3032
commit 15c9e13c12
4 changed files with 316 additions and 2 deletions

View File

@@ -827,6 +827,41 @@ 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) `CoverArea` IS A 6-BIT MOUNT MASK — plus the three other
turret leftovers, all closed.**
[structures/unit-substructure-records](structures/unit-substructure-records.md),
artefact `data/turret-coverarea.txt`, regenerator
`tools/re-capture/turret_coverarea.py`.
**Six bits, never more.** Over all **835** turrets: 41 distinct values, max
`0x3f`, **bits 6/7 set on none**; per-bit 709/117/274/274/260/237. `0x00` (34)
= the empty `Weapon_NULL` hardpoints, `YawLimit 0` on all 34; `0x01` alone
(439) = craft hardpoints, `YawLimit` 2.5/1.0/0; 2-6 bits (362) = warship
mounts with `YawLimit` 45-180.
🔑 **It tracks the MOUNT, not the weapon.** `UN_e107_ADAN_AAFrigate` has eight
identical `AAFrigate_AAGun` turrets: `GN_GunXS_01..04` are **`0x1d`** and
`05..08` are **`0x2d`** — same gun, same `YawLimit 120`, different mask.
`UN_f104_TCAF_Battleship` spreads five masks over `GN_TGunL_01..05` /
`GN_TGunM_02..03`, all firing the same `CAF_Ship_ASGun`.
🟡 **Which sector each bit denotes is NOT determined** — six bits and the name
*CoverArea* invite +-X/+-Y/+-Z or six hull faces, and the 01-04 / 05-08 split
looks like a side, but nothing static fixes the convention. **Not adopted.**
❌ Refuted on the way: bits 2 and 3 are NOT a mutually-exclusive pair (188
turrets set both).
**The 26 weapons no turret mounts** are a coherent set, not strays: 11 `_P`
player variants, the nose/twin mounts (`_NoseGun`, `_NoseGun_P`, `_None`,
`_Ttrl`, `_TwinGun`, `_TwinGun_P`), two `_Child` sub-munitions (`wep_13`,
`wep_29`), the three `S16Boss_*`, three `Weapon_Test_*`, and
`ADAN_Attacker_S_GunTurret`.
**`Versatile_NNN` ships NOWHERE** — 0 populated records across all 41
archives, only the `???` template row. A sixth part kind with zero instances.
✅ **The two units one turret short: both extras are MISSILE mounts with NO
`Frame`.** `Elan_EX4` (`TurretCount 1`, 2 records) = `Turret_NoseGun` +
`Turret_Missile`, both mask `0x01`, both frameless. `AAFrigate_EX4`
(`TurretCount 8`, 9 records) = eight `GN_GunXS_0N_ContH` guns plus one
`Ship_AAMissile` at mask `0x0c` with no `Frame`. So `TurretCount` counts
frame-mounted guns and a frameless launcher rides in the same record family
uncounted — **n=2, stated as the observed pattern, not a rule**.
* 🔴 **(2026-08-27) BLOCKED — the 2D / `GP_READY_ROOM` TOC names: three routes,
all closed, each with a control.**
[structures/archive-naming](structures/archive-naming.md), artefact