re: the rest of the stage-settings object -- cameras, player limits, difficulty

53 objects in GP_MAIN_GAME_E carry a Phase_1 record, in TWO families: 29 are
the resource manifest the corpus already owns (Phase_N = 4 fields) and 24 are
the settings table (Phase_N = 31-90 fields).  That answers the 24-vs-28 puzzle
left open by the scoring entry -- the 29 is a different table, not the settings.

Camera: three chase rigs in metres, 13 of 14 fields identical in every stage --
Nose (0, 4.5, 7), Near (0, 10, 40), Far (0, 15, 80), FOV 0.92; only CameraFar
varies, once.  Player: BulletLimit 512 / HomingLimit 256 / LaserLimit 32 and
the three 0.30 axis adjustments are constant, GravityFactor is non-zero in 4 of
24 stages, and IsBoss16Enable appears in exactly ONE object -- the first
per-stage handle for a family whose filenames do not resolve.

Difficulty_Easy/Normal/Hard is a SECOND difficulty record (8 damage and
guidance multipliers), separate from Score_*.

New doc structures/stage-settings-table.md; mission_scoring.py extended.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
Claude (auto)
2026-08-27 18:35:05 +00:00
parent 192d3bf67f
commit 26b7728ceb
6 changed files with 241 additions and 2 deletions

View File

@@ -59,6 +59,71 @@ objects whose Normal record differs from the commonest Normal record:
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 commonest Normal record:
CraftScore_Adjustment 1.0
FFPenalty_Craft_Basis 1.0