re: the destructible-subsystem model -- a unit's sub-records
The corpus has named these since unit-struct-runtime.md but never opened them. Per unit table: Turret_NNN 835 records (max 63 on one unit), ShieldGenerator_NNN 46, Thruster_NNN 38, Hatch_NNN 26, Bridge_NNN 25, plus one each of Shield/Mass/SE/Explosion/ StructureCount and NS_Body on 68 of 114. Turret/ShieldGenerator/Thruster/Hatch/Bridge are ONE record shape: a shared 19-field destructible-part base (ID, Name, ParentStructureID, Frame = a mesh NODE name, NomalModel, CollisionModel, Radius, HP, the four Is* flags, SpreadDamage, damaged/destroy motion + time, and the three Effect_*), with per-kind extras. Turrets add WeaponID, AngularVelocity, YawLimit, PitchLimit_Elevation/_Depression, CoverArea, IsAuto, HasBarrel and up to 80 CannonModel_NNN/CannonFrame_NNN. Shield generators, thrusters and bridges add PowerRatio. Hatches add SquadronID, LoadedCount, MaxAvailableCount, TakeoffInterval -- a carrier's launch bay. Control 1: StructureCount.<Kind>Count == #<Kind>_NNN records, over 684 comparisons -- 612 equal, 55 "0 declared, one blank placeholder" (55/55 blank in Name AND NomalModel AND Frame), 11 differ, 6 kind absent. All 11 exceptions are Turret and all are declared < records. Control 2: 835/835 Turret_NNN.WeaponID resolve to an ID in the 131-record Weapon datasheet, zero unresolved; 26 weapons are never mounted on a turret. Refuted in the same pass: "the DeltaSaber's 59 non-NULL hardpoints are the 59-name WEAPONS arsenal roster". The counts match exactly and the sets overlap in 0 values -- two namespaces, one coincidence. New structure doc, artefact and regenerator; other artefacts unchanged.
This commit is contained in:
402
docs/re/data/unit-substructures.txt
Normal file
402
docs/re/data/unit-substructures.txt
Normal file
@@ -0,0 +1,402 @@
|
||||
# Sub-records inside the 114 unit tables of GP_MAIN_GAME_E.pak
|
||||
# Regenerate: python3 tools/re-capture/unit_substructures.py
|
||||
# See docs/re/structures/unit-substructure-records.md
|
||||
|
||||
## families (records, max per unit, distinct non-indexed field names)
|
||||
Turret_NNN 835 max/unit 63 fields 38
|
||||
Maneuver 114 max/unit 1 fields 101
|
||||
Effect 114 max/unit 1 fields 9
|
||||
Shield 114 max/unit 1 fields 4
|
||||
Mass 114 max/unit 1 fields 2
|
||||
SE 114 max/unit 1 fields 8
|
||||
Generic 114 max/unit 1 fields 37
|
||||
Explosion 114 max/unit 1 fields 9
|
||||
StructureCount 114 max/unit 1 fields 6
|
||||
NS_Body 68 max/unit 1 fields 12
|
||||
ShieldGenerator_NNN 46 max/unit 4 fields 21
|
||||
Thruster_NNN 38 max/unit 4 fields 21
|
||||
Hatch_NNN 26 max/unit 4 fields 23
|
||||
Bridge_NNN 25 max/unit 2 fields 20
|
||||
NS_Body_2 1 max/unit 1 fields 12
|
||||
Hatch_??? 1 max/unit 1 fields 19
|
||||
ShieldGenerator_??? 1 max/unit 1 fields 16
|
||||
NS_* 1 max/unit 1 fields 10
|
||||
Bridge_??? 1 max/unit 1 fields 16
|
||||
Thruster_??? 1 max/unit 1 fields 19
|
||||
Turret_??? 1 max/unit 1 fields 25
|
||||
Versatile_??? 1 max/unit 1 fields 15
|
||||
|
||||
## Turret_NNN -- non-indexed fields (records carrying it, of 835)
|
||||
AngularVelocity 835
|
||||
CoverArea 835
|
||||
Effect_Explosion 835
|
||||
Effect_Flare 835
|
||||
Frame 835
|
||||
HP 835
|
||||
ID 835
|
||||
IsAuto 835
|
||||
IsDestructible 835
|
||||
IsInvolved 835
|
||||
IsRadarVisible 835
|
||||
IsShielded 835
|
||||
Name 835
|
||||
NomalModel 835
|
||||
ParentStructureID 835
|
||||
PitchLimit_Depression 835
|
||||
PitchLimit_Elevation 835
|
||||
Radius 835
|
||||
SequencingCount 835
|
||||
SequencingInterval 835
|
||||
SpreadDamage 835
|
||||
WeaponID 835
|
||||
YawLimit 835
|
||||
CollisionModel 831
|
||||
CommonCannonFrame 831
|
||||
CommonCannonModel 831
|
||||
HasBarrel 831
|
||||
DamagedMotionName 829
|
||||
DestroyMotionName 829
|
||||
DestroyMotionTime 829
|
||||
Effect_Paralyze 824
|
||||
DisableCollision_Lost 240
|
||||
CurveAngle 120
|
||||
FCSAngle 120
|
||||
FollowView 40
|
||||
ShellModel 40
|
||||
CoverModel 26
|
||||
DamagedModel 6
|
||||
|
||||
## Effect -- non-indexed fields (records carrying it, of 114)
|
||||
FadeIn 113
|
||||
FadeOut 113
|
||||
JumpIn 113
|
||||
JumpOut 113
|
||||
Shield 79
|
||||
Effect_Paralyze 74
|
||||
ShieldHitEffectName 35
|
||||
ShieldRecoverEffectName 35
|
||||
Thruster 1
|
||||
|
||||
## Shield -- non-indexed fields (records carrying it, of 114)
|
||||
ChargeDelay 114
|
||||
ChargeDelay_Break 114
|
||||
ChargeSpeed 114
|
||||
MaxValue 114
|
||||
|
||||
## Mass -- non-indexed fields (records carrying it, of 114)
|
||||
DryMass 114
|
||||
GrossMass 114
|
||||
|
||||
## SE -- non-indexed fields (records carrying it, of 114)
|
||||
ExplosionSE 114
|
||||
Thruster 114
|
||||
JumpIn 113
|
||||
JumpOut 113
|
||||
LowerHPSE 113
|
||||
LowerHPThresholdRatio 113
|
||||
ShipEnvironmentSE 113
|
||||
SideThruster 113
|
||||
|
||||
## Explosion -- non-indexed fields (records carrying it, of 114)
|
||||
Delay 114
|
||||
DelayAdjustment 114
|
||||
ExplosionFxModel 113
|
||||
LowerHPFxModel 113
|
||||
DestroyMotionTime 112
|
||||
DestroyMotionName 109
|
||||
ExplosionMotionName 109
|
||||
ExplosionFxMotion 3
|
||||
LowerHPFxMotion 3
|
||||
|
||||
## StructureCount -- non-indexed fields (records carrying it, of 114)
|
||||
BridgeCount 114
|
||||
HatchCount 114
|
||||
ShieldGeneratorCount 114
|
||||
ThrusterCount 114
|
||||
TurretCount 114
|
||||
VersatileCount 114
|
||||
|
||||
## NS_Body -- non-indexed fields (records carrying it, of 68)
|
||||
AttenuationAlpha 68
|
||||
AttenuationVolume 68
|
||||
Color_B 68
|
||||
Color_G 68
|
||||
Color_R 68
|
||||
Deceleration 68
|
||||
DeleteFadeSpeed 68
|
||||
Interval 68
|
||||
Model 68
|
||||
NodeCount 68
|
||||
StartingVelocity 68
|
||||
Volume 68
|
||||
|
||||
## ShieldGenerator_NNN -- non-indexed fields (records carrying it, of 46)
|
||||
CollisionModel 46
|
||||
DamagedMotionName 46
|
||||
DestroyMotionName 46
|
||||
DestroyMotionTime 46
|
||||
Effect_Explosion 46
|
||||
Effect_Flare 46
|
||||
Effect_Paralyze 46
|
||||
Frame 46
|
||||
HP 46
|
||||
ID 46
|
||||
IsDestructible 46
|
||||
IsInvolved 46
|
||||
IsRadarVisible 46
|
||||
IsShielded 46
|
||||
Name 46
|
||||
NomalModel 46
|
||||
ParentStructureID 46
|
||||
PowerRatio 46
|
||||
Radius 46
|
||||
SpreadDamage 46
|
||||
DisableCollision_Lost 25
|
||||
|
||||
## Thruster_NNN -- non-indexed fields (records carrying it, of 38)
|
||||
CollisionModel 38
|
||||
DamagedMotionName 38
|
||||
DestroyMotionName 38
|
||||
DestroyMotionTime 38
|
||||
Effect_Explosion 38
|
||||
Effect_Flare 38
|
||||
Effect_Paralyze 38
|
||||
Frame 38
|
||||
HP 38
|
||||
ID 38
|
||||
IsDestructible 38
|
||||
IsInvolved 38
|
||||
IsRadarVisible 38
|
||||
IsShielded 38
|
||||
Name 38
|
||||
NomalModel 38
|
||||
NozzleCount 38
|
||||
ParentStructureID 38
|
||||
PowerRatio 38
|
||||
Radius 38
|
||||
SpreadDamage 38
|
||||
|
||||
## Hatch_NNN -- non-indexed fields (records carrying it, of 26)
|
||||
CollisionModel 26
|
||||
DamagedMotionName 26
|
||||
DestroyMotionName 26
|
||||
DestroyMotionTime 26
|
||||
Effect_Explosion 26
|
||||
Effect_Flare 26
|
||||
Effect_Paralyze 26
|
||||
Frame 26
|
||||
HP 26
|
||||
ID 26
|
||||
IsDestructible 26
|
||||
IsInvolved 26
|
||||
IsRadarVisible 26
|
||||
IsShielded 26
|
||||
LoadedCount 26
|
||||
MaxAvailableCount 26
|
||||
Name 26
|
||||
NomalModel 26
|
||||
ParentStructureID 26
|
||||
Radius 26
|
||||
SpreadDamage 26
|
||||
SquadronID 26
|
||||
TakeoffInterval 26
|
||||
|
||||
## Bridge_NNN -- non-indexed fields (records carrying it, of 25)
|
||||
CollisionModel 25
|
||||
DamagedMotionName 25
|
||||
DestroyMotionName 25
|
||||
DestroyMotionTime 25
|
||||
Effect_Explosion 25
|
||||
Effect_Flare 25
|
||||
Effect_Paralyze 25
|
||||
Frame 25
|
||||
HP 25
|
||||
ID 25
|
||||
IsDestructible 25
|
||||
IsInvolved 25
|
||||
IsRadarVisible 25
|
||||
IsShielded 25
|
||||
Name 25
|
||||
NomalModel 25
|
||||
ParentStructureID 25
|
||||
PowerRatio 25
|
||||
Radius 25
|
||||
SpreadDamage 25
|
||||
|
||||
## NS_Body_2 -- non-indexed fields (records carrying it, of 1)
|
||||
AttenuationAlpha 1
|
||||
AttenuationVolume 1
|
||||
Color_B 1
|
||||
Color_G 1
|
||||
Color_R 1
|
||||
Deceleration 1
|
||||
DeleteFadeSpeed 1
|
||||
Interval 1
|
||||
Model 1
|
||||
NodeCount 1
|
||||
StartingVelocity 1
|
||||
Volume 1
|
||||
|
||||
## Hatch_??? -- non-indexed fields (records carrying it, of 1)
|
||||
DamagedModel 1
|
||||
Effect_Explosion 1
|
||||
Effect_Flare 1
|
||||
Frame 1
|
||||
HP 1
|
||||
ID 1
|
||||
IsDestructible 1
|
||||
IsInvolved 1
|
||||
IsRadarVisible 1
|
||||
IsShielded 1
|
||||
LoadedCount 1
|
||||
MaxAvailableCount 1
|
||||
Name 1
|
||||
NomalModel 1
|
||||
ParentStructureID 1
|
||||
Radius 1
|
||||
SpreadDamage 1
|
||||
SquadronID 1
|
||||
TakeoffInterval 1
|
||||
|
||||
## ShieldGenerator_??? -- non-indexed fields (records carrying it, of 1)
|
||||
DamagedModel 1
|
||||
Effect_Explosion 1
|
||||
Effect_Flare 1
|
||||
Frame 1
|
||||
HP 1
|
||||
ID 1
|
||||
IsDestructible 1
|
||||
IsInvolved 1
|
||||
IsRadarVisible 1
|
||||
IsShielded 1
|
||||
Name 1
|
||||
NomalModel 1
|
||||
ParentStructureID 1
|
||||
PowerRatio 1
|
||||
Radius 1
|
||||
SpreadDamage 1
|
||||
|
||||
## NS_* -- non-indexed fields (records carrying it, of 1)
|
||||
AttenuationAlpha 1
|
||||
AttenuationVolume 1
|
||||
Color_B 1
|
||||
Color_G 1
|
||||
Color_R 1
|
||||
Deceleration 1
|
||||
DeleteFadeSpeed 1
|
||||
Interval 1
|
||||
NodeCount 1
|
||||
StartingVelocity 1
|
||||
|
||||
## Bridge_??? -- non-indexed fields (records carrying it, of 1)
|
||||
DamagedModel 1
|
||||
Effect_Explosion 1
|
||||
Effect_Flare 1
|
||||
Frame 1
|
||||
HP 1
|
||||
ID 1
|
||||
IsDestructible 1
|
||||
IsInvolved 1
|
||||
IsRadarVisible 1
|
||||
IsShielded 1
|
||||
Name 1
|
||||
NomalModel 1
|
||||
ParentStructureID 1
|
||||
PowerRatio 1
|
||||
Radius 1
|
||||
SpreadDamage 1
|
||||
|
||||
## Thruster_??? -- non-indexed fields (records carrying it, of 1)
|
||||
DamagedModel 1
|
||||
Effect_Explosion 1
|
||||
Effect_Flare 1
|
||||
Frame 1
|
||||
HP 1
|
||||
ID 1
|
||||
IsDestructible 1
|
||||
IsInvolved 1
|
||||
IsRadarVisible 1
|
||||
IsShielded 1
|
||||
Name 1
|
||||
NomalModel 1
|
||||
NozzleCount 1
|
||||
NozzleFrame_??? 1
|
||||
NozzleSpec_??? 1
|
||||
ParentStructureID 1
|
||||
PowerRatio 1
|
||||
Radius 1
|
||||
SpreadDamage 1
|
||||
|
||||
## Turret_??? -- non-indexed fields (records carrying it, of 1)
|
||||
AngularVelocity 1
|
||||
CannonFrame_??? 1
|
||||
DamagedModel 1
|
||||
Effect_Explosion 1
|
||||
Effect_Flare 1
|
||||
Frame 1
|
||||
HP 1
|
||||
ID 1
|
||||
IsAuto 1
|
||||
IsDestructible 1
|
||||
IsInvolved 1
|
||||
IsRadarVisible 1
|
||||
IsShielded 1
|
||||
MuzzleFrame_??? 1
|
||||
Name 1
|
||||
NomalModel 1
|
||||
ParentStructureID 1
|
||||
PitchLimit_Depression 1
|
||||
PitchLimit_Elevation 1
|
||||
Radius 1
|
||||
SequencingCount 1
|
||||
SequencingInterval 1
|
||||
SpreadDamage 1
|
||||
WeaponID 1
|
||||
YawLimit 1
|
||||
|
||||
## Versatile_??? -- non-indexed fields (records carrying it, of 1)
|
||||
DamagedModel 1
|
||||
Effect_Explosion 1
|
||||
Effect_Flare 1
|
||||
Frame 1
|
||||
HP 1
|
||||
ID 1
|
||||
IsDestructible 1
|
||||
IsInvolved 1
|
||||
IsRadarVisible 1
|
||||
IsShielded 1
|
||||
Name 1
|
||||
NomalModel 1
|
||||
ParentStructureID 1
|
||||
Radius 1
|
||||
SpreadDamage 1
|
||||
|
||||
## CONTROL StructureCount.<Kind>Count == #<Kind>_NNN records
|
||||
## (a 0 count still emits one blank slot)
|
||||
684 comparisons (114 units x 6 kinds)
|
||||
equal 612
|
||||
0 declared, 1 blank placeholder 55
|
||||
DIFFERS 11
|
||||
no field 6
|
||||
exceptions:
|
||||
kind=Turret declared=4 records=63 x7
|
||||
UN_f001_TCAF_DeltaSaber_T
|
||||
UN_f001_TCAF_DeltaSaber_T_EX5
|
||||
UN_f001_TCAF_DeltaSaber_T_EX5_el
|
||||
UN_f001_TCAF_DeltaSaber_T_Player
|
||||
UN_f002_TCAF_DeltaSaber_W
|
||||
UN_f002_TCAF_DeltaSaber_W_Player
|
||||
UN_f004_TCAF_DeltaSaber_A_Player
|
||||
kind=Turret declared=4 records=5 x2
|
||||
UN_f001_TCAF_DeltaSaber_T_Player_Ttrl1
|
||||
UN_f001_TCAF_DeltaSaber_T_Player_Ttrl2
|
||||
kind=Turret declared=1 records=2 x1
|
||||
UN_e001_ADAN_Elan_EX4
|
||||
kind=Turret declared=8 records=9 x1
|
||||
UN_e107_ADAN_AAFrigate_EX4
|
||||
|
||||
## CONTROL Turret_NNN.WeaponID resolves into the Weapon datasheet
|
||||
Weapon.ID values: 131
|
||||
turrets: 835, distinct WeaponID: 105
|
||||
resolve: 835 do NOT resolve: 0
|
||||
weapons never mounted on a turret: 26
|
||||
Reference in New Issue
Block a user