#pragma once
#include "Game/IW5/IW5.h"

namespace IW5
{
    inline cspField_t vehicle_fields[]{
        {"type",                                        offsetof(VehicleDef, type),                                        VFT_TYPE                   },
        {"useHintString",                               offsetof(VehicleDef, useHintString),                               CSPFT_STRING               },
        {"health",                                      offsetof(VehicleDef, health),                                      CSPFT_INT                  },
        {"quadBarrel",                                  offsetof(VehicleDef, quadBarrel),                                  CSPFT_QBOOLEAN             },
        {"textureScrollScale",                          offsetof(VehicleDef, texScrollScale),                              CSPFT_FLOAT                },
        {"topSpeed",                                    offsetof(VehicleDef, topSpeed),                                    CSPFT_MPH_TO_INCHES_PER_SEC},
        {"accel",                                       offsetof(VehicleDef, accel),                                       CSPFT_MPH_TO_INCHES_PER_SEC},
        {"rotRate",                                     offsetof(VehicleDef, rotRate),                                     CSPFT_FLOAT                },
        {"rotAccel",                                    offsetof(VehicleDef, rotAccel),                                    CSPFT_FLOAT                },
        {"maxBodyPitch",                                offsetof(VehicleDef, maxBodyPitch),                                CSPFT_FLOAT                },
        {"maxBodyRoll",                                 offsetof(VehicleDef, maxBodyRoll),                                 CSPFT_FLOAT                },
        {"fakeBodyStabilizer",                          offsetof(VehicleDef, fakeBodyStabilizer),                          CSPFT_QBOOLEAN             },
        {"fakeBodyAccelPitch",                          offsetof(VehicleDef, fakeBodyAccelPitch),                          CSPFT_FLOAT                },
        {"fakeBodyAccelRoll",                           offsetof(VehicleDef, fakeBodyAccelRoll),                           CSPFT_FLOAT                },
        {"fakeBodyVelPitch",                            offsetof(VehicleDef, fakeBodyVelPitch),                            CSPFT_FLOAT                },
        {"fakeBodyVelRoll",                             offsetof(VehicleDef, fakeBodyVelRoll),                             CSPFT_FLOAT                },
        {"fakeBodySideVelPitch",                        offsetof(VehicleDef, fakeBodySideVelPitch),                        CSPFT_FLOAT                },
        {"fakeBodyPitchStrength",                       offsetof(VehicleDef, fakeBodyPitchStrength),                       CSPFT_FLOAT                },
        {"fakeBodyRollStrength",                        offsetof(VehicleDef, fakeBodyRollStrength),                        CSPFT_FLOAT                },
        {"fakeBodyPitchDampening",                      offsetof(VehicleDef, fakeBodyPitchDampening),                      CSPFT_FLOAT                },
        {"fakeBodyRollDampening",                       offsetof(VehicleDef, fakeBodyRollDampening),                       CSPFT_FLOAT                },
        {"fakeBodyBoatRockingAmplitude",                offsetof(VehicleDef, fakeBodyBoatRockingAmplitude),                CSPFT_FLOAT                },
        {"fakeBodyBoatRockingPeriod",                   offsetof(VehicleDef, fakeBodyBoatRockingPeriod),                   CSPFT_FLOAT                },
        {"fakeBodyBoatRockingRotationPeriod",           offsetof(VehicleDef, fakeBodyBoatRockingRotationPeriod),           CSPFT_FLOAT                },
        {"fakeBodyBoatRockingFadeoutSpeed",             offsetof(VehicleDef, fakeBodyBoatRockingFadeoutSpeed),             CSPFT_MPH_TO_INCHES_PER_SEC},
        {"boatBouncingMinForce",                        offsetof(VehicleDef, boatBouncingMinForce),                        CSPFT_MPH_TO_INCHES_PER_SEC},
        {"boatBouncingMaxForce",                        offsetof(VehicleDef, boatBouncingMaxForce),                        CSPFT_MPH_TO_INCHES_PER_SEC},
        {"boatBouncingRate",                            offsetof(VehicleDef, boatBouncingRate),                            CSPFT_FLOAT                },
        {"boatBouncingFadeinSpeed",                     offsetof(VehicleDef, boatBouncingFadeinSpeed),                     CSPFT_MPH_TO_INCHES_PER_SEC},
        {"boatBouncingFadeoutSteeringAngle",            offsetof(VehicleDef, boatBouncingFadeoutSteeringAngle),            CSPFT_FLOAT                },
        {"collisionDamage",                             offsetof(VehicleDef, collisionDamage),                             CSPFT_FLOAT                },
        {"collisionSpeed",                              offsetof(VehicleDef, collisionSpeed),                              CSPFT_MPH_TO_INCHES_PER_SEC},
        {"killcamZDist",                                offsetof(VehicleDef, killcamOffset[0]),                            CSPFT_FLOAT                },
        {"killcamBackDist",                             offsetof(VehicleDef, killcamOffset[1]),                            CSPFT_FLOAT                },
        {"killcamUpDist",                               offsetof(VehicleDef, killcamOffset[2]),                            CSPFT_FLOAT                },
        {"playerProtected",                             offsetof(VehicleDef, playerProtected),                             CSPFT_QBOOLEAN             },
        {"bulletDamage",                                offsetof(VehicleDef, bulletDamage),                                CSPFT_QBOOLEAN             },
        {"armorPiercingDamage",                         offsetof(VehicleDef, armorPiercingDamage),                         CSPFT_QBOOLEAN             },
        {"grenadeDamage",                               offsetof(VehicleDef, grenadeDamage),                               CSPFT_QBOOLEAN             },
        {"projectileDamage",                            offsetof(VehicleDef, projectileDamage),                            CSPFT_QBOOLEAN             },
        {"projectileSplashDamage",                      offsetof(VehicleDef, projectileSplashDamage),                      CSPFT_QBOOLEAN             },
        {"heavyExplosiveDamage",                        offsetof(VehicleDef, heavyExplosiveDamage),                        CSPFT_QBOOLEAN             },
        {"physicsEnabled",                              offsetof(VehicleDef, vehPhysDef.physicsEnabled),                   CSPFT_QBOOLEAN             },
        {"physicsPreset",                               offsetof(VehicleDef, vehPhysDef.physPresetName),                   CSPFT_STRING               },
        {"accelerationGraph",                           offsetof(VehicleDef, vehPhysDef.accelGraphName),                   CSPFT_STRING               },
        {"steeringAxle",                                offsetof(VehicleDef, vehPhysDef.steeringAxle),                     VFT_AXLE_STEERING          },
        {"powerAxle",                                   offsetof(VehicleDef, vehPhysDef.powerAxle),                        VFT_AXLE_POWER             },
        {"brakingAxle",                                 offsetof(VehicleDef, vehPhysDef.brakingAxle),                      VFT_AXLE_BRAKING           },
        {"reverseSpeed",                                offsetof(VehicleDef, vehPhysDef.reverseSpeed),                     CSPFT_MPH_TO_INCHES_PER_SEC},
        {"maxVelocity",                                 offsetof(VehicleDef, vehPhysDef.maxVelocity),                      CSPFT_MPH_TO_INCHES_PER_SEC},
        {"maxPitch",                                    offsetof(VehicleDef, vehPhysDef.maxPitch),                         CSPFT_FLOAT                },
        {"maxRoll",                                     offsetof(VehicleDef, vehPhysDef.maxRoll),                          CSPFT_FLOAT                },
        {"suspensionTravelRear",                        offsetof(VehicleDef, vehPhysDef.suspensionTravelRear),             CSPFT_FLOAT                },
        {"suspensionStrengthFront",                     offsetof(VehicleDef, vehPhysDef.suspensionStrengthFront),          CSPFT_FLOAT                },
        {"suspensionDampingFront",                      offsetof(VehicleDef, vehPhysDef.suspensionDampingFront),           CSPFT_FLOAT                },
        {"suspensionStrengthRear",                      offsetof(VehicleDef, vehPhysDef.suspensionStrengthRear),           CSPFT_FLOAT                },
        {"suspensionDampingRear",                       offsetof(VehicleDef, vehPhysDef.suspensionDampingRear),            CSPFT_FLOAT                },
        {"frictionBraking",                             offsetof(VehicleDef, vehPhysDef.frictionBraking),                  CSPFT_FLOAT                },
        {"frictionCoasting",                            offsetof(VehicleDef, vehPhysDef.frictionCoasting),                 CSPFT_FLOAT                },
        {"frictionTopSpeed",                            offsetof(VehicleDef, vehPhysDef.frictionTopSpeed),                 CSPFT_FLOAT                },
        {"frictionSide",                                offsetof(VehicleDef, vehPhysDef.frictionSide),                     CSPFT_FLOAT                },
        {"frictionSideRear",                            offsetof(VehicleDef, vehPhysDef.frictionSideRear),                 CSPFT_FLOAT                },
        {"velocityDependentSlip",                       offsetof(VehicleDef, vehPhysDef.velocityDependentSlip),            CSPFT_FLOAT                },
        {"rollStability",                               offsetof(VehicleDef, vehPhysDef.rollStability),                    CSPFT_FLOAT                },
        {"rollResistance",                              offsetof(VehicleDef, vehPhysDef.rollResistance),                   CSPFT_MPH_TO_INCHES_PER_SEC},
        {"pitchResistance",                             offsetof(VehicleDef, vehPhysDef.pitchResistance),                  CSPFT_MPH_TO_INCHES_PER_SEC},
        {"yawResistance",                               offsetof(VehicleDef, vehPhysDef.yawResistance),                    CSPFT_MPH_TO_INCHES_PER_SEC},
        {"uprightStrengthPitch",                        offsetof(VehicleDef, vehPhysDef.uprightStrengthPitch),             CSPFT_MPH_TO_INCHES_PER_SEC},
        {"uprightStrengthRoll",                         offsetof(VehicleDef, vehPhysDef.uprightStrengthRoll),              CSPFT_MPH_TO_INCHES_PER_SEC},
        {"targetAirPitch",                              offsetof(VehicleDef, vehPhysDef.targetAirPitch),                   CSPFT_FLOAT                },
        {"airYawTorque",                                offsetof(VehicleDef, vehPhysDef.airYawTorque),                     CSPFT_MPH_TO_INCHES_PER_SEC},
        {"airPitchTorque",                              offsetof(VehicleDef, vehPhysDef.airPitchTorque),                   CSPFT_MPH_TO_INCHES_PER_SEC},
        {"minimumMomentumForCollision",                 offsetof(VehicleDef, vehPhysDef.minimumMomentumForCollision),      CSPFT_MPH_TO_INCHES_PER_SEC},
        {"collisionLaunchForceScale",                   offsetof(VehicleDef, vehPhysDef.collisionLaunchForceScale),        CSPFT_FLOAT                },
        {"wreckedMassScale",                            offsetof(VehicleDef, vehPhysDef.wreckedMassScale),                 CSPFT_FLOAT                },
        {"wreckedBodyFriction",                         offsetof(VehicleDef, vehPhysDef.wreckedBodyFriction),              CSPFT_FLOAT                },
        {"minimumJoltForNotify",                        offsetof(VehicleDef, vehPhysDef.minimumJoltForNotify),             CSPFT_MPH_TO_INCHES_PER_SEC},
        {"slipThresholdFront",                          offsetof(VehicleDef, vehPhysDef.slipThresholdFront),               CSPFT_FLOAT                },
        {"slipThresholdRear",                           offsetof(VehicleDef, vehPhysDef.slipThresholdRear),                CSPFT_FLOAT                },
        {"slipFricScaleFront",                          offsetof(VehicleDef, vehPhysDef.slipFricScaleFront),               CSPFT_FLOAT                },
        {"slipFricScaleRear",                           offsetof(VehicleDef, vehPhysDef.slipFricScaleRear),                CSPFT_FLOAT                },
        {"slipFricRateFront",                           offsetof(VehicleDef, vehPhysDef.slipFricRateFront),                CSPFT_FLOAT                },
        {"slipFricRateRear",                            offsetof(VehicleDef, vehPhysDef.slipFricRateRear),                 CSPFT_FLOAT                },
        {"slipYawTorque",                               offsetof(VehicleDef, vehPhysDef.slipYawTorque),                    CSPFT_MPH_TO_INCHES_PER_SEC},
        {"boostDuration",                               offsetof(VehicleDef, boostDuration),                               CSPFT_FLOAT                },
        {"boostRechargeTime",                           offsetof(VehicleDef, boostRechargeTime),                           CSPFT_FLOAT                },
        {"boostAcceleration",                           offsetof(VehicleDef, boostAcceleration),                           CSPFT_MPH_TO_INCHES_PER_SEC},
        {"suspensionTravel",                            offsetof(VehicleDef, suspensionTravel),                            CSPFT_FLOAT                },
        {"maxSteeringAngle",                            offsetof(VehicleDef, maxSteeringAngle),                            CSPFT_FLOAT                },
        {"steeringLerp",                                offsetof(VehicleDef, steeringLerp),                                CSPFT_FLOAT                },
        {"minSteeringScale",                            offsetof(VehicleDef, minSteeringScale),                            CSPFT_FLOAT                },
        {"minSteeringSpeed",                            offsetof(VehicleDef, minSteeringSpeed),                            CSPFT_MPH_TO_INCHES_PER_SEC},
        {"vehHelicopterBoundsRadius",                   offsetof(VehicleDef, vehHelicopterBoundsRadius),                   CSPFT_FLOAT                },
        {"vehHelicopterMaxSpeed",                       offsetof(VehicleDef, vehHelicopterMaxSpeed),                       CSPFT_FLOAT                },
        {"vehHelicopterMaxSpeedVertical",               offsetof(VehicleDef, vehHelicopterMaxSpeedVertical),               CSPFT_FLOAT                },
        {"vehHelicopterMaxAccel",                       offsetof(VehicleDef, vehHelicopterMaxAccel),                       CSPFT_FLOAT                },
        {"vehHelicopterMaxAccelVertical",               offsetof(VehicleDef, vehHelicopterMaxAccelVertical),               CSPFT_FLOAT                },
        {"vehHelicopterDecelerationFwd",                offsetof(VehicleDef, vehHelicopterDecelerationFwd),                CSPFT_FLOAT                },
        {"vehHelicopterDecelerationSide",               offsetof(VehicleDef, vehHelicopterDecelerationSide),               CSPFT_FLOAT                },
        {"vehHelicopterDecelerationUp",                 offsetof(VehicleDef, vehHelicopterDecelerationUp),                 CSPFT_FLOAT                },
        {"vehHelicopterMaxYawRate",                     offsetof(VehicleDef, vehHelicopterMaxYawRate),                     CSPFT_FLOAT                },
        {"vehHelicopterMaxYawAccel",                    offsetof(VehicleDef, vehHelicopterMaxYawAccel),                    CSPFT_FLOAT                },
        {"vehHelicopterTiltFromVelocity",               offsetof(VehicleDef, vehHelicopterTiltFromVelocity),               CSPFT_FLOAT                },
        {"vehHelicopterTiltFromControllerAxes",         offsetof(VehicleDef, vehHelicopterTiltFromControllerAxes),         CSPFT_FLOAT                },
        {"vehHelicopterTiltFromAcceleration",           offsetof(VehicleDef, vehHelicopterTiltFromAcceleration),           CSPFT_FLOAT                },
        {"vehHelicopterTiltFromDeceleration",           offsetof(VehicleDef, vehHelicopterTiltFromDeceleration),           CSPFT_FLOAT                },
        {"vehHelicopterTiltFromFwdAndYaw_VelAtMaxTilt", offsetof(VehicleDef, vehHelicopterTiltFromFwdAndYaw_VelAtMaxTilt), CSPFT_FLOAT                },
        {"vehHelicopterTiltFromFwdAndYaw",              offsetof(VehicleDef, vehHelicopterTiltFromFwdAndYaw),              CSPFT_FLOAT                },
        {"vehHelicopterTiltMomentum",                   offsetof(VehicleDef, vehHelicopterTiltMomentum),                   CSPFT_FLOAT                },
        {"vehHelicopterTiltSpeed",                      offsetof(VehicleDef, vehHelicopterTiltSpeed),                      CSPFT_FLOAT                },
        {"vehHelicopterMaxPitch",                       offsetof(VehicleDef, vehHelicopterMaxPitch),                       CSPFT_FLOAT                },
        {"vehHelicopterMaxRoll",                        offsetof(VehicleDef, vehHelicopterMaxRoll),                        CSPFT_FLOAT                },
        {"vehHelicopterHoverSpeedThreshold",            offsetof(VehicleDef, vehHelicopterHoverSpeedThreshold),            CSPFT_FLOAT                },
        {"vehHelicopterJitterJerkyness",                offsetof(VehicleDef, vehHelicopterJitterJerkyness),                CSPFT_FLOAT                },
        {"vehHelicopterLookaheadTime",                  offsetof(VehicleDef, vehHelicopterLookaheadTime),                  CSPFT_FLOAT                },
        {"vehHelicopterSoftCollisions",                 offsetof(VehicleDef, vehHelicopterSoftCollisions),                 CSPFT_QBOOLEAN             },
        {"camLookEnabled",                              offsetof(VehicleDef, camLookEnabled),                              CSPFT_QBOOLEAN             },
        {"camRelativeControl",                          offsetof(VehicleDef, camRelativeControl),                          CSPFT_QBOOLEAN             },
        {"camLerp",                                     offsetof(VehicleDef, camLerp),                                     CSPFT_FLOAT                },
        {"camHeight",                                   offsetof(VehicleDef, camHeight),                                   CSPFT_FLOAT                },
        {"camRadius",                                   offsetof(VehicleDef, camRadius),                                   CSPFT_FLOAT                },
        {"camPitchInfluence",                           offsetof(VehicleDef, camPitchInfluence),                           CSPFT_FLOAT                },
        {"camYawInfluence",                             offsetof(VehicleDef, camYawInfluence),                             CSPFT_FLOAT                },
        {"camRollInfluence",                            offsetof(VehicleDef, camRollInfluence),                            CSPFT_FLOAT                },
        {"camFovIncrease",                              offsetof(VehicleDef, camFovIncrease),                              CSPFT_FLOAT                },
        {"camFovOffset",                                offsetof(VehicleDef, camFovOffset),                                CSPFT_FLOAT                },
        {"camFovSpeed",                                 offsetof(VehicleDef, camFovSpeed),                                 CSPFT_FLOAT                },
        {"camReturnSpeed",                              offsetof(VehicleDef, camReturnSpeed),                              CSPFT_FLOAT                },
        {"camReturnLerp",                               offsetof(VehicleDef, camReturnLerp),                               CSPFT_FLOAT                },
        {"vehCam_UseGDT",                               offsetof(VehicleDef, vehCam_UseGDT),                               CSPFT_QBOOLEAN             },
        {"vehCam_anglesPitch",                          offsetof(VehicleDef, vehCam_anglesPitch),                          CSPFT_FLOAT                },
        {"vehCam_anglesYaw",                            offsetof(VehicleDef, vehCam_anglesYaw),                            CSPFT_FLOAT                },
        {"vehCam_anglesRoll",                           offsetof(VehicleDef, vehCam_anglesRoll),                           CSPFT_FLOAT                },
        {"vehCam_offsetX",                              offsetof(VehicleDef, vehCam_offsetX),                              CSPFT_FLOAT                },
        {"vehCam_offsetY",                              offsetof(VehicleDef, vehCam_offsetY),                              CSPFT_FLOAT                },
        {"vehCam_offsetZ",                              offsetof(VehicleDef, vehCam_offsetZ),                              CSPFT_FLOAT                },
        {"vehCam_radius",                               offsetof(VehicleDef, vehCam_radius),                               CSPFT_FLOAT                },
        {"vehCam_speedInfluence",                       offsetof(VehicleDef, vehCam_speedInfluence),                       CSPFT_FLOAT                },
        {"vehCam_pitchTurnRate",                        offsetof(VehicleDef, vehCam_pitchTurnRate),                        CSPFT_FLOAT                },
        {"vehCam_pitchClamp",                           offsetof(VehicleDef, vehCam_pitchClamp),                           CSPFT_FLOAT                },
        {"vehCam_yawTurnRate",                          offsetof(VehicleDef, vehCam_yawTurnRate),                          CSPFT_FLOAT                },
        {"vehCam_yawClamp",                             offsetof(VehicleDef, vehCam_yawClamp),                             CSPFT_FLOAT                },
        {"vehCam_zOffsetMode",                          offsetof(VehicleDef, vehCam_zOffsetMode),                          VFT_CAM_Z_OFFSET_MODE      },
        {"vehCam_anglesPitch3P",                        offsetof(VehicleDef, vehCam_anglesPitch3P),                        CSPFT_FLOAT                },
        {"vehCam_anglesYaw3P",                          offsetof(VehicleDef, vehCam_anglesYaw3P),                          CSPFT_FLOAT                },
        {"vehCam_anglesRoll3P",                         offsetof(VehicleDef, vehCam_anglesRoll3P),                         CSPFT_FLOAT                },
        {"vehCam_offsetX3P",                            offsetof(VehicleDef, vehCam_offsetX3P),                            CSPFT_FLOAT                },
        {"vehCam_offsetY3P",                            offsetof(VehicleDef, vehCam_offsetY3P),                            CSPFT_FLOAT                },
        {"vehCam_offsetZ3P",                            offsetof(VehicleDef, vehCam_offsetZ3P),                            CSPFT_FLOAT                },
        {"vehCam_radius3P",                             offsetof(VehicleDef, vehCam_radius3P),                             CSPFT_FLOAT                },
        {"vehCam_speedInfluence3P",                     offsetof(VehicleDef, vehCam_speedInfluence3P),                     CSPFT_FLOAT                },
        {"vehCam_pitchTurnRate3P",                      offsetof(VehicleDef, vehCam_pitchTurnRate3P),                      CSPFT_FLOAT                },
        {"vehCam_pitchClamp3P",                         offsetof(VehicleDef, vehCam_pitchClamp3P),                         CSPFT_FLOAT                },
        {"vehCam_yawTurnRate3P",                        offsetof(VehicleDef, vehCam_yawTurnRate3P),                        CSPFT_FLOAT                },
        {"vehCam_yawClamp3P",                           offsetof(VehicleDef, vehCam_yawClamp3P),                           CSPFT_FLOAT                },
        {"vehCam_zOffsetMode3P",                        offsetof(VehicleDef, vehCam_zOffsetMode3P),                        VFT_CAM_Z_OFFSET_MODE      },
        {"turretWeaponName",                            offsetof(VehicleDef, turretWeaponName),                            CSPFT_STRING               },
        {"turretHorizSpanLeft",                         offsetof(VehicleDef, turretHorizSpanLeft),                         CSPFT_FLOAT                },
        {"turretHorizSpanRight",                        offsetof(VehicleDef, turretHorizSpanRight),                        CSPFT_FLOAT                },
        {"turretVertSpanUp",                            offsetof(VehicleDef, turretVertSpanUp),                            CSPFT_FLOAT                },
        {"turretVertSpanDown",                          offsetof(VehicleDef, turretVertSpanDown),                          CSPFT_FLOAT                },
        {"turretHorizResistLeft",                       offsetof(VehicleDef, turretHorizResistLeft),                       CSPFT_FLOAT                },
        {"turretHorizResistRight",                      offsetof(VehicleDef, turretHorizResistRight),                      CSPFT_FLOAT                },
        {"turretVertResistUp",                          offsetof(VehicleDef, turretVertResistUp),                          CSPFT_FLOAT                },
        {"turretVertResistDown",                        offsetof(VehicleDef, turretVertResistDown),                        CSPFT_FLOAT                },
        {"turretRotRate",                               offsetof(VehicleDef, turretRotRate),                               CSPFT_FLOAT                },
        {"turretSpinSnd",                               offsetof(VehicleDef, turretSpinSnd),                               CSPFT_SOUND                },
        {"turretStopSnd",                               offsetof(VehicleDef, turretStopSnd),                               CSPFT_SOUND                },
        {"trophyEnabled",                               offsetof(VehicleDef, trophyEnabled),                               CSPFT_QBOOLEAN             },
        {"trophyRadius",                                offsetof(VehicleDef, trophyRadius),                                CSPFT_FLOAT                },
        {"trophyInactiveRadius",                        offsetof(VehicleDef, trophyInactiveRadius),                        CSPFT_FLOAT                },
        {"trophyAmmoCount",                             offsetof(VehicleDef, trophyAmmoCount),                             CSPFT_INT                  },
        {"trophyReloadTime",                            offsetof(VehicleDef, trophyReloadTime),                            CSPFT_FLOAT                },
        {"trophyTags",                                  offsetof(VehicleDef, trophyTags),                                  VFT_TROPHY_TAGS            },
        {"trophyExplodeFx",                             offsetof(VehicleDef, trophyExplodeFx),                             CSPFT_FX                   },
        {"trophyFlashFx",                               offsetof(VehicleDef, trophyFlashFx),                               CSPFT_FX                   },
        {"compassFriendlyIcon",                         offsetof(VehicleDef, compassFriendlyIcon),                         CSPFT_MATERIAL             },
        {"compassEnemyIcon",                            offsetof(VehicleDef, compassEnemyIcon),                            CSPFT_MATERIAL             },
        {"compassFriendlyAltIcon",                      offsetof(VehicleDef, compassFriendlyAltIcon),                      CSPFT_MATERIAL             },
        {"compassEnemyAltIcon",                         offsetof(VehicleDef, compassEnemyAltIcon),                         CSPFT_MATERIAL             },
        {"compassIconWidth",                            offsetof(VehicleDef, compassIconWidth),                            CSPFT_INT                  },
        {"compassIconHeight",                           offsetof(VehicleDef, compassIconHeight),                           CSPFT_INT                  },
        {"lowIdleSnd",                                  offsetof(VehicleDef, idleLowSnd),                                  CSPFT_SOUND                },
        {"highIdleSnd",                                 offsetof(VehicleDef, idleHighSnd),                                 CSPFT_SOUND                },
        {"lowEngineSnd",                                offsetof(VehicleDef, engineLowSnd),                                CSPFT_SOUND                },
        {"highEngineSnd",                               offsetof(VehicleDef, engineHighSnd),                               CSPFT_SOUND                },
        {"engineSndSpeed",                              offsetof(VehicleDef, engineSndSpeed),                              CSPFT_MPH_TO_INCHES_PER_SEC},
        {"audioOriginTag",                              offsetof(VehicleDef, audioOriginTag),                              CSPFT_SCRIPT_STRING        },
        {"lowIdleSndAlt",                               offsetof(VehicleDef, idleLowSndAlt),                               CSPFT_SOUND                },
        {"highIdleSndAlt",                              offsetof(VehicleDef, idleHighSndAlt),                              CSPFT_SOUND                },
        {"lowEngineSndAlt",                             offsetof(VehicleDef, engineLowSndAlt),                             CSPFT_SOUND                },
        {"highEngineSndAlt",                            offsetof(VehicleDef, engineHighSndAlt),                            CSPFT_SOUND                },
        {"engineSndSpeedAlt",                           offsetof(VehicleDef, engineSndSpeedAlt),                           CSPFT_MPH_TO_INCHES_PER_SEC},
        {"audioOriginTagAlt",                           offsetof(VehicleDef, audioOriginTagAlt),                           CSPFT_SCRIPT_STRING        },
        {"turretSpinSndAlt",                            offsetof(VehicleDef, turretSpinSndAlt),                            CSPFT_SOUND                },
        {"turretStopSndAlt",                            offsetof(VehicleDef, turretStopSndAlt),                            CSPFT_SOUND                },
        {"engineStartUpSnd",                            offsetof(VehicleDef, engineStartUpSnd),                            CSPFT_SOUND                },
        {"engineStartUpLength",                         offsetof(VehicleDef, engineStartUpLength),                         CSPFT_MILLISECONDS         },
        {"engineShutdownSnd",                           offsetof(VehicleDef, engineShutdownSnd),                           CSPFT_SOUND                },
        {"engineIdleSnd",                               offsetof(VehicleDef, engineIdleSnd),                               CSPFT_SOUND                },
        {"engineSustainSnd",                            offsetof(VehicleDef, engineSustainSnd),                            CSPFT_SOUND                },
        {"engineRampUpSnd",                             offsetof(VehicleDef, engineRampUpSnd),                             CSPFT_SOUND                },
        {"engineRampUpLength",                          offsetof(VehicleDef, engineRampUpLength),                          CSPFT_MILLISECONDS         },
        {"engineRampDownSnd",                           offsetof(VehicleDef, engineRampDownSnd),                           CSPFT_SOUND                },
        {"engineRampDownLength",                        offsetof(VehicleDef, engineRampDownLength),                        CSPFT_MILLISECONDS         },
        {"suspensionSoftSnd",                           offsetof(VehicleDef, suspensionSoftSnd),                           CSPFT_SOUND                },
        {"suspensionSoftCompression",                   offsetof(VehicleDef, suspensionSoftCompression),                   CSPFT_FLOAT                },
        {"suspensionHardSnd",                           offsetof(VehicleDef, suspensionHardSnd),                           CSPFT_SOUND                },
        {"suspensionHardCompression",                   offsetof(VehicleDef, suspensionHardCompression),                   CSPFT_FLOAT                },
        {"collisionSnd",                                offsetof(VehicleDef, collisionSnd),                                CSPFT_SOUND                },
        {"collisionBlendSpeed",                         offsetof(VehicleDef, collisionBlendSpeed),                         CSPFT_MPH_TO_INCHES_PER_SEC},
        {"speedSnd",                                    offsetof(VehicleDef, speedSnd),                                    CSPFT_SOUND                },
        {"speedSndBlendSpeed",                          offsetof(VehicleDef, speedSndBlendSpeed),                          CSPFT_MPH_TO_INCHES_PER_SEC},
        {"surfaceSndPrefix",                            offsetof(VehicleDef, surfaceSndPrefix),                            CSPFT_STRING               },
        {"surfaceSndBlendSpeed",                        offsetof(VehicleDef, surfaceSndBlendSpeed),                        CSPFT_MPH_TO_INCHES_PER_SEC},
        {"slideVolume",                                 offsetof(VehicleDef, slideVolume),                                 CSPFT_FLOAT                },
        {"slideBlendSpeed",                             offsetof(VehicleDef, slideBlendSpeed),                             CSPFT_MPH_TO_INCHES_PER_SEC},
        {"inAirPitch",                                  offsetof(VehicleDef, inAirPitch),                                  CSPFT_FLOAT                },
    };
} // namespace IW5
