Anchoring each key string to the first store AFTER the accessor call makes the extraction exact: 159 fields, 125 of them floats, and verify_fieldmap now checks every one against the live objects -- 154 agree with the disc, 0 disagree. The last ten mismatches taught the rule: angle fields are degrees on disc and RADIANS at runtime (AV_PitchPlus_Max 3.6 -> 0.0628319; MaximumBank_Normal 60 -> 1.0472), an exact conversion across every angle field and unit. 101 defaulted fields now have runtime values: angle limits default to 3.6 degrees, afterburner/turn-attack fields to 0, FiringRange to 0 (matching the loader's miss value), Size_Y to that unit's Size_X, and the ratio family is per-unit rather than constant (HQRatio 0.2 or 1, DefencePoint 0.1 or 0.25, ...). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
6.7 KiB
6.7 KiB