Lukegotjellyfihs

RHS A-10 Cfg+FlightModel+GearPhysx

Aug 13th, 2020 (edited)
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 27.43 KB | None | 0 0
  1. //cfgA10.hpp
  2.     class RHS_A10: Plane_CAS_01_base_F
  3.     {
  4.         rhs_gearAnim="Gear_1";
  5.         dlc = "RHS_USAF";
  6.         editorPreview = "rhsusf\addons\rhsusf_editorPreviews\data\rhs_a10.paa";
  7.         scope=2;
  8.  
  9.         LESH_canBeTowed = 1;
  10.         LESH_towFromFront = 1;
  11.         LESH_AxisOffsetTarget[] = {0,8,0.27};
  12.         LESH_WheelOffset[] = {0,0};
  13.  
  14.         category = "Air";
  15.         side=1;
  16.         crew="rhsusf_airforce_jetpilot";
  17.         typicalCargo[]=
  18.         {
  19.             "rhsusf_airforce_jetpilot"
  20.         };
  21.  
  22.         vehicleClass = "rhs_vehclass_aircraft";
  23.         faction = "rhs_faction_usaf";
  24.  
  25.         displayName="A-10A";
  26.         AUTHOR_MACRO_BIS_PORT
  27.  
  28.         model   = "\rhsusf\addons\rhsusf_a2port_air\a10\A10.p3d";
  29.         picture = "\rhsusf\addons\rhsusf_a2port_air\data\ico\rhs_a10a_pic_ca.paa";
  30.         icon    = "\rhsusf\addons\rhsusf_a2port_air\data\mapico\icon_a10_ca.paa";
  31.         mapSize = 17;
  32.  
  33.         hiddenSelections[]=
  34.         {
  35.             "Camo1",
  36.             "Camo2",
  37.             "screen",
  38.             "pip"
  39.         };
  40.         hiddenSelectionsTextures[]=
  41.         {
  42.             "\rhsusf\addons\rhsusf_a2port_air\a10\data\a10_01_co.paa",
  43.             "\rhsusf\addons\rhsusf_a2port_air\a10\data\a10_02_co.paa",
  44.             "",
  45.             ""
  46.         };
  47.         driverCanEject                  = 1;
  48.         ejectDamageLimit                = 1;
  49.         driverCompartments              = 1;
  50.         camouflage                      = 10;
  51.         audible                         = 6;
  52.         accuracy                        = 0.2;
  53.         supplyRadius                    = 8;
  54.         LockDetectionSystem             = "8 + 4";
  55.         incomingMissileDetectionSystem  = "8";
  56.         radarType                       = 4;
  57.         laserScanner                    = 1;
  58.         irScanRangeMin                  = 100;
  59.         irScanRangeMax                  = 10500;
  60.         irScanToEyeFactor               = 2;
  61.         irScanGround                    = 1;
  62.         minFireTime                     = 10;
  63.         HeadAimDown                     = 0;
  64.         camShakeCoef                    = 0.6;
  65.         headGforceLeaningFactor[]       = {0.005,0.001,0.015};
  66.         allowTabLock                    = 0;
  67.         class EjectionSystem {};
  68.         soundLocked[] = {"a3\Sounds_F\vehicles\air\noises\heli_alarm_rotor_low",db+1,1};
  69.  
  70.         //Target params definitions
  71.         irTarget            = 1;
  72.         irTargetSize        = 1;
  73.         visualTarget        = 1;
  74.         visualTargetSize    = 1;
  75.         radarTarget         = 1;
  76.         radarTargetSize     = 1;
  77.  
  78.  
  79.         unitInfoType            = "RHSUSF_RscUnitInfoJet";
  80.         driverWeaponsInfoType   = "RHSUSF_RscOptics_A10A_TVM";
  81.  
  82.         driverAction                    = "rhs_A10_Pilot";
  83.         driverLeftHandAnimName          = "lever_pilot";
  84.         driverRightHandAnimName         = "stick_pilot";
  85.         driverLeftLegAnimName           = "pedal_l";
  86.         driverRightLegAnimName          = "pedal_r";
  87.         cabinOpening                    = 1;
  88.         precisegetinout                 = 1;
  89.         memoryPointsGetInDriver         = "pos driver";
  90.         memoryPointsGetInDriverDir      = "pos driver dir";
  91.         memoryPointsGetInDriverPrecise  = "pos driver";
  92.  
  93.         selectionFireAnim   = "zasleh";
  94.         memoryPointLRocket  = "L Raketa";
  95.         memoryPointRRocket  = "P Raketa";
  96.         memoryPointLDust    = "levy prach";
  97.         memoryPointRDust    = "pravy prach";
  98.         memorypointcm[]     = {"flare_launcher1", "flare_launcher2"};
  99.         memorypointcmdir[]  = {"flare_launcher1_dir", "flare_launcher2_dir"};
  100.  
  101.         weapons[]=
  102.         {
  103.             rhs_weap_MASTERSAFE,
  104.             RHS_weap_gau8
  105.         };
  106.         //stations numbering created according to this document
  107.         //http://smg.photobucket.com/user/britgliderpilot/media/a-10aloadout.jpg.html
  108.         magazines[]=
  109.         {
  110.             rhs_mag_1150Rnd_30x173_mixed
  111.         };
  112.         threat[]={1,1,1};
  113.         class Turrets {};
  114.         class pilotCamera
  115.         {
  116.             class OpticsIn
  117.             {
  118.                 class Wide
  119.                 {
  120.                     opticsDisplayName = "DEFAULT";
  121.                     initAngleX = 0;
  122.                     minAngleX = -30;
  123.                     maxAngleX = 30;
  124.                     initAngleY = 0;
  125.                     minAngleY = -100;
  126.                     maxAngleY = 100;
  127.                     initFov = __EVAL(0.35/3);
  128.                     minFov  = __EVAL(0.35/3);
  129.                     maxFov  = __EVAL(0.35/3);
  130.                     directionStabilized = 0;
  131.                     visionMode[] = {"Ti"};
  132.                     thermalMode[] = {0};
  133.                     gunnerOpticsModel = "rhsusf\addons\rhsusf_a2port_air\A10\rhs_tvm_3x.p3d";
  134.                 };
  135.                 class Narrow : Wide
  136.                 {
  137.                     opticsDisplayName = "ZOOM";
  138.                     initFov = __EVAL(0.35/6);
  139.                     minFov  = __EVAL(0.35/6);
  140.                     maxFov  = __EVAL(0.35/6);
  141.                     gunnerOpticsModel = "rhsusf\addons\rhsusf_a2port_air\A10\rhs_tvm_6x.p3d";
  142.                 };
  143.             };
  144.             minElev = -60;
  145.             maxElev = 60;
  146.             initElev = -0;
  147.             minTurn = -60;
  148.             maxTurn = 60;
  149.  
  150.             maxXRotSpeed = 0.25;
  151.             maxYRotSpeed = 0.25;
  152.             pilotOpticsShowCursor = 0;
  153.             controllable = 1;
  154.         };
  155.         memoryPointDriverOptics = "tvm1";
  156.  
  157.         //Sensors definition
  158.         class Components
  159.         {
  160.             #include "dynamicloadouts.hpp"
  161.             class SensorsManagerComponent
  162.             {
  163.                 class Components
  164.                 {
  165.                     class VisualSensorComponent : SensorTemplateVisual
  166.                     {
  167.                         SENS_RANGES_WVR(4000,4000)
  168.  
  169.                         angleRangeHorizontal = 25;
  170.                         angleRangeVertical = 20;
  171.                         typeRecognitionDistance = -1;
  172.                         groundNoiseDistanceCoef = 0.07;  // portion of sensor-target-ground distance below which the targets become invisible to the sensor
  173.                         maxGroundNoiseDistance = 0;   // distance from the ground in meters, hard cap, above which the target will be visible even if still below groundNoiseDistanceCoef
  174.                         minSpeedThreshold = 0;        // target speed in km/h above which the target will start to become visible
  175.                         maxSpeedThreshold = 0;       // target speed above which the target becomes visible even if below groundNoiseDistanceCoef, linearly decreases to minSpeedThreshold
  176.                         maxFogSeeThrough = 0.95;
  177.                         minTrackableSpeed = 0;
  178.                         maxTrackableSpeed = 695;
  179.                         animDirection = "PilotCamera_V";
  180.                     };
  181.  
  182.                     class LaserSensorComponent : SensorTemplateLaser
  183.                     {
  184.                         SENS_RANGES_BVR(10000,10000)
  185.  
  186.                         angleRangeHorizontal = 25;
  187.                         angleRangeVertical = 20;
  188.                         typeRecognitionDistance = -1;
  189.                         maxGroundNoiseDistance = 0;   // distance from the ground in meters, hard cap, above which the target will be visible even if still below groundNoiseDistanceCoef
  190.                         maxFogSeeThrough = 0.3;
  191.                         animDirection = "PilotCamera_V";
  192.                     };
  193.  
  194.                     class PassiveRadarSensorComponent : SensorTemplatePassiveRadar{};
  195.                 };
  196.             };
  197.  
  198.             class VehicleSystemsDisplayManagerComponentLeft : DefaultVehicleSystemsDisplayManagerLeft
  199.             {
  200.                 class Components
  201.                 {
  202.                     CI_EMPTY
  203.                 };
  204.             };
  205.  
  206.             class VehicleSystemsDisplayManagerComponentRight : DefaultVehicleSystemsDisplayManagerRight
  207.             {
  208.                 defaultDisplay = "SensorDisplay";
  209.                 class Components
  210.                 {
  211.                     CI_EMPTY
  212.                 };
  213.             };
  214.             class ForcedCam
  215.             {
  216.                 componentType = "VehicleSystemsDisplayManager";
  217.                 defaultDisplay = "VehicleDriverDisplay";
  218.                 x = 11;
  219.                 y = 11;
  220.                 class Components
  221.                 {
  222.                     class VehicleDriverDisplay
  223.                     {
  224.                         componentType = "TransportFeedDisplayComponent";
  225.                         source = "Driver";
  226.                     };
  227.                 };
  228.             };
  229.             class TransportCountermeasuresComponent
  230.             {
  231.             };
  232.         };
  233.  
  234.         class AnimationSources: AnimationSources
  235.         {
  236.             class gatling
  237.             {
  238.                 weapon  ="RHS_weap_GAU8";
  239.                 source  ="revolving";
  240.             };
  241.             class muzzle_rot_hmg
  242.             {
  243.                 weapon  ="RHS_weap_GAU8";
  244.                 source  ="ammorandom";
  245.             };
  246.             class eject
  247.             {
  248.                 source      ="door";
  249.                 animPeriod  = 0.6;
  250.                 initPhase   = 0;
  251.             };
  252.             class eject_hide
  253.             {
  254.                 source      ="user";
  255.                 animPeriod  = 0.6;
  256.                 initPhase   = 0;
  257.             };
  258.             class Hide_Monitor
  259.             {
  260.                 source      = user;
  261.                 animPeriod  = 0.00001;
  262.                 initPhase   = 0;
  263.             };
  264.             class tvm_locked: Hide_Monitor {};
  265.             class ind_beacon_source: Hide_Monitor {};
  266.             class throttle_source: Hide_Monitor {animPeriod = 10;};
  267.             class HitFuel_1_source          {source = hit; hitpoint = HitFuel;};
  268.             class HitFuel_2_source          {source = hit; hitpoint = HitFuel2;};
  269.             class Damper_1_source           {source = damper; wheel = Wheel_1;};
  270.             class Damper_2_source           {source = damper; wheel = Wheel_2;};
  271.             class Damper_3_source           {source = damper; wheel = Wheel_3;};
  272.             class Wheel_1_source            {source = wheel; wheel = Wheel_1;};
  273.             class Wheel_2_source            {source = wheel; wheel = Wheel_2;};
  274.             class Wheel_3_source            {source = wheel; wheel = Wheel_3;};
  275.             class mirror_fold
  276.             {
  277.                 source      = "user";
  278.                 animPeriod  = 0.6;
  279.                 initPhase   = 0;
  280.             };
  281.  
  282.             ANIM_PYLON(1)
  283.             ANIM_PYLON(2)
  284.             ANIM_PYLON(3)
  285.             ANIM_PYLON(4)
  286.             ANIM_PYLON(5)
  287.             ANIM_PYLON(6)
  288.             ANIM_PYLON(7)
  289.             ANIM_PYLON(8)
  290.             ANIM_PYLON(9)
  291.             ANIM_PYLON(10)
  292.             ANIM_PYLON(11)
  293.         };
  294.         class compartmentsLights
  295.         {
  296.             class Comp1
  297.             {
  298.                 class Light_General
  299.                 {
  300.                     color[]             = {20,30,30};
  301.                     ambient[]           = {0,0,0};
  302.                     intensity           = 8.05;
  303.                     size                = 0;
  304.                     useFlare            = 0;
  305.                     flareSize           = 0.0;
  306.                     flareMaxDistance    = 0;
  307.                     dayLight            = 1;
  308.                     blinking            = 0;
  309.                     class Attenuation
  310.                     {
  311.                         start           = 0;
  312.                         constant        = 0;
  313.                         linear          = 1;
  314.                         quadratic       = 70;
  315.                         hardLimitStart  = 1.45;
  316.                         hardLimitEnd    = 2.45;
  317.                     };
  318.                     point = "light_general";
  319.                 };
  320.             };
  321.         }; // compartmentsLights
  322.         class Reflectors
  323.         {
  324.             class Gear_Light
  325.             {
  326.                 color[]         = {70,75,100,1};
  327.                 ambient[]       = {1,1,1,0};
  328.                 position        = "L svetlo";
  329.                 direction       = "konec L svetla";
  330.                 hitpoint        = "L svetlo";
  331.                 selection       = "L svetlo";
  332.                 size            = 1;
  333.                 innerAngle      = 20;
  334.                 outerAngle      = 50;
  335.                 coneFadeCoef    = 3;
  336.                 intensity       = 1000;
  337.                 useFlare        = 0;
  338.                 dayLight        = 1;
  339.                 FlareSize       = 4;
  340.                 class Attenuation
  341.                 {
  342.                     start           = 0;
  343.                     constant        = 0;
  344.                     linear          = 0;
  345.                     quadratic       = 0.15;
  346.                     hardLimitStart  = 55;
  347.                     hardLimitEnd    = 100;
  348.                 };
  349.             };
  350.             class Gear_Light_Flare: Gear_Light
  351.             {
  352.                 outerAngle      = 179;
  353.                 useFlare        = 1;
  354.                 intensity       = 50;
  355.                 coneFadeCoef    = 13;
  356.                 class Attenuation
  357.                 {
  358.                     start       = 1;
  359.                     constant    = 0;
  360.                     linear      = 0;
  361.                     quadratic   = 20;
  362.                 };
  363.             };
  364.         };
  365.         aggregateReflectors[] = {{Gear_Light},{Gear_Light_Flare}};
  366.         class MarkerLights
  367.         {
  368.             class CollisionRed
  369.             {
  370.                 color[]                     = {0.8,0,0};
  371.                 ambient[]                   = {0.09,0,0};
  372.                 intensity                   = 75;
  373.                 name                        = "cerveny pozicni";
  374.                 drawLight                   = 1;
  375.                 drawLightSize               = 0.25;
  376.                 drawLightCenterSize         = 0.05;
  377.                 activeLight                 = 0;
  378.                 blinking                    = 1;
  379.                 dayLight                    = 0;
  380.                 useFlare                    = 0;
  381.                 blinkingPattern[]           = {0.2,1.3};
  382.                 blinkingPatternGuarantee    = 0;
  383.                 class Attenuation
  384.                 {
  385.                     start=0;
  386.                     constant=0;
  387.                     linear=25;
  388.                     quadratic=50;
  389.                     hardLimitStart=0.75;
  390.                     hardLimitEnd=1;
  391.                 };
  392.             };
  393.             class CollisionGreen: CollisionRed
  394.             {
  395.                 color[]             ={0,0.8,0};
  396.                 ambient[]           ={0,0.08,0};
  397.                 name                = "zeleny pozicni";
  398.                 blinkingPattern[]   ={0.2,0.9};
  399.             };
  400.             class PositionWhiteTop: CollisionRed
  401.             {
  402.                 color[]         ={1,1,1};
  403.                 ambient[]       ={0.1,0.1,0.1};
  404.                 name            = "bily pozicni";
  405.                 drawLightSize   =0.2;
  406.                 blinking        =0;
  407.             };
  408.             class CollisionWhiteRear: CollisionRed
  409.             {
  410.                 color[]                     ={1,1,1};
  411.                 ambient[]                   ={0.1,0.1,0.1};
  412.                 name                        = "cerveny pozicni blik";
  413.                 blinkingPatternGuarantee    =0;
  414.                 drawLightSize               =0.25;
  415.                 drawLightCenterSize         =0.04;
  416.             };
  417.         };
  418.         class RenderTargets
  419.         {
  420.             class Mirror
  421.             {
  422.                 renderTarget = "rendertarget0";
  423.  
  424.                 class CameraView1
  425.                 {
  426.                     pointPosition       = "PIP_mirror_0";
  427.                     pointDirection      = "PIP_mirror_0_dir";
  428.                     renderQuality       = 0;
  429.                     renderVisionMode    = 0;
  430.                     fov                 = 1;
  431.                 };
  432.                 PIP_BB(0)
  433.             };
  434.         };
  435.         damageResistance=0.0048;
  436.         epeImpulseDamageCoef = 1;
  437.  
  438. //flight model
  439.         maxSpeed                        = 834;
  440.         landingAoa                      = "rad 10";
  441.         landingSpeed                    = 220;
  442.         gearUpTime                      = 4.5;
  443.         gearDownTime                    = 3;
  444.         angleOfIndicence                = 0.052359872;
  445.         draconicForceXCoef              = 7.2;
  446.         draconicForceYCoef              = 2.6;
  447.         draconicForceZCoef              = 0.15;
  448.         draconicTorqueXCoef             = 1.29;
  449.         draconicTorqueYCoef             = 3.1;
  450.         thrustCoef[]                    = {0.91,0.84,0.9,1.3,1.2,1.2,1.1,1,0.93,0.2,0.1,0,0};
  451.         envelope[]                      = {0,0.1,0.61,2.2,3.7,4.9,6,5.5,5.8,4.7,3.4,1.8,0};
  452.         aileronControlsSensitivityCoef  = 3;
  453.         elevatorControlsSensitivity     = 2;
  454.         rudderControlsSensitivityoef    = 4;
  455.         elevatorCoef[]                  = {0.7,0.9,0.55,0.4,0.39,0.3,0.3};
  456.         aileronCoef[]                   = {0.6,1,0.97,0.9,0.85,0.87,0.75};
  457.         rudderCoef[]                    = {0.7,1,1,0.9,0.82,0.73,0.6};
  458.         brakeDistance                   = 85;
  459.         aileronSensitivity              = 0.75;
  460.         elevatorSensitivity             = 1.9;
  461.         wheelSteeringSensitivity        = 1.6;
  462.         flapsFrictionCoef               = 0.6;
  463.         airFriction0[]                  = {100,60,12};
  464.         airFriction1[]                  = {100,60,12};
  465.         airFriction2[]                  = {100,60,12};
  466.  
  467.         class TransportMagazines {
  468.             mag_xx(rhs_mag_30Rnd_556x45_M855A1_Stanag,4);
  469.             mag_xx(rhs_mag_m18_green,2);
  470.             mag_xx(rhs_mag_m18_yellow,2);
  471.             mag_xx(rhs_mag_m18_red,2);
  472.             mag_xx(rhs_mag_m18_purple,2);
  473.             mag_xx(rhs_mag_an_m8hc,2);
  474.         };
  475.         class TransportItems
  476.         {
  477.             item_xx(FirstAidKit,2);
  478.         };
  479.         class WingVortices
  480.         {
  481.             class WingTipLeft
  482.             {
  483.                 effectName="WingVortices";
  484.                 position="body_vapour_L_E";
  485.             };
  486.             class WingTipRight
  487.             {
  488.                 effectName="WingVortices";
  489.                 position="body_vapour_R_E";
  490.             };
  491.             class BodyLeft
  492.             {
  493.                 effectName="BodyVortices";
  494.                 position="body_vapour_L_S";
  495.             };
  496.             class BodyRight
  497.             {
  498.                 effectName="BodyVortices";
  499.                 position="body_vapour_R_S";
  500.             };
  501.         };
  502.         attenuationEffectType="HeliAttenuation";
  503.         class Damage
  504.         {
  505.             tex[]=
  506.             {
  507.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\rhs_a10_warning_lights_off_ca.paa",
  508.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\rhs_a10_warning_lights_ca.paa"
  509.             };
  510.             mat[]=
  511.             {
  512.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\a10_skla.rvmat",
  513.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\a10_skla_damage.rvmat",
  514.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\a10_skla_damage.rvmat",
  515.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\a10_cockpit_glass_in.rvmat",
  516.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\a10_cockpit_glass_in_damage.rvmat",
  517.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\a10_cockpit_glass_in_damage.rvmat",
  518.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\A10_01.rvmat",
  519.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\A10_01_damage.rvmat",
  520.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\A10_01_destruct.rvmat",
  521.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\A10_02.rvmat",
  522.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\A10_02_damage.rvmat",
  523.                 "rhsusf\addons\rhsusf_a2port_air\a10\data\A10_02_destruct.rvmat"
  524.             };
  525.         };
  526.         class Library
  527.         {
  528.             libEnable=1;
  529.             libTextDesc="The Fairchild Republic A-10 Thunderbolt II is an American twin/single-seat, twin-engine, straight-wing jet aircraft developed by Fairchild-Republic in the early 1970s. The A-10 was designed around the GAU-8 Avenger, a rotary cannon that is the airplane's primary armament and the heaviest such cannon mounted on an aircraft. The A-10's airframe was designed for survivability, with protective measures such as 1,200 pounds (540 kg) of armor to enable the aircraft to continue flying after taking significant damage.";
  530.         };
  531.         availableForSupportTypes[]=
  532.         {
  533.             "CAS_Bombing"
  534.         };
  535.         armor           = 60;
  536.         armorStructural = 2;
  537.         class Hitpoints
  538.         {
  539.             class HitHull           {armor = 999;   explosionShielding = 0.00; passThrough = 0.01; minimalHit = 1.00;   radius = 0.15; material = -1; name = "hit_hull";            visual = "-";               depends = "Total";                                  };
  540.             class HitAvionics       {armor = 0.20;  explosionShielding = 0.60; passThrough = 0.01; minimalHit = 0.10;   radius = 0.08; material = -1; name = "hit_avionics";        visual = "vis_avionics";    depends = "0";                                      };
  541.             class HitEngine         {armor = 0.50;  explosionShielding = 0.25; passThrough = 0.20; minimalHit = 0.01;   radius = 0.07; material = -1; name = "hit_engine_l";        visual = "vis_engine_l";    depends = "0";                                      };
  542.             class HitEngine2        {armor = 0.50;  explosionShielding = 0.25; passThrough = 0.20; minimalHit = 0.01;   radius = 0.07; material = -1; name = "hit_engine_r";        visual = "vis_engine_r";    depends = "0";                                      };
  543.             class HitFuel           {armor = 1.00;  explosionShielding = 0.20; passThrough = 0.10; minimalHit = 0.10;   radius = 0.10; material = -1; name = "hit_fuel";            visual = "vis_fuel";        depends = "0";                                      };
  544.             class HitFuel_left      {armor = 0.50;  explosionShielding = 0.70; passThrough = 0.10; minimalHit = 0.10;   radius = 0.12; material = -1; name = "hit_fuel_wing_l";     visual = "vis_wing_l";      depends = "0";                                      };
  545.             class HitFuel_right     {armor = 0.50;  explosionShielding = 0.70; passThrough = 0.10; minimalHit = 0.10;   radius = 0.12; material = -1; name = "hit_fuel_wing_r";     visual = "vis_wing_r";      depends = "0";                                      };
  546.             class HitFuel2          {armor = 999;   explosionShielding = 0.00; passThrough = 0.10; minimalHit = 1.00;   radius = 0.01; material = -1; name = "hit_fuel";            visual = "-";               depends = "(HitFuel_left+HitFuel_right)*0.5";       };
  547.             class HitLAileron_link  {armor = 0.60;  explosionShielding = 0.60; passThrough = 0.10; minimalHit = 0.10;   radius = 0.12; material = -1; name = "hit_aileron_link_l";  visual = "-";               depends = "0";                                      };
  548.             class HitRAileron_link  {armor = 0.60;  explosionShielding = 0.60; passThrough = 0.10; minimalHit = 0.10;   radius = 0.12; material = -1; name = "hit_aileron_link_r";  visual = "-";               depends = "0";                                      };
  549.             class HitLAileron       {armor = 0.60;  explosionShielding = 0.50; passThrough = 0.10; minimalHit = 0.10;   radius = 0.13; material = -1; name = "hit_aileron_l";       visual = "vis_wing_l";      depends = "HitLAileron_link*0.7";                   };
  550.             class HitRAileron       {armor = 0.60;  explosionShielding = 0.50; passThrough = 0.10; minimalHit = 0.10;   radius = 0.13; material = -1; name = "hit_aileron_r";       visual = "vis_wing_r";      depends = "HitRAileron_link*0.7";                   };
  551.             class HitControlRear    {armor = 0.60;  explosionShielding = 0.10; passThrough = 0.10; minimalHit = 0.10;   radius = 0.17; material = -1; name = "hit_control_rear";    visual = "-";               depends = "0";                                      };
  552.             class HitLCElevator     {armor = 0.60;  explosionShielding = 0.50; passThrough = 0.10; minimalHit = 0.10;   radius = 0.12; material = -1; name = "hit_elevator_l";      visual = "vis_elevator_l";  depends = "HitControlRear";                         };
  553.             class HitRElevator      {armor = 0.60;  explosionShielding = 0.50; passThrough = 0.10; minimalHit = 0.10;   radius = 0.12; material = -1; name = "hit_elevator_r";      visual = "vis_elevator_r";  depends = "HitControlRear";                         };
  554.             class HitLCRudder       {armor = 0.70;  explosionShielding = 0.50; passThrough = 0.10; minimalHit = 0.02;   radius = 0.12; material = -1; name = "hit_rudder_l";        visual = "vis_rudder_l";    depends = "HitControlRear";                         };
  555.             class HitRRudder        {armor = 0.70;  explosionShielding = 0.50; passThrough = 0.10; minimalHit = 0.02;   radius = 0.12; material = -1; name = "hit_rudder_r";        visual = "vis_rudder_r";    depends = "HitControlRear";                         };
  556.             class HitGlass1         {armor = 0.60;  explosionShielding = 0.70; passThrough = 0.10; minimalHit = 0.10;   radius = 0.12; material = -1; name = "glass_1";             visual = "glass_1";         depends = "0";                                      };
  557.  
  558.             class WarningElevator   {armor = 9999;  explosionShielding = 0.00; passThrough = 0.00; minimalHit = 1.00;   radius = 0.00; material = -1; name = "hit_elevator_r";      visual = "ind_elevator";    depends = "HitLCElevator+HitRElevator";             };
  559.             class WarningAileron    {armor = 9999;  explosionShielding = 0.00; passThrough = 0.00; minimalHit = 1.00;   radius = 0.00; material = -1; name = "hit_elevator_r";      visual = "ind_aileron";     depends = "HitLAileron+HitRAileron";                };
  560.  
  561.             HP_PYLON(1,0.7)
  562.             HP_PYLON(2,0.7)
  563.             HP_PYLON(3,0.7)
  564.             HP_PYLON(4,0.7)
  565.             HP_PYLON(5,0.7)
  566.             HP_PYLON(6,0.7)
  567.             HP_PYLON(7,0.7)
  568.             HP_PYLON(8,0.7)
  569.             HP_PYLON(9,0.7)
  570.             HP_PYLON(10,0.7)
  571.             HP_PYLON(11,0.7)
  572.         };
  573.  
  574.         class UserActions
  575.         {
  576.             class SAFEMODE {
  577.                 displayName = "<t color='#00FF7F'>MASTERSAFE</t>";
  578.                 condition = "(call rhsusf_fnc_findPlayer) in this";
  579.                 statement = "(call rhsusf_fnc_findPlayer) action ['SwitchWeapon', this, (call rhsusf_fnc_findPlayer), -1];";
  580.                 position = "";
  581.                 radius = 10;
  582.                 priority = 10.5;
  583.                 onlyforplayer = 1;
  584.                 showWindow = 0;
  585.                 shortcut="user13";
  586.                 hideOnUse = 1;
  587.             };
  588.             class Toggle_LandingMode {
  589.                 displayName = "Toggle Landing Mode";
  590.                 condition = "(call rhsusf_fnc_findPlayer) in this && currentWeapon this == ''";
  591.                 statement = "this setUserMFDvalue [4, abs(((getUserMFDvalue this) select 4)-1)]";
  592.                 position = "";
  593.                 radius = 10;
  594.                 priority = 10.5;
  595.                 onlyforplayer = 1;
  596.                 showWindow = 0;
  597.                 shortcut="user14";
  598.                 hideOnUse = 1;
  599.             };
  600.             class Mirrors {
  601.                 displayName     = "<t color='#FBB829'>Toggle mirrors</t>";
  602.                 position        = "";
  603.                 radius          = 10;
  604.                 priority        = 10.5;
  605.                 onlyforplayer   = 1;
  606.                 showWindow      = 0;
  607.                 hideOnUse       = 1;
  608.                 condition       = "(call rhs_fnc_findPlayer) in this";
  609.                 shortcut        = "";
  610.                 statement       = "this animateSource ['mirror_fold',abs((this animationSourcePhase 'mirror_fold') -1)]";
  611.             };
  612.         };
  613.         class EventHandlers : EventHandlers
  614.         {
  615.             hit = "";
  616.             class RHSUSF_EventHandlers
  617.             {
  618.                 hit     = "_this call RHS_fnc_AI_eject";
  619.                 getout  = "[_this select 0, _this select 2,'rhs_a10_canopy'] call rhs_fnc_ACESII_seatEjection";
  620.                 engine  = "[_this select 0,_this select 1,10] call rhs_fnc_engineStartupDelay;_this call rhs_fnc_addParachutes;";
  621.             };
  622.         };
  623.         defaultUserMFDvalues[] = {0.15, 1.0, 0.15,1,0};
  624.         class MFD
  625.         {
  626.             class AirplaneHUD
  627.             {
  628.                 #define PosX0Center 0.498
  629.                 #define PosY0Center 0.485
  630.                 #define PosYCenterHorizont 0.48
  631.                 #define PosY0CenterAdjust 0.13
  632.                 #define SizeX10deg (0.658+0.1) //0.94+0.03
  633.                 #define SizeY10deg (0.825+0.1) //1.3-0.2
  634.                 #define SizeX10degHorizon 0.684*1.8
  635.                 #define SizeY10degHorizon 0.780*1.8
  636.                 #include "cfgHUD_A10A.hpp"
  637.             };
  638.             #include "cfgMFD_A10A.hpp"
  639.         };
  640.         #include "physx.hpp"
  641.     };
  642.     class RHS_A10_AT: RHS_A10
  643.     {
  644.         scope = 1;
  645.         scopecurator = 2;
  646.         AUTHOR_MACRO_BIS_PORT
  647.         displayName="A-10A (AT)";
  648.         editorPreview = "rhsusf\addons\rhsusf_editorPreviews\data\RHS_A10_AT.paa";
  649.         class components: components
  650.         {
  651.             class TransportPylonsComponent: TransportPylonsComponent
  652.             {
  653.                 class pylons: pylons
  654.                 {
  655.                     class pylon1: pylon1 {attachment = "rhs_mag_ANALQ131";};
  656.                     class pylon2: pylon2 {attachment = "rhs_mag_FFAR_7_USAF";};
  657.                     class pylon3: pylon3 {attachment = "rhs_mag_agm65d_3";};
  658.                     class pylon4: pylon4 {attachment = "rhs_mag_gbu12";};
  659.                     class pylon5: pylon5 {attachment = "rhs_mag_gbu12";};
  660.                     class pylon6: pylon6 {attachment = "";};
  661.                     class pylon7: pylon7 {attachment = "rhs_mag_gbu12";};
  662.                     class pylon8: pylon8 {attachment = "rhs_mag_gbu12";};
  663.                     class pylon9: pylon9 {attachment = "rhs_mag_agm65d_3";};
  664.                     class pylon10: pylon10 {attachment = "rhs_mag_FFAR_7_USAF";};
  665.                     class pylon11: pylon11 {attachment = "rhs_mag_Sidewinder_2";};
  666.                     class cmDispenser: cmDispenser  {};
  667.                 };
  668.             };
  669.         };
  670.     };
  671.     class RHS_A10_CBU: RHS_A10
  672.     {
  673.         scope = 1;
  674.         scopecurator = 2;
  675.         AUTHOR_MACRO_BIS_PORT
  676.         displayName="A-10A (Cluster)";
  677.         editorPreview = "rhsusf\addons\rhsusf_editorPreviews\data\RHS_A10_AT.paa";
  678.         class components: components
  679.         {
  680.             class TransportPylonsComponent: TransportPylonsComponent
  681.             {
  682.                 class pylons: pylons
  683.                 {
  684.                     class pylon1: pylon1 {attachment = "rhs_mag_ANALQ131";};
  685.                     class pylon2: pylon2 {attachment = "rhs_mag_FFAR_7_USAF";};
  686.                     class pylon3: pylon3 {attachment = "rhs_mag_agm65d";};
  687.                     class pylon4: pylon4 {attachment = "rhs_mag_cbu87";};
  688.                     class pylon5: pylon5 {attachment = "rhs_mag_cbu87";};
  689.                     class pylon6: pylon6 {attachment = "";};
  690.                     class pylon7: pylon7 {attachment = "rhs_mag_cbu87";};
  691.                     class pylon8: pylon8 {attachment = "rhs_mag_cbu87";};
  692.                     class pylon9: pylon9 {attachment = "rhs_mag_agm65d";};
  693.                     class pylon10: pylon10 {attachment = "rhs_mag_FFAR_7_USAF";};
  694.                     class pylon11: pylon11 {attachment = "rhs_mag_Sidewinder_2";};
  695.                     class cmDispenser: cmDispenser  {};
  696.                 };
  697.             };
  698.         };
  699.     };
  700.     class Car_F;
  701.     class rhs_a10_acesII_seat: Car_F
  702.     {
  703.         scope=1;
  704.         scopeArsenal=0;
  705.         scopeCurator=0;
  706.         hiddenSelections[]={};
  707.  
  708.         AUTHOR_MACRO_BIS_PORT
  709.         displayName="Aces II Ejection Seat";
  710.  
  711.         Icon    = "iconParachute";
  712.         picture = "\A3\Air_F_Beta\Parachute_01\Data\UI\Portrait_Parachute_01_CA.paa";
  713.         model   = "\rhsusf\addons\rhsusf_a2port_air\A10\acesII.p3d";
  714.  
  715.         simulation                  = "motorcycle";
  716.         isBicycle                   = 0;
  717.         textureTrackWheel           = "";
  718.         memoryPointTrack1L          = "";
  719.         memoryPointTrack2L          = "";
  720.         memoryPointsGetInCargo      = "Cargo";
  721.         memoryPointsGetInCargoDir   = "Cargo dir";
  722.         ejectSpeed[]                = {1, 0, 1};
  723.         unitInfoType                = "RscUnitInfoSoldier";
  724.         hideUnitInfo                = 1;
  725.         cargoAction[]               = {"rhs_A10_Pilot"};
  726.         hasdriver                   = 0;
  727.         weapons[]                   = {};
  728.         magazines[]                 = {};
  729.         fuelCapacity                = 0;
  730.         secondaryExplosion          = 0;
  731.         fuelExplosionPower          = 0;
  732.         explosionEffect             = "";
  733.         destrType                   = "DestructNo";
  734.         castCargoShadow             = 1;
  735.         transportSoldier            = 1;
  736.         vehicleClass                = "Objects";
  737.         occludeSoundsWhenIn         = 1;
  738.         obstructSoundsWhenIn        = 1;
  739.         class AnimationSources
  740.         {
  741.             class hide_booster
  742.             {
  743.                 source="user";
  744.                 animPeriod = 0.6;
  745.                 initPhase = 0;
  746.             };
  747.         };
  748.         class Turrets {};
  749.         class UserActions {};
  750.         driveOnComponent[]={};
  751.         class Eventhandlers {};
  752.         SLX_XEH_DISABLED = 1;
  753.         class TransportWeapons {};
  754.         class TransportMagazines {};
  755.         class TransportItems {};
  756.     };
  757.     class rhs_a10_canopy : ThingX {
  758.         scope               = 1;
  759.         scopeArsenal        = 0;
  760.         scopeCurator        = 0;
  761.         displayName         = "A-10 Canopy";
  762.         editorCategory      = "EdCat_Things";
  763.         editorSubcategory   = "EdSubcat_Military";
  764.         vehicleClass        = "Small_items";
  765.         model               = "\rhsusf\addons\rhsusf_a2port_air\A10\a10_canopy.p3d";
  766.         armor               = 100;
  767.  
  768.         memoryPointsGetInCargo      = "Cargo";
  769.         memoryPointsGetInCargoDir   = "Cargo dir";
  770.         ejectSpeed[]                = {1, 0, 1};
  771.         gearsUpFrictionCoef         = 0.01;
  772.         unitInfoType                = "RscUnitInfoSoldier";
  773.         hideUnitInfo                = 1;
  774.         cargoAction[]               = {"rhs_A10_Pilot"};
  775.         hasdriver                   = 0;
  776.         weapons[]                   = {};
  777.         magazines[]                 = {};
  778.         fuelCapacity                = 0;
  779.         secondaryExplosion          = 0;
  780.         fuelExplosionPower          = 0;
  781.         explosionEffect             = "";
  782.         destrType                   ="DestructNo";
  783.         castCargoShadow             =1;
  784.         transportSoldier            =0;
  785.         occludeSoundsWhenIn         =1;
  786.         obstructSoundsWhenIn        =1;
  787.         class Eventhandlers
  788.         {
  789.             HandleDamage = "deleteVehicle (_this select 0)";
  790.         };
  791.         class UserActions {};
  792.         driveOnComponent[]={};
  793.         SLX_XEH_DISABLED = 1;
  794.         class TransportWeapons {};
  795.         class TransportMagazines {};
  796.         class TransportItems {};
  797.     };
  798.  
  799.  
  800. //physx.hpp (landing gear)
  801.         maxOmega            = 2000;
  802.         // ARTIFICIAL FORCES
  803.         accelAidForceCoef       = 1.0;                  // acceleration aid force
  804.         accelAidForceYOffset    = -1.0;
  805.         accelAidForceSpd        = 1.0;
  806.         turnCoef = 0.05;
  807.  
  808.         class Wheels
  809.         {
  810.             disableWheelsWhenDestroyed = 1;
  811.             class Wheel_1
  812.             {
  813.                 steering                    = true;
  814.                 side                        = "left";
  815.                 boneName                    = "Wheel_1";
  816.                 center                      = "Wheel_1_center";
  817.                 boundary                    = "Wheel_1_rim";
  818.                 width                       = 0.16;
  819.                 mass                        = 150;
  820.                 MOI                         = 3;
  821.                 dampingRate                 = 0.1;
  822.                 dampingRateDamaged          = 1;
  823.                 dampingRateDestroyed        = 1000;
  824.                 maxBrakeTorque              = 2000;
  825.                 maxHandBrakeTorque          = 0;
  826.                 suspTravelDirection[]       = {0, -1, 0};
  827.                 suspForceAppPointOffset     = "Wheel_1_center";
  828.                 tireForceAppPointOffset     = "Wheel_1_center";
  829.                 maxCompression              = 0.15;
  830.                 maxDroop                    = 0.05;
  831.                 sprungMass                  = 11400;
  832.                 springStrength              = 1200000;
  833.                 springDamperRate            = 128000;
  834.                 longitudinalStiffnessPerUnitGravity = 5000;
  835.                 latStiffX                   = 3;
  836.                 latStiffY                   = 21;
  837.                 frictionVsSlipGraph[]       = {{0, 1}, {0.5, 1.4}, {1,0.6}};
  838.             };
  839.             class Wheel_1_fake: Wheel_1 {};
  840.             class Wheel_2: Wheel_1
  841.             {
  842.                 steering                    = false;
  843.                 boneName                    = "Wheel_2";
  844.                 center                      = "Wheel_2_center";
  845.                 boundary                    = "Wheel_2_rim";
  846.                 suspForceAppPointOffset     = "Wheel_2_center";
  847.                 tireForceAppPointOffset     = "Wheel_2_center";
  848.                 width                       = 0.28;
  849.                 maxCompression              = 0.25;
  850.                 maxDroop                    = 0.10;
  851.                 sprungMass                  = 3200;
  852.                 springStrength              = 1580000;
  853.                 springDamperRate            = 512000;
  854.             };
  855.             class Wheel_3: Wheel_2
  856.             {
  857.                 steering                    = false;
  858.                 side                        = "right";
  859.                 boneName                    = "Wheel_3";
  860.                 center                      = "Wheel_3_center";
  861.                 boundary                    = "Wheel_3_rim";
  862.                 suspForceAppPointOffset     = "Wheel_3_center";
  863.                 tireForceAppPointOffset     = "Wheel_3_center";
  864.             };
  865.         };
Add Comment
Please, Sign In to add comment