From 14af5577c6d5da8cfe16a4f77278670ab903e7c0 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 30 Oct 2016 00:28:25 +0200 Subject: [PATCH] Updates the ballistics module to support Apex * Made the new ammo types ready for advanced ballistics * Made the new weapons ready for advanced ballistics * Recalculated all initSpeed coefficients * Updated the airFrictionAnalysis report --- addons/ballistics/CfgAmmo.hpp | 56 ++++++++++--- addons/ballistics/CfgMagazines.hpp | 30 ++++++- addons/ballistics/CfgWeapons.hpp | 123 ++++++++++++++++++++++------- extras/airFrictionAnalysis.txt | 44 +++++++---- 4 files changed, 195 insertions(+), 58 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 0819f8aa4b..652cc8ece7 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -79,8 +79,8 @@ class CfgAmmo { class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { nvgOnly = 1; }; - class ACE_545x39_Ball_7N6M : B_556x45_Ball { - airFriction=-0.00114744; + class B_545x39_Ball_F : BulletBase { + airFriction=-0.00116278; caliber=0.6; deflecting=18; hit=7; @@ -93,12 +93,14 @@ class CfgAmmo { ACE_velocityBoundaries[]={}; ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; - ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={254.0, 414.02, 508.0}; + ACE_muzzleVelocities[]={735, 883, 892}; + ACE_barrelLengths[]={206.5, 414.02, 508.0}; }; + class ACE_545x39_Ball_7N6M : B_545x39_Ball_F { + } class B_556x45_Ball_Tracer_Green; class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Green { - airFriction=-0.00114744; + airFriction=-0.00116278; caliber=0.6; deflecting=18; hit=7; @@ -113,12 +115,26 @@ class CfgAmmo { ACE_velocityBoundaries[]={}; ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; - ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={254.0, 414.02, 508.0}; + ACE_muzzleVelocities[]={740, 886, 897}; + ACE_barrelLengths[]={206.5, 414.02, 508.0}; }; class B_56x15_dual: BulletBase { tracerScale = 0.5; }; + class B_580x42_Ball_F: BulletBase { + airFriction=-0.00117956; + typicalSpeed=930; + ACE_caliber=5.9944; + ACE_bulletLength=24.2; + ACE_bulletMass=4.15; + ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_ballisticCoefficients[]={0.156}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={790, 930, 970}; + ACE_barrelLengths[]={369.0, 463.0, 600.0}; + }; class B_65x39_Caseless : BulletBase { airFriction=-0.00075308; typicalSpeed=800; @@ -439,7 +455,7 @@ class CfgAmmo { ACE_muzzleVelocities[]={620, 655, 675}; ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; - class ACE_762x39_Ball : B_762x51_Ball { + class B_762x39_Ball_F : BulletBase { airFriction=-0.00151621; hit=12; caliber=1.5; @@ -455,6 +471,8 @@ class CfgAmmo { ACE_muzzleVelocities[]={650, 716, 750}; ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; + class ACE_762x39_Ball : B_762x39_Ball_F { + }; class ACE_762x39_Ball_57N231P : B_762x54_Tracer_Green { airFriction=-0.00151621; hit=12; @@ -474,7 +492,7 @@ class CfgAmmo { ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_9x21_Ball : BulletBase { - airFriction=-0.00226847; + airFriction=-0.00208292; typicalSpeed=390; tracerScale = 0.5; hit=6; @@ -486,8 +504,8 @@ class CfgAmmo { ACE_velocityBoundaries[]={}; ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; - ACE_muzzleVelocities[]={440, 460, 480}; - ACE_barrelLengths[]={101.6, 127.0, 228.6}; + ACE_muzzleVelocities[]={380, 390, 420, 435}; + ACE_barrelLengths[]={93.5, 101.6, 127.0, 228.6}; }; class B_9x21_Ball_Tracer_Green: B_9x21_Ball { tracerScale = 0.5; @@ -508,7 +526,7 @@ class CfgAmmo { ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class ACE_9x19_Ball : B_9x21_Ball { - airFriction=-0.0018577; + airFriction=-0.0019835; typicalSpeed=370; hit=6; ACE_caliber=9.017; @@ -771,6 +789,20 @@ class CfgAmmo { ACE_muzzleVelocities[]={230, 250, 285}; ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; + class B_50BW_Ball_F : BulletBase { + airFriction=-0.00202645; + typicalSpeed=550; + ACE_caliber=12.7; + ACE_bulletLength=24.13; + ACE_bulletMass=21.7076; + ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; + ACE_ballisticCoefficients[]={0.21}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={510, 550, 596}; + ACE_barrelLengths[]={304.8, 406.4, 609.6}; + }; class B_19mm_HE: BulletBase { tracerScale = 1; }; diff --git a/addons/ballistics/CfgMagazines.hpp b/addons/ballistics/CfgMagazines.hpp index 931a6c2309..4c79e7ef51 100644 --- a/addons/ballistics/CfgMagazines.hpp +++ b/addons/ballistics/CfgMagazines.hpp @@ -2,6 +2,12 @@ class CfgMagazines { class CA_Magazine; + class 30Rnd_580x42_Mag_F: CA_Magazine { + initSpeed = 930; + }; + class 100Rnd_580x42_Mag_F: 30Rnd_580x42_Mag_F { + initSpeed = 930; + }; class 30Rnd_65x39_caseless_mag: CA_Magazine { initSpeed = 760; }; @@ -47,6 +53,10 @@ class CfgMagazines { descriptionShort = CSTRING(30Rnd_65x39_caseless_green_mag_Tracer_DimDescription); }; + class 30Rnd_545x39_Mag_F: CA_Magazine { + initSpeed = 735; + }; + class 30Rnd_556x45_Stanag: CA_Magazine { }; class ACE_30Rnd_556x45_Stanag_M995_AP_mag: 30Rnd_556x45_Stanag { @@ -84,6 +94,14 @@ class CfgMagazines { picture = "\A3\weapons_f\data\ui\m_20stanag_red_ca.paa"; }; + class 200Rnd_556x45_Box_F: CA_Magazine { + initSpeed = 872; + }; + + class 30Rnd_762x39_Mag_F: CA_Magazine { + initSpeed = 715; + }; + class 20Rnd_762x51_Mag: CA_Magazine { initSpeed = 833; }; @@ -276,7 +294,7 @@ class CfgMagazines { class 30Rnd_9x21_Mag: CA_Magazine { - initSpeed = 450; + initSpeed = 390; }; class ACE_30Rnd_9x19_mag: 30Rnd_9x21_Mag { author = ECSTRING(common,ACETeam); @@ -287,6 +305,10 @@ class CfgMagazines { initSpeed = 370; }; + class 10Rnd_50BW_Mag_F: CA_Magazine { + initSpeed = 552; + }; + class 11Rnd_45ACP_Mag: CA_Magazine { initSpeed = 250; }; @@ -307,8 +329,12 @@ class CfgMagazines { initSpeed = 250; }; + class 10Rnd_9x21_Mag: 30Rnd_9x21_Mag { + initSpeed = 390; + }; + class 16Rnd_9x21_Mag: 30Rnd_9x21_Mag { - initSpeed = 450; + initSpeed = 390; }; class ACE_16Rnd_9x19_mag: 16Rnd_9x21_Mag { author = ECSTRING(common,ACETeam); diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 2446aeb3b3..51f815f938 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -27,6 +27,12 @@ class CfgWeapons { }; }; + class DMR_07_base_F: Rifle_Long_Base_F { + initSpeed = -0.982908; + ACE_barrelTwist = 228.6; + ACE_barrelLength = 640.0; + }; + class DMR_06_base_F: Rifle_Long_Base_F { class Single: Mode_SemiAuto { dispersion = 0.00029; // radians. Equal to 1.00 MOA. @@ -112,7 +118,7 @@ class CfgWeapons { "ACE_30Rnd_65x47_Scenar_mag", "ACE_30Rnd_65_Creedmor_mag" }; - initSpeed = -1.018; + initSpeed = -1.01842; ACE_barrelTwist=228.6; ACE_barrelLength=457.2; class Single: Single { @@ -142,6 +148,14 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Mk318_mag", "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; + initSpeed = -0.859238; + ACE_barrelTwist=177.8; + ACE_barrelLength=264.0; + }; + class arifle_SPAR_02_base_F: Rifle_Base_F { + initSpeed = -0.934282; + ACE_barrelTwist=177.8; + ACE_barrelLength=368.0; }; class arifle_SPAR_03_base_F: Rifle_Base_F { magazines[] = { @@ -154,6 +168,9 @@ class CfgWeapons { "ACE_20Rnd_762x51_M993_AP_Mag", "ACE_20Rnd_762x51_Mag_SD" }; + initSpeed = -0.984394; + ACE_barrelTwist=279.4; + ACE_barrelLength=508.0; }; /* Other */ @@ -163,21 +180,26 @@ class CfgWeapons { "200Rnd_65x39_cased_Box_Tracer", "ACE_200Rnd_65x39_cased_Box_Tracer_Dim" }; - initSpeed = -0.9763; + initSpeed = -0.976974; ACE_barrelTwist=177.8; ACE_barrelLength=317.5; }; class LMG_Zafir_F: Rifle_Long_Base_F { - initSpeed = -1.0; + initSpeed = -1.00333; ACE_barrelTwist=304.8; ACE_barrelLength=459.74; }; + class LMG_03_base_F: Rifle_Long_Base_F { + initSpeed = -1.02002; + ACE_barrelTwist=177.8; + ACE_barrelLength=414.02; + }; class Tavor_base_F: Rifle_Base_F {}; class mk20_base_F: Rifle_Base_F {}; /* SMGs */ class SDAR_base_F: Rifle_Base_F { - initSpeed = -0.989; + initSpeed = -1.211; class Single: Mode_SemiAuto { dispersion = 0.0008727; // radians. Equal to 3 MOA. }; @@ -190,9 +212,6 @@ class CfgWeapons { dispersion = 0.0008727; // radians. Equal to 3 MOA. }; }; - class pdw2000_base_F: Rifle_Short_Base_F {}; - class SMG_01_Base: Rifle_Short_Base_F {}; - class SMG_02_base_F: Rifle_Base_F {}; /* Pistols */ @@ -200,13 +219,13 @@ class CfgWeapons { class Pistol_Base_F: Pistol {}; class hgun_P07_F: Pistol_Base_F { - initSpeed = -0.9778; + initSpeed = -1.0; ACE_barrelTwist=254.0; ACE_barrelLength=101.6; }; class hgun_Rook40_F: Pistol_Base_F { - initSpeed = -1.0; + initSpeed = -1.03077; ACE_barrelTwist=254.0; ACE_barrelLength=111.76; }; @@ -228,18 +247,57 @@ class CfgWeapons { ACE_barrelTwist=406.4; ACE_barrelLength=76.2; }; - class hgun_PDW2000_F: pdw2000_base_F { - initSpeed = -1.157; + + class hgun_Pistol_01_F: Pistol_Base_F { + initSpeed = -0.974359; + ACE_barrelTwist=254.0; + ACE_barrelLength=93.5; + }; + + class pdw2000_base_F: Rifle_Short_Base_F { + initSpeed = -1.09615; ACE_barrelTwist=228.6; ACE_barrelLength=177.8; }; + + /* Rifles */ + class arifle_AKS_base_F: Rifle_Base_F { + initSpeed = -1.00419; + ACE_barrelTwist=160.02; + ACE_barrelLength=210.82; + }; + class arifle_AKM_base_F: Rifle_Base_F { + initSpeed = -1.0014; + ACE_barrelTwist = 199.898; + ACE_barrelLength = 414.02; + }; + class arifle_AK12_base_F: Rifle_Base_F { + initSpeed = -1.0014; + ACE_barrelTwist = 199.898; + ACE_barrelLength = 414.02; + }; + class arifle_CTAR_base_F: Rifle_Base_F { + initSpeed = -1.0; + ACE_barrelTwist = 244.0; + ACE_barrelLength = 463.0; + }; + class arifle_CTARS_base_F: Rifle_Base_F { + initSpeed = -1.04301; + ACE_barrelTwist = 244.0; + ACE_barrelLength = 600.0; + }; + class arifle_ARX_base_F: Rifle_Base_F { + initSpeed = -1.02052; + ACE_barrelTwist = 228.6; + ACE_barrelLength = 463.0; + }; class arifle_Katiba_F: arifle_katiba_Base_F { magazines[] = { "30Rnd_65x39_caseless_green", "30Rnd_65x39_caseless_green_mag_Tracer", "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; - initSpeed = -1.08; + initSpeed = -1.08355; ACE_barrelTwist=203.2; ACE_barrelLength=728.98; }; @@ -249,7 +307,7 @@ class CfgWeapons { "30Rnd_65x39_caseless_green_mag_Tracer", "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; - initSpeed = -1.07; + initSpeed = -1.07105; ACE_barrelTwist=203.2; ACE_barrelLength=680.72; }; @@ -259,7 +317,7 @@ class CfgWeapons { "30Rnd_65x39_caseless_green_mag_Tracer", "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; - initSpeed = -1.08; + initSpeed = -1.08355; ACE_barrelTwist=203.2; ACE_barrelLength=728.98; }; @@ -269,7 +327,7 @@ class CfgWeapons { "30Rnd_65x39_caseless_mag_Tracer", "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; - initSpeed = -0.99; + initSpeed = -0.990132; ACE_barrelTwist=228.6; ACE_barrelLength=368.3; }; @@ -295,7 +353,7 @@ class CfgWeapons { "30Rnd_65x39_caseless_mag_Tracer", "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; - initSpeed = -0.965; + initSpeed = -0.963816; ACE_barrelTwist=203.2; ACE_barrelLength=266.7; }; @@ -323,11 +381,16 @@ class CfgWeapons { ACE_barrelTwist=285.75; ACE_barrelLength=457.2; }; - class SMG_02_F: SMG_02_base_F { - initSpeed = -1.054; + class SMG_02_base_F: Rifle_Base_F { + initSpeed = -1.10288; ACE_barrelTwist=254.0; ACE_barrelLength=195.58; }; + class SMG_05_base_F: Rifle_Short_Base_F { + initSpeed = -1.04058; + ACE_barrelTwist=254.0; + ACE_barrelLength=115.0; + }; class arifle_TRG20_F: Tavor_base_F { magazines[] = { "30Rnd_556x45_Stanag", @@ -358,7 +421,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Mk318_mag", "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; - initSpeed = -0.989; + initSpeed = -0.988043; ACE_barrelTwist=177.8; ACE_barrelLength=459.74; }; @@ -375,7 +438,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Mk318_mag", "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; - initSpeed = -0.989; + initSpeed = -0.988043; ACE_barrelTwist=177.8; ACE_barrelLength=459.74; }; @@ -398,7 +461,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Mk318_mag", "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; - initSpeed = -0.98; + initSpeed = -0.980978; ACE_barrelTwist=177.8; ACE_barrelLength=441.96; }; @@ -415,7 +478,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Mk318_mag", "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; - initSpeed = -0.956; + initSpeed = -0.962648; ACE_barrelTwist=177.8; ACE_barrelLength=406.4; }; @@ -432,12 +495,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Mk318_mag", "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; - initSpeed = -0.956; + initSpeed = -0.962648; ACE_barrelTwist=177.8; ACE_barrelLength=406.4; }; - class SMG_01_F: SMG_01_Base { - initSpeed = -1.016; + class SMG_01_Base: Rifle_Short_Base_F { + initSpeed = -1.0175; ACE_barrelTwist=406.4; ACE_barrelLength=139.7; }; @@ -461,7 +524,7 @@ class CfgWeapons { "ACE_20Rnd_762x51_M993_AP_Mag", "ACE_20Rnd_762x51_Mag_SD" }; - initSpeed = -0.9724; + initSpeed = -0.972389; ACE_barrelTwist=304.8; ACE_barrelLength=457.2; }; @@ -498,7 +561,7 @@ class CfgWeapons { "ACE_20Rnd_762x67_Mk248_Mod_1_Mag", "ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag" }; - initSpeed = -0.962; + initSpeed = -0.961749; ACE_barrelTwist=254.0; ACE_barrelLength=508.0; }; @@ -513,7 +576,7 @@ class CfgWeapons { "ACE_20Rnd_762x51_M993_AP_Mag", "ACE_20Rnd_762x51_Mag_SD" }; - initSpeed = -0.9843; + initSpeed = -0.984394; ACE_barrelTwist=254.0; ACE_barrelLength=508.0; }; @@ -538,12 +601,12 @@ class CfgWeapons { "ACE_20Rnd_762x51_M993_AP_Mag", "ACE_20Rnd_762x51_Mag_SD" }; - initSpeed = -0.9916; + initSpeed = -0.992197; ACE_barrelTwist=304.8; ACE_barrelLength=558.8; }; class MMG_01_hex_F: MMG_01_base_F { - initSpeed = -1.0; + initSpeed = -0.997073; ACE_barrelTwist=359.918; ACE_barrelLength=549.91; }; diff --git a/extras/airFrictionAnalysis.txt b/extras/airFrictionAnalysis.txt index 722077578b..0f825e55d5 100644 --- a/extras/airFrictionAnalysis.txt +++ b/extras/airFrictionAnalysis.txt @@ -31,13 +31,21 @@ Max. drop difference (cm): 1.25 Max. tof difference (ms): 7.0 Optimal airFriction: 0.00123272 ########################################## -Ammo Class: ACE_545x39_Ball_7N6M +Ammo Class: B_545x39_Ball_F MaxRanges (m): [400, 500] -MuzzleVelocities (m/s): [780, 880, 920] -Max. velocity difference (m/s): 19.71 -Max. drop difference (cm): 2.04 +MuzzleVelocities (m/s): [735, 892] +Max. velocity difference (m/s): 23.07 +Max. drop difference (cm): 3.76 +Max. tof difference (ms): 12.0 +Optimal airFriction: 0.00116278 +########################################## +Ammo Class: B_580x42_Ball_F +MaxRanges (m): [500, 500] +MuzzleVelocities (m/s): [930, 970] +Max. velocity difference (m/s): 24.7 +Max. drop difference (cm): 1.51 Max. tof difference (ms): 8.0 -Optimal airFriction: 0.00114744 +Optimal airFriction: 0.00117956 ########################################## Ammo Class: B_65x39_Caseless MaxRanges (m): [400, 800, 800] @@ -247,6 +255,14 @@ Max. drop difference (cm): 14.52 Max. tof difference (ms): 29.0 Optimal airFriction: 0.00069611 ########################################## +Ammo Class: B_50BW_Ball_F +MaxRanges (m): [300, 400] +MuzzleVelocities (m/s): [510, 596] +Max. velocity difference (m/s): 29.6 +Max. drop difference (cm): 2.19 +Max. tof difference (ms): 18.0 +Optimal airFriction: 0.00202645 +########################################## Ammo Class: B_127x99_Ball MaxRanges (m): [1300, 1300] MuzzleVelocities (m/s): [895, 905] @@ -280,12 +296,12 @@ Max. tof difference (ms): 9.0 Optimal airFriction: 0.00049899 ########################################## Ammo Class: B_9x21_Ball -MaxRanges (m): [200, 300, 300] -MuzzleVelocities (m/s): [440, 460, 480] -Max. velocity difference (m/s): 37.94 -Max. drop difference (cm): 5.27 +MaxRanges (m): [200, 300] +MuzzleVelocities (m/s): [380, 420] +Max. velocity difference (m/s): 34.77 +Max. drop difference (cm): 4.7 Max. tof difference (ms): 31.0 -Optimal airFriction: 0.00226847 +Optimal airFriction: 0.00208292 ########################################## Ammo Class: ACE_9x18_Ball_57N181S MaxRanges (m): [100, 200, 200] @@ -298,10 +314,10 @@ Optimal airFriction: 0.00190333 Ammo Class: ACE_9x19_Ball MaxRanges (m): [100, 200, 200] MuzzleVelocities (m/s): [340, 370, 400] -Max. velocity difference (m/s): 17.59 -Max. drop difference (cm): 6.56 -Max. tof difference (ms): 10.0 -Optimal airFriction: 0.0018577 +Max. velocity difference (m/s): 23.95 +Max. drop difference (cm): 3.75 +Max. tof difference (ms): 17.0 +Optimal airFriction: 0.0019835 ########################################## Ammo Class: ACE_10x25_Ball MaxRanges (m): [200, 300, 300]