re(route-b): map generalises to units -- 406/0 across 11 objects, 121 defaulted fields
Applying the map to turrets, fighters, an attacker and a station (UNIT records rather than VESSEL) gives 406 field values agreeing with the disc and 0 disagreeing across 11 objects, so one layout serves both schemas. Two consequences the four-value signature could not give: the map IDENTIFIES an object -- 0xbd3b6a00 is UN_bf001_TCAF_SchlosBase (14 agree, 0 disagree), not UN_be005_ADAN_SpaceFortress (12 agree, 2 disagree on Color_R/Color_G) -- and variants are provably identical, with ArrowHead/_EX4/_EX5 at 48/48, Turret/_EX4 at 51/51 and three DeltaSaber player variants at 49/49. 121 defaulted fields now have runtime values. FiringRange (0 in all 11) and ShieldRatio (1 in all 6) look like true constants; HQRatio, ThrusterRatio and AttackCraftPoint vary per unit and are recorded as such. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,105 +1,125 @@
|
||||
|
||||
map check: 154 fields agree with the disc, 0 disagree
|
||||
map check: 406 fields agree with the disc, 0 disagree
|
||||
|
||||
runtime value where the disc record DEFAULTS the field:
|
||||
AA_AxisMode_Max 0 (5 units)
|
||||
AA_AxisMode_Min 0 (5 units)
|
||||
AA_PitchMinus_Max 0.0628319 (5 units)
|
||||
AA_PitchMinus_Min 0.0628319 (5 units)
|
||||
AA_PitchPlus_Max 0.0628319 (5 units)
|
||||
AA_PitchPlus_Min 0.0628319 (5 units)
|
||||
AA_Roll_Max 0.0628319 (5 units)
|
||||
AA_Roll_Min 0.0628319 (5 units)
|
||||
AA_Yaw_Max 0.0628319 (5 units)
|
||||
AA_Yaw_Min 0.0628319 (5 units)
|
||||
AB_AA_PitchMinus 0 (5 units)
|
||||
AB_AA_PitchPlus 0 (5 units)
|
||||
AB_AA_Roll 0 (5 units)
|
||||
AB_AA_Yaw 0 (5 units)
|
||||
AB_AV_PitchMinus 0 (5 units)
|
||||
AB_AV_PitchPlus 0 (5 units)
|
||||
AB_AV_Roll 0 (5 units)
|
||||
AB_AV_Yaw 0 (5 units)
|
||||
AB_ConsumeShield 0 (5 units)
|
||||
AB_ConsumeShield_Begin 0 (5 units)
|
||||
AV_AxisMode_Max 0 (5 units)
|
||||
AV_AxisMode_Min 0 (5 units)
|
||||
AV_PitchMinus_Max 0.0628319 (5 units)
|
||||
AV_PitchMinus_Min 0.0628319 (5 units)
|
||||
AV_PitchPlus_Min 0.0628319 (5 units)
|
||||
AV_Roll_Max 0.0628319 (5 units)
|
||||
AV_Roll_Min 0.0628319 (5 units)
|
||||
AV_Yaw_Max 0.0628319 (5 units)
|
||||
AV_Yaw_Min 0.0628319 (5 units)
|
||||
ArterBurner_Acc 2 (5 units)
|
||||
ArterBurner_Vc 2 (5 units)
|
||||
AttackCraftPoint 0.1, 0.5 (5 units)
|
||||
AttackVesselPoint 0.1 (2 units)
|
||||
BarrelRoll_CountMaximum 0 (5 units)
|
||||
BarrelRoll_CountMinimum 0 (5 units)
|
||||
BarrelRoll_Radius 0 (5 units)
|
||||
BarrelRoll_Time 0 (5 units)
|
||||
BoostAway_Time_Maximum 0 (5 units)
|
||||
BoostAway_Time_Minimum 0 (5 units)
|
||||
ChargeDelay 1 (5 units)
|
||||
Color_B 1 (1 units)
|
||||
AA_AxisMode_Max 0 (10 units)
|
||||
AA_AxisMode_Min 0, 1.74533 (11 units)
|
||||
AA_PitchMinus_Max 0, 0.0628319, 0.174533 (8 units)
|
||||
AA_PitchMinus_Min 0, 0.0628319, 0.261799, 0.349066, 0.698132 (10 units)
|
||||
AA_PitchPlus_Max 0, 0.0628319 (6 units)
|
||||
AA_PitchPlus_Min 0, 0.0628319, 1.74533 (8 units)
|
||||
AA_Roll_Max 0, 0.0628319, 0.174533, 0.523599, 1.0472 (10 units)
|
||||
AA_Roll_Min 0, 0.0628319, 1.0472 (7 units)
|
||||
AA_Yaw_Max 0, 0.0628319, 0.0872665 (7 units)
|
||||
AA_Yaw_Min 0, 0.0628319, 0.261799 (7 units)
|
||||
AB_AA_PitchMinus 0, 0.174533 (11 units)
|
||||
AB_AA_PitchPlus 0 (10 units)
|
||||
AB_AA_Roll 0, 0.523599 (11 units)
|
||||
AB_AA_Yaw 0, 0.174533 (11 units)
|
||||
AB_AV_PitchMinus 0 (10 units)
|
||||
AB_AV_PitchPlus 0, 0.523599 (11 units)
|
||||
AB_AV_Roll 0, 0.698132 (11 units)
|
||||
AB_AV_Yaw 0, 0.279253 (11 units)
|
||||
AB_ConsumeShield 0, 10 (11 units)
|
||||
AB_ConsumeShield_Begin 0 (10 units)
|
||||
AV_AxisMode_Max 0, 0.174533 (11 units)
|
||||
AV_AxisMode_Min 0 (10 units)
|
||||
AV_PitchMinus_Max 0, 0.0628319, 0.349066 (7 units)
|
||||
AV_PitchMinus_Min 0, 0.0628319 (6 units)
|
||||
AV_PitchPlus_Max 0 (1 units)
|
||||
AV_PitchPlus_Min 0, 0.0628319, 1.74533 (7 units)
|
||||
AV_Roll_Max 0, 0.0628319, 0.349066, 1.0472, 2.0944 (10 units)
|
||||
AV_Roll_Min 0, 0.0628319, 1.0472 (7 units)
|
||||
AV_Yaw_Max 0, 0.0628319, 0.174533 (7 units)
|
||||
AV_Yaw_Min 0, 0.0628319, 0.349066 (7 units)
|
||||
AccPitchFactor 0, 30 (5 units)
|
||||
Acceleration 0 (1 units)
|
||||
ArterBurner_Acc 0, 2 (10 units)
|
||||
ArterBurner_Vc 0, 2 (6 units)
|
||||
AttackCraftPoint 0, 0.1, 0.5, 1 (9 units)
|
||||
AttackVesselPoint 0, 0.1 (3 units)
|
||||
BarrelRoll_CountMaximum 0, 5 (11 units)
|
||||
BarrelRoll_CountMinimum 0, 0.5 (11 units)
|
||||
BarrelRoll_Radius 0 (7 units)
|
||||
BarrelRoll_Time 0 (7 units)
|
||||
BoostAway_Time_Maximum 0, 2 (11 units)
|
||||
BoostAway_Time_Minimum 0, 1 (11 units)
|
||||
ChargeDelay 1, 3, 5 (10 units)
|
||||
ChargeDelay_Break 1, 10 (6 units)
|
||||
ChargeSpeed 25 (3 units)
|
||||
Color_B 0, 1 (3 units)
|
||||
Color_G 1 (1 units)
|
||||
CutoffTimeMax 0 (5 units)
|
||||
CutoffTimeMin 0 (5 units)
|
||||
DecPitchFactor 30 (5 units)
|
||||
DefencePoint 0.1, 0.25 (4 units)
|
||||
Delay 0 (3 units)
|
||||
DelayAdjustment 0, 2 (5 units)
|
||||
DragFactorThreshold 0.5 (5 units)
|
||||
DryMass 10000 (2 units)
|
||||
FiringRange 0 (5 units)
|
||||
GrossMass 10000 (5 units)
|
||||
HQRatio 0.2, 1 (4 units)
|
||||
HoldPosition_BackRatio 0 (5 units)
|
||||
HoldPosition_CancelTime 0 (5 units)
|
||||
HoldPosition_CutoffRatio 0 (5 units)
|
||||
HoldPosition_LengthMax 0 (5 units)
|
||||
HoldPosition_LengthMin 0 (5 units)
|
||||
HoldPosition_MaximumTime 0 (5 units)
|
||||
HoldPosition_MinimumTime 0 (5 units)
|
||||
HoldPosition_SideRatio 0 (5 units)
|
||||
HomingResistAdjustment 0 (5 units)
|
||||
LowerHPThresholdRatio 0.3 (1 units)
|
||||
MinimumVelocity 0 (4 units)
|
||||
PitchDragFactor 2 (5 units)
|
||||
PowerCutConsumeShield 0 (5 units)
|
||||
PowerCutDeceleration 0 (5 units)
|
||||
ResistanceToExplosion 0.5 (3 units)
|
||||
ResistanceToPlayer 1 (5 units)
|
||||
ResistanceToShell 0.1 (3 units)
|
||||
ReverseThrust_Acc 0.25 (3 units)
|
||||
RollDragFactor 2 (5 units)
|
||||
SELength 2000 (5 units)
|
||||
ShieldRatio 1 (1 units)
|
||||
SideRoll_Length 0 (5 units)
|
||||
SideRoll_Time 0 (5 units)
|
||||
CruisingVelocity 0 (1 units)
|
||||
CutoffTimeMax 0, 5 (10 units)
|
||||
CutoffTimeMin 0 (7 units)
|
||||
DecPitchFactor 0, 30 (11 units)
|
||||
Deceleration 0, 50 (2 units)
|
||||
DefencePoint 0, 0.1, 0.25 (5 units)
|
||||
Delay 0, 1.5, 3 (8 units)
|
||||
DelayAdjustment 0, 1, 2 (10 units)
|
||||
DestroyMotionTime 0 (1 units)
|
||||
DragFactorThreshold 0, 0.5 (10 units)
|
||||
DryMass 100, 10000 (8 units)
|
||||
FCSRange 0, 500000 (3 units)
|
||||
FiringRange 0 (11 units)
|
||||
GrossMass 10000, 200 (10 units)
|
||||
HQRatio 0.2, 1 (9 units)
|
||||
HoldPosition_BackRatio 0, 0.1, 0.3 (11 units)
|
||||
HoldPosition_CancelTime 0, 20 (10 units)
|
||||
HoldPosition_CutoffRatio 0, 0.5 (11 units)
|
||||
HoldPosition_LengthMax 0, 400 (8 units)
|
||||
HoldPosition_LengthMin 0, 150 (10 units)
|
||||
HoldPosition_MaximumTime 0, 10 (10 units)
|
||||
HoldPosition_MinimumTime 0, 5 (11 units)
|
||||
HoldPosition_SideRatio 0, 0.3 (11 units)
|
||||
HomingResistAdjustment 0, 0.5 (11 units)
|
||||
LowerHPThresholdRatio 0, 0.3 (7 units)
|
||||
MaxValue 100 (3 units)
|
||||
MaximumBank_Normal 0, 0.523599, 1.0472 (5 units)
|
||||
MaximumVelocity 0 (1 units)
|
||||
MinimumVelocity 0, 100 (7 units)
|
||||
PitchDragFactor 0, 2, 3 (11 units)
|
||||
PowerCutConsumeShield 0, 20 (11 units)
|
||||
PowerCutDeceleration 0, 10 (11 units)
|
||||
RadarRange 0 (1 units)
|
||||
ResistanceParalyze 1 (1 units)
|
||||
ResistanceToExplosion 0.1, 0.5, 1 (9 units)
|
||||
ResistanceToOptics 0.1, 1 (4 units)
|
||||
ResistanceToPlayer 0, 1 (10 units)
|
||||
ResistanceToShell 0.1, 1 (8 units)
|
||||
ReverseThrust_Acc 0, 0.25, 2 (9 units)
|
||||
ReverseThrust_Vc 0 (1 units)
|
||||
RollDragFactor 0, 2, 3 (11 units)
|
||||
SELength 2000 (11 units)
|
||||
ShieldRatio 1 (6 units)
|
||||
SideRoll_Length 0 (7 units)
|
||||
SideRoll_Time 0, 0.5, 1.5 (11 units)
|
||||
SideThrustAcceleration 0, 100, 1000 (5 units)
|
||||
SideThrustVelocity_Max 0, 100, 1000 (3 units)
|
||||
Size_Radius 10, 50 (4 units)
|
||||
Size_Y 200, 300, 400, 600, 700 (5 units)
|
||||
Slalom_CutoffRatio 0 (5 units)
|
||||
Slalom_TurnCount_Max 0 (5 units)
|
||||
Slalom_TurnCount_Min 0 (5 units)
|
||||
SolidCutoff_LengthMax 0 (5 units)
|
||||
SolidCutoff_LengthMin 0 (5 units)
|
||||
SolidCutoff_Ratio 0 (5 units)
|
||||
Through_AngleMaximum 0 (5 units)
|
||||
Through_AngleMinimum 0 (5 units)
|
||||
Through_CutoffRatio 0 (5 units)
|
||||
Through_LengthMaximum 0 (5 units)
|
||||
Through_LengthMinimum 0 (5 units)
|
||||
Through_Time1Max 0 (5 units)
|
||||
Through_Time1Min 0 (5 units)
|
||||
Through_Time2Max 0 (5 units)
|
||||
Through_Time2Min 0 (5 units)
|
||||
ThrusterRatio 0.2, 1 (4 units)
|
||||
TurnAttack_CutoffRatio 0 (5 units)
|
||||
TurnAttack_DoubleRatio 0 (5 units)
|
||||
TurnAttack_DoubleTimeMax 0 (5 units)
|
||||
TurnAttack_DoubleTimeMin 0 (5 units)
|
||||
TurnAway_Time_Maximum 0 (5 units)
|
||||
TurnAway_Time_Minimum 0 (5 units)
|
||||
Turn_AngularVelocity 0 (5 units)
|
||||
UsingChaffRatio 0 (5 units)
|
||||
Slalom_CutoffRatio 0 (7 units)
|
||||
Slalom_TurnCount_Max 0 (11 units)
|
||||
Slalom_TurnCount_Min 0 (9 units)
|
||||
SolidCutoff_LengthMax 0 (7 units)
|
||||
SolidCutoff_LengthMin 0, 500 (9 units)
|
||||
SolidCutoff_Ratio 0, 0.5 (11 units)
|
||||
Through_AngleMaximum 0, 1.0472 (11 units)
|
||||
Through_AngleMinimum 0, 0.523599 (11 units)
|
||||
Through_CutoffRatio 0, 0.5 (11 units)
|
||||
Through_LengthMaximum 0, 500 (10 units)
|
||||
Through_LengthMinimum 0, 250 (11 units)
|
||||
Through_Time1Max 0, 2 (11 units)
|
||||
Through_Time1Min 0, 5 (11 units)
|
||||
Through_Time2Max 0, 1.5 (8 units)
|
||||
Through_Time2Min 0, 5 (11 units)
|
||||
ThrusterRatio 0.2, 1 (10 units)
|
||||
TurnAttack_CutoffRatio 0 (7 units)
|
||||
TurnAttack_DoubleRatio 0 (7 units)
|
||||
TurnAttack_DoubleTimeMax 0 (7 units)
|
||||
TurnAttack_DoubleTimeMin 0 (7 units)
|
||||
TurnAway_Time_Maximum 0, 2, 5 (11 units)
|
||||
TurnAway_Time_Minimum 0, 0.5 (11 units)
|
||||
Turn_AngularVelocity 0, 0.523599 (8 units)
|
||||
UsingChaffRatio 0 (11 units)
|
||||
YawDragFactor 0 (1 units)
|
||||
|
||||
@@ -426,3 +426,33 @@ The shape of the answer:
|
||||
That is the `…Ratio` / `…Count` family the mission brief named, answered from the
|
||||
running game, with the field identities read out of the title's own code rather
|
||||
than guessed.
|
||||
|
||||
## It generalises, it disambiguates, and variants are provably identical
|
||||
|
||||
Applying the same map to the other live objects — turrets, fighters, an attacker,
|
||||
a station, i.e. `UNIT` records rather than `VESSEL` ones — gives **406 field
|
||||
values agreeing with the disc and 0 disagreeing across 11 objects**. One object
|
||||
layout serves both schemas.
|
||||
|
||||
Two things fell out that the four-value signature could never have given:
|
||||
|
||||
**It identifies the object.** `0xbd3b6a00` had two candidates on
|
||||
`(HP, Size_X/Y/Z)`. Checking every mapped field separates them cleanly:
|
||||
|
||||
| candidate | agreement |
|
||||
|---|---|
|
||||
| `UN_be005_ADAN_SpaceFortress` | 12 agree, **2 disagree** (`Color_R` 1↔0, `Color_G` 0↔1) |
|
||||
| **`UN_bf001_TCAF_SchlosBase`** | **14 agree, 0 disagree** |
|
||||
|
||||
**Variants really are identical.** Where several ids shared a signature, all of
|
||||
them now agree on *every* mapped field — `UN_f003_TCAF_ArrowHead` / `_EX4` /
|
||||
`_EX5` at 48/48 each, `UN_e007_ADAN_Turret` / `_EX4` at 51/51, and three Delta
|
||||
Saber player variants at 49/49 (the tutorial variant `_Ttrl1` differs by one field
|
||||
and is excluded). So a shared live definition between variants is a property of
|
||||
the data, not a limitation of the match.
|
||||
|
||||
Across all 11 objects, **121 fields** are defaulted on disc and readable at
|
||||
runtime. `FiringRange` (0 in all 11) and `ShieldRatio` (1 in all 6 that default
|
||||
it) look like genuine constants; `HQRatio` (0.2 or 1 over 9 units),
|
||||
`ThrusterRatio` (0.2 or 1 over 10) and `AttackCraftPoint` (0, 0.1, 0.5 or 1 over
|
||||
9) are clearly per-unit and must not be recorded as one value.
|
||||
|
||||
Reference in New Issue
Block a user