72 records, 94 distinct field names, 31 in every one (post-processing core, five Fog*, three ScreenColor*, SpaceSize, five Supply*, UnderCommandSquadron, the first BGOperate slot). Optional families sit in clean tiers: Nebura_* and ColorLayer* in 69/72, DOF_*/UnsharpMask_*/ExposureKey_* in 15/72, FinalPass* in 3/72. REFUTED: BGOperateFrameCount is NOT the number of BGOperateFrameName_i slots -- 36 of 72. What holds is Count <= slots, 72/72: a fixed slot array with a live count, the same shape as MessageCount under the 32-slot clamp. 68 of the fields common to all three phases NEVER differ in any of the 24 objects. The phase block is a per-stage environment block copied three times; what a phase change is actually for is the backdrop animation (BGOperate*) and the supply/command squadron assignment. MapPath is not in this family -- its 87 records per pack are 29 x 3, the resource manifest's Phase_N. Also fixed a non-determinism the verify loop caught: most_common() over a set iteration ordered ties differently per run; now sorted by (-count, name). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
185 lines
16 KiB
Plaintext
185 lines
16 KiB
Plaintext
# Mission scoring / rank thresholds (regenerated by mission_scoring.py)
|
|
|
|
IDXD objects carrying RankScore_S, per pack: {'GP_MAIN_GAME_D.pak': 24, 'GP_MAIN_GAME_E.pak': 24, 'GP_MAIN_GAME_F.pak': 24, 'GP_MAIN_GAME_I.pak': 24, 'GP_MAIN_GAME_J.pak': 24, 'GP_MAIN_GAME_S.pak': 24}
|
|
total across the disc : 144
|
|
difficulty records per object : [('Score_Easy', 'Score_Hard', 'Score_Normal')]
|
|
distinct field sets : 1
|
|
records : 72 (22 fields each)
|
|
|
|
value census per field (over 72 records):
|
|
CraftScore_Adjustment 4 distinct 0.5=21 1.0=21 2.0=21 0.0=9
|
|
FFPenalty_Craft_Basis 2 distinct 1.0=63 0.0=9
|
|
FFPenalty_Craft_Maximum 3 distinct 10000=42 5000=21 0=9
|
|
FFPenalty_Vessel_Basis 2 distinct 1.0=63 0.0=9
|
|
FFPenalty_Zessel_Maximum 3 distinct 10000=42 5000=21 0=9
|
|
FriendlyVesselDamageBonus 4 distinct 0=33 1000=13 2000=13 500=13
|
|
GettingScoreBasis_Maximum 7 distinct 10=48 6=6 7=6 4=3 5=3 8=3 9=3
|
|
GettingScoreBasis_Minimum 2 distinct 3=51 2=21
|
|
KillBonus_Maximum 4 distinct 0=18 1000=18 2000=18 500=18
|
|
LostWingmanPenalty 3 distinct 1000=42 500=21 0=9
|
|
MainMissionBonus 8 distinct 0=18 1000=14 2000=14 4000=9 500=5 1500=4 3000=4 6000=4
|
|
MainMissionCount 3 distinct 1=33 2=27 3=12
|
|
OtherScore_Adjustment 4 distinct 0.5=21 1.0=21 2.0=21 0.0=9
|
|
RankScore_A 21 distinct 10350=6 12500=6 4000=6 100001=3 112350=3 14200=3 15400=3 200001=3 21150=3 22350=3 25000=3 25950=3 27150=3 2930
|
|
RankScore_B 21 distinct 3000=6 7900=6 9000=6 10800=3 11600=3 150001=3 15100=3 15900=3 18000=3 18300=3 19100=3 20200=3 30800=3 35400=3
|
|
RankScore_C 21 distinct 2000=6 5450=6 5500=6 100001=3 10650=3 11000=3 11050=3 11100=3 17400=3 18700=3 20001=3 3333=3 39450=3 4138=3 41
|
|
RankScore_D 9 distinct 3000=24 2000=12 4000=12 1000=6 50001=6 10001=3 1667=3 690=3 833=3
|
|
RankScore_S 19 distinct 9999=9 10000=6 12800=6 16000=6 11200=3 120001=3 148800=3 17600=3 19200=3 27200=3 28800=3 300001=3 32000=3 3360
|
|
TimeBonus_Basis_Maximum 2 distinct 300=63 1200=9
|
|
TimeBonus_Basis_Minimum 3 distinct 120=63 480=6 330=3
|
|
TimeBonus_Maximun 5 distinct 1000=18 2000=18 500=18 0=9 10000=9
|
|
VesselScore_Adjustment 4 distinct 0.5=21 1.0=21 2.0=21 0.0=9
|
|
|
|
fields that differ between the three difficulty records:
|
|
{'CraftScore_Adjustment': 21, 'FFPenalty_Craft_Maximum': 21, 'FFPenalty_Zessel_Maximum': 21, 'KillBonus_Maximum': 18, 'LostWingmanPenalty': 21, 'MainMissionBonus': 18, 'OtherScore_Adjustment': 21, 'TimeBonus_Maximun': 18, 'VesselScore_Adjustment': 21, 'FriendlyVesselDamageBonus': 13}
|
|
|
|
objects whose Normal record differs from the commonest Normal record:
|
|
23 of 24 objects
|
|
0xd4c05c15 {'MainMissionBonus': '1000', 'MainMissionCount': '1'}
|
|
0xe88492fc {'RankScore_A': '9150', 'RankScore_B': '7100', 'RankScore_C': '5050', 'RankScore_D': '3000', 'RankScore_S': '11200'}
|
|
0xe8a78ef2 {'MainMissionBonus': '1000', 'MainMissionCount': '1', 'RankScore_A': '12500', 'RankScore_B': '9000', 'RankScore_C': '5500', 'RankScore_D': '2000', 'RankScore_S': '16000'}
|
|
0xe98abbfc {'FriendlyVesselDamageBonus': '1000', 'MainMissionBonus': '3000', 'MainMissionCount': '3', 'RankScore_A': '14200', 'RankScore_B': '10800', 'RankScore_C': '7400', 'RankScore_D': '4000', 'RankScore_S': '17600'}
|
|
0xe9adb7f2 {'RankScore_A': '27150', 'RankScore_B': '19100', 'RankScore_C': '11050', 'RankScore_D': '3000', 'RankScore_S': '35200'}
|
|
0xea90e4fc {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '7', 'GettingScoreBasis_Minimum': '2', 'MainMissionBonus': '3000', 'MainMissionCount': '3', 'RankScore_A': '15400', 'RankScore_B': '11600', 'RankScore_C': '7800', 'RankScore_D': '4000', 'RankScore_S': '19200'}
|
|
0xeab3e0f2 {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '5', 'GettingScoreBasis_Minimum': '2', 'MainMissionBonus': '1000', 'MainMissionCount': '1', 'RankScore_A': '52100', 'RankScore_B': '35400', 'RankScore_C': '18700', 'RankScore_D': '2000', 'RankScore_S': '68800'}
|
|
0xeb970dfc {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '4', 'GettingScoreBasis_Minimum': '2', 'RankScore_A': '10350', 'RankScore_B': '7900', 'RankScore_C': '5450', 'RankScore_D': '3000', 'RankScore_S': '12800'}
|
|
0xebba09f2 {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '6', 'GettingScoreBasis_Minimum': '2', 'MainMissionBonus': '1000', 'MainMissionCount': '1', 'RankScore_A': '12500', 'RankScore_B': '9000', 'RankScore_C': '5500', 'RankScore_D': '2000', 'RankScore_S': '16000'}
|
|
0xec9d36fc {'RankScore_A': '10350', 'RankScore_B': '7900', 'RankScore_C': '5450', 'RankScore_D': '3000', 'RankScore_S': '12800'}
|
|
0xecc032f2 {'RankScore_A': '22350', 'RankScore_B': '15900', 'RankScore_C': '9450', 'RankScore_D': '3000', 'RankScore_S': '28800'}
|
|
0xeda35ffc {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '8', 'GettingScoreBasis_Minimum': '2', 'MainMissionBonus': '3000', 'MainMissionCount': '3', 'RankScore_A': '25000', 'RankScore_B': '18000', 'RankScore_C': '11000', 'RankScore_D': '4000', 'RankScore_S': '32000'}
|
|
0xedc65bf2 {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '9', 'RankScore_A': '112350', 'RankScore_B': '75900', 'RankScore_C': '39450', 'RankScore_D': '3000', 'RankScore_S': '148800'}
|
|
0xede957e8 {'CraftScore_Adjustment': '0.0', 'FFPenalty_Craft_Basis': '0.0', 'FFPenalty_Craft_Maximum': '0', 'FFPenalty_Vessel_Basis': '0.0', 'FFPenalty_Zessel_Maximum': '0', 'KillBonus_Maximum': '0', 'LostWingmanPenalty': '0', 'MainMissionBonus': '0', 'MainMissionCount': '1', 'OtherScore_Adjustment': '0.0', 'RankScore_A': '8333', 'RankScore_B': '5833', 'RankScore_C': '3333', 'RankScore_D': '833', 'RankScore_S': '9999', 'TimeBonus_Basis_Maximum': '1200', 'TimeBonus_Basis_Minimum': '480', 'TimeBonus_Maximun': '10000', 'VesselScore_Adjustment': '0.0'}
|
|
0xeea988fc {'FriendlyVesselDamageBonus': '1000', 'RankScore_A': '25950', 'RankScore_B': '18300', 'RankScore_C': '10650', 'RankScore_D': '3000', 'RankScore_S': '33600'}
|
|
0xeecc84f2 {'MainMissionBonus': '1000', 'MainMissionCount': '1', 'RankScore_A': '29300', 'RankScore_B': '20200', 'RankScore_C': '11100', 'RankScore_D': '2000', 'RankScore_S': '38400'}
|
|
0xeeef80e8 {'FriendlyVesselDamageBonus': '1000', 'KillBonus_Maximum': '0', 'MainMissionBonus': '0', 'MainMissionCount': '1', 'RankScore_A': '200001', 'RankScore_B': '150001', 'RankScore_C': '100001', 'RankScore_D': '50001', 'RankScore_S': '300001', 'TimeBonus_Maximun': '0'}
|
|
0xefafb1fc {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '7', 'GettingScoreBasis_Minimum': '2', 'RankScore_A': '21150', 'RankScore_B': '15100', 'RankScore_C': '9050', 'RankScore_D': '3000', 'RankScore_S': '27200'}
|
|
0xeff5a9e8 {'FriendlyVesselDamageBonus': '1000', 'KillBonus_Maximum': '0', 'MainMissionBonus': '0', 'MainMissionCount': '1', 'RankScore_A': '60001', 'RankScore_B': '40001', 'RankScore_C': '20001', 'RankScore_D': '10001', 'RankScore_S': '80001', 'TimeBonus_Maximun': '0'}
|
|
0xf0b5dafc {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '6', 'GettingScoreBasis_Minimum': '2', 'MainMissionBonus': '3000', 'MainMissionCount': '3', 'RankScore_A': '44200', 'RankScore_B': '30800', 'RankScore_C': '17400', 'RankScore_D': '4000', 'RankScore_S': '57600'}
|
|
0xf0fbd2e8 {'CraftScore_Adjustment': '0.0', 'FFPenalty_Craft_Basis': '0.0', 'FFPenalty_Craft_Maximum': '0', 'FFPenalty_Vessel_Basis': '0.0', 'FFPenalty_Zessel_Maximum': '0', 'KillBonus_Maximum': '0', 'LostWingmanPenalty': '0', 'MainMissionBonus': '0', 'MainMissionCount': '1', 'OtherScore_Adjustment': '0.0', 'RankScore_A': '8750', 'RankScore_B': '6667', 'RankScore_C': '4167', 'RankScore_D': '1667', 'RankScore_S': '9999', 'TimeBonus_Basis_Maximum': '1200', 'TimeBonus_Basis_Minimum': '480', 'TimeBonus_Maximun': '10000', 'VesselScore_Adjustment': '0.0'}
|
|
0xf1020211 {'CraftScore_Adjustment': '0.0', 'FFPenalty_Craft_Basis': '0.0', 'FFPenalty_Craft_Maximum': '0', 'FFPenalty_Vessel_Basis': '0.0', 'FFPenalty_Zessel_Maximum': '0', 'KillBonus_Maximum': '0', 'LostWingmanPenalty': '0', 'MainMissionBonus': '0', 'MainMissionCount': '1', 'OtherScore_Adjustment': '0.0', 'RankScore_A': '8276', 'RankScore_B': '6897', 'RankScore_C': '4138', 'RankScore_D': '690', 'RankScore_S': '9999', 'TimeBonus_Basis_Maximum': '1200', 'TimeBonus_Basis_Minimum': '330', 'TimeBonus_Maximun': '10000', 'VesselScore_Adjustment': '0.0'}
|
|
0xf2082b11 {'FriendlyVesselDamageBonus': '1000', 'KillBonus_Maximum': '0', 'MainMissionBonus': '0', 'MainMissionCount': '1', 'RankScore_A': '100001', 'RankScore_B': '80001', 'RankScore_C': '65001', 'RankScore_D': '50001', 'RankScore_S': '120001', 'TimeBonus_Maximun': '0'}
|
|
|
|
the rest of the settings object (24 objects):
|
|
record-name sets: 2
|
|
x23 ['Camera', 'Difficulty_Easy', 'Difficulty_Hard', 'Difficulty_Normal', 'Phase_1', 'Phase_2', 'Phase_3', 'Player', 'Score_Easy', 'Score_Hard', 'Score_Normal', 'SplinterCell']
|
|
x1 ['Camera', 'Difficulty_Easy', 'Difficulty_Hard', 'Difficulty_Normal', 'Phase_1', 'Phase_2', 'Phase_3', 'Player', 'Score_Easy', 'Score_Hard', 'Score_Normal']
|
|
|
|
Camera — present in 24/24 objects, 14 fields
|
|
CameraFar 2 distinct 3000000.0=23 500000.0=1
|
|
CameraNear 1 distinct 1.0=24
|
|
FarCameraFOV 1 distinct 0.92=24
|
|
FarCameraPosX 1 distinct 0.0=24
|
|
FarCameraPosY 1 distinct 15.0=24
|
|
FarCameraPosZ 1 distinct 80.0=24
|
|
NearCameraFOV 1 distinct 0.92=24
|
|
NearCameraPosX 1 distinct 0.0=24
|
|
NearCameraPosY 1 distinct 10.0=24
|
|
NearCameraPosZ 1 distinct 40.0=24
|
|
NoseCameraFOV 1 distinct 0.92=24
|
|
NoseCameraPosX 1 distinct 0.0=24
|
|
NoseCameraPosY 1 distinct 4.5=24
|
|
NoseCameraPosZ 1 distinct 7.0=24
|
|
|
|
Player — present in 24/24 objects, 9 fields
|
|
AirDragFactor 1 distinct 1.0=24
|
|
BulletLimit 1 distinct 512=24
|
|
GravityFactor 4 distinct 0.0=20 250.0=2 700.0=1 400.0=1
|
|
HomingLimit 1 distinct 256=24
|
|
IsBoss16Enable 1 distinct Yes=1
|
|
LaserLimit 1 distinct 32=24
|
|
PitchAdjustment 1 distinct 0.30=24
|
|
RollAdjustment 1 distinct 0.30=24
|
|
YawAdjustment 1 distinct 0.30=24
|
|
|
|
SplinterCell — present in 23/24 objects, 1 fields
|
|
Count 1 distinct 5=23
|
|
|
|
Difficulty_Easy — present in 24/24 objects, 8 fields
|
|
AntiPlayerMissileGuidanceAdjustment 2 distinct 0.5=23 1.0=1
|
|
CollisionDamageRatio 2 distinct 0.8=23 0.0=1
|
|
DamageAdjustment 3 distinct 2.0=22 1.5=1 1.0=1
|
|
FriendlyFireAdjustment 2 distinct 0.0=23 1.0=1
|
|
PlayerDamageAdjustment 3 distinct 0.5=22 0.75=1 1.0=1
|
|
PlayerMissileGuidanceAdjustment 2 distinct 2.0=23 1.0=1
|
|
PlayerShieldDamageAdjustment 2 distinct 0.5=23 1.0=1
|
|
ShieldDamageAdjustment 2 distinct 2.0=23 1.0=1
|
|
|
|
Difficulty_Normal — present in 24/24 objects, 8 fields
|
|
AntiPlayerMissileGuidanceAdjustment 1 distinct 1.0=24
|
|
CollisionDamageRatio 2 distinct 0.8=23 0.0=1
|
|
DamageAdjustment 1 distinct 1.0=24
|
|
FriendlyFireAdjustment 2 distinct 0.5=23 1.0=1
|
|
PlayerDamageAdjustment 1 distinct 1.0=24
|
|
PlayerMissileGuidanceAdjustment 1 distinct 1.0=24
|
|
PlayerShieldDamageAdjustment 1 distinct 1.0=24
|
|
ShieldDamageAdjustment 1 distinct 1.0=24
|
|
|
|
Difficulty_Hard — present in 24/24 objects, 8 fields
|
|
AntiPlayerMissileGuidanceAdjustment 2 distinct 1.25=23 1.0=1
|
|
CollisionDamageRatio 2 distinct 0.8=23 0.0=1
|
|
DamageAdjustment 1 distinct 1.0=24
|
|
FriendlyFireAdjustment 1 distinct 1.0=24
|
|
PlayerDamageAdjustment 1 distinct 1.0=24
|
|
PlayerMissileGuidanceAdjustment 2 distinct 0.75=23 1.0=1
|
|
PlayerShieldDamageAdjustment 1 distinct 1.0=24
|
|
ShieldDamageAdjustment 2 distinct 0.5=23 1.0=1
|
|
|
|
the Phase_1/2/3 block (72 records over 24 objects):
|
|
distinct field names : 94
|
|
present in EVERY record : 31
|
|
BGOperateFrameCount BGOperateFrameName_0 BGOperateScale_0 BloomScale BrightPassOffset BrightPassThreshold Brightness Contrast ExposureKeyValue FirstAdaptedLuminance FogLinear FogMaxAmount FogMaxDistance FogMinAmount FogMinDistance GlareType Hue LuminanceMax LuminanceMin Saturation ScreenColorB ScreenColorG ScreenColorR SpaceSize StarScale SupplyMovie1ID SupplyMovie2ID SupplyRange SupplySquadron1 SupplySquadron2 UnderCommandSquadron
|
|
field-count histogram : {31: 3, 58: 28, 59: 24, 61: 1, 62: 1, 77: 6, 78: 6, 90: 3}
|
|
BGOperateFrameCount == slots: 36/72 (REFUTED)
|
|
BGOperateFrameCount <= slots: 72/72
|
|
slot histogram {1: 3, 4: 67, 5: 2} ; Count histogram {1: 9, 2: 14, 3: 16, 4: 31, 5: 2}
|
|
fields that DIFFER between phases (of 24 objects):
|
|
BGOperateFrameName_0 6
|
|
SupplySquadron1 5
|
|
BGOperateFrameCount 3
|
|
BGOperateFrameName_2 3
|
|
BrightPassOffset 3
|
|
BrightPassThreshold 3
|
|
Brightness 3
|
|
ColorLayerA 3
|
|
FirstAdaptedLuminance 3
|
|
UnderCommandSquadron 3
|
|
BGOperateScale_2 2
|
|
BloomScale 2
|
|
ColorLayerG 2
|
|
ColorLayerR 2
|
|
Contrast 2
|
|
GlareType 2
|
|
LuminanceMax 2
|
|
StarScale 2
|
|
SupplyMovie1ID 2
|
|
BGRotateScale_2 1
|
|
FogMaxAmount 1
|
|
SpaceSize 1
|
|
SupplyMovie2ID 1
|
|
fields that NEVER differ between phases: 68
|
|
AfterimageScale BGAnimation_0 BGAnimation_3 BGOperateFrameName_1 BGOperateFrameName_3 BGOperateScale_0 BGOperateScale_1 BGOperateScale_3 BGRotateScale_0 BGRotateScale_1 BGRotateScale_3 CCDLuminance ColorLayerB ContrailFirstCullingOff DOF_Enable DOF_FarAmount DOF_FarClip DOF_FarFocal DOF_NearAmount DOF_NearClip DOF_NearFocal ExposureKeyValue ExposureKey_BeginTime ExposureKey_BeginValue ExposureKey_EndTime ExposureKey_EndValue FinalPassBB FinalPassBG FinalPassBR FinalPassDB FinalPassDG FinalPassDR FinalPassDesaturation FinalPassToneRatio FinalPassType FinalPassVinetting FinalPassVinettingSharpness FogLinear FogMaxDistance FogMinAmount FogMinDistance Hue LuminanceMin Nebura_Count Nebura_EmitterRadius Nebura_EmitterRadiusJitter Nebura_MiddleAmount Nebura_MiddleFar Nebura_MiddleNear Nebura_NearAmount Nebura_NearClip Nebura_ResourceName Nebura_Size Nebura_SpeedLimit Nebura_SpeedScale Saturation ScreenColorB ScreenColorG ScreenColorR SupplyRange SupplySquadron2 UnsharpMask_B UnsharpMask_Far UnsharpMask_G UnsharpMask_Luminance UnsharpMask_Near UnsharpMask_Offset UnsharpMask_R
|
|
|
|
the commonest Normal record:
|
|
CraftScore_Adjustment 1.0
|
|
FFPenalty_Craft_Basis 1.0
|
|
FFPenalty_Craft_Maximum 10000
|
|
FFPenalty_Vessel_Basis 1.0
|
|
FFPenalty_Zessel_Maximum 10000
|
|
FriendlyVesselDamageBonus 0
|
|
GettingScoreBasis_Maximum 10
|
|
GettingScoreBasis_Minimum 3
|
|
KillBonus_Maximum 1000
|
|
LostWingmanPenalty 1000
|
|
MainMissionBonus 2000
|
|
MainMissionCount 2
|
|
OtherScore_Adjustment 1.0
|
|
RankScore_A 4000
|
|
RankScore_B 3000
|
|
RankScore_C 2000
|
|
RankScore_D 1000
|
|
RankScore_S 10000
|
|
TimeBonus_Basis_Maximum 300
|
|
TimeBonus_Basis_Minimum 120
|
|
TimeBonus_Maximun 1000
|
|
VesselScore_Adjustment 1.0
|