diff --git a/addons/mk6mortar/CfgVehicles.hpp b/addons/mk6mortar/CfgVehicles.hpp index ad7bf797f9..7c39aeafdd 100644 --- a/addons/mk6mortar/CfgVehicles.hpp +++ b/addons/mk6mortar/CfgVehicles.hpp @@ -1,4 +1,19 @@ class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_SelfActions { + class ACE_Equipment { + class GVAR(rangetable) { + displayName = "Open 82mm Rangetable"; + condition = QUOTE(true); + statement = QUOTE(call FUNC(rangeTableOpen)); + priority = 0; + icon = QUOTE(PATHTOF(UI\icon_rangeTable.paa)); + }; + }; + }; + }; + class LandVehicle; class StaticWeapon: LandVehicle { class Turrets { diff --git a/addons/mk6mortar/RscInGameUI.hpp b/addons/mk6mortar/RscInGameUI.hpp index 3a3256e936..102362216a 100644 --- a/addons/mk6mortar/RscInGameUI.hpp +++ b/addons/mk6mortar/RscInGameUI.hpp @@ -1,6 +1,3 @@ -class RscControlsGroup; -class RscText; - class RscInGameUI { class RscWeaponRangeArtillery { class CA_IGUI_elements_group: RscControlsGroup {}; diff --git a/addons/mk6mortar/RscRangeTable.hpp b/addons/mk6mortar/RscRangeTable.hpp new file mode 100644 index 0000000000..65598fd36d --- /dev/null +++ b/addons/mk6mortar/RscRangeTable.hpp @@ -0,0 +1,87 @@ +class ACE_82mm_RangeTable_Dialog +{ + idd = -1; + movingEnable = 1; + onLoad = "uiNamespace setVariable ['ACE_82mm_RangeTable_Dialog', _this select 0];"; + objects[] = {}; + + class ControlsBackground { + class TableBackground: RscPicture { + idc = -1; + text = QUOTE(PATHTOF(UI\RangeTable_background.paa)); + x = "18 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; + y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; + w = "16.2634559672906 * (safeZoneH / 40)"; + h = "23 * ((safeZoneH / 1.2) / 25)"; + colorBackground[] = {1,1,1,1}; + }; + class ChargeBackground: RscText { + idc = -1; + x = "13 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; + y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; + w = "5 * (safeZoneH / 40)"; + h = "5 * ((safeZoneH / 1.2) / 25)"; + colorBackground[] = {0,0,0,1}; + }; + }; + class controls { + class TheTable : RscListNBox { + idc = 20001; + // style = ST_CENTER + ST_MULTI + LB_TEXTURES; + // style = ST_LEFT + ST_MULTI + LB_TEXTURES; + // style = LB_MULTI + ST_LEFT; // Style + x = "18 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; + y = "3.76 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; + w = "16.2634559672906 * (safeZoneH / 40)"; + h = "20.24 * ((safeZoneH / 1.2) / 25)"; + columns[] = {(10/792),(86/792),(172/792),(238/792),(329/792),(405/792),(462/792),(527/792),(588/792),(649/792),(710/792)}; + rowHeight = 0.015 * safeZoneH; + sizeEx = "0.014 * safeZoneH"; + font = "EtelkaMonospacePro"; + drawSideArrows = 1; + idcLeft = 14124; + idcRight = 412343243; + colorText[] = {0, 0, 0, 1}; + shadow = "0"; + // colorBorder[] = {1,0,0,1}; + // colorBackground[] = {1, 0, 0, 1}; + colorSelectBackground[] = {0, 0, 0, 0.025}; + colorSelectBackground2[] = {0, 0, 0, 0.025}; + colorScrollbar[] = {0.95,0,0.95,1}; + class ListScrollBar: ScrollBar{ + color[] = {0,0,0,0.6}; + }; + }; + class ChargeListBox: RscListbox { + idc = 1501; + style = ST_RIGHT; + x = "13 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; + y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; + w = "5 * (safeZoneH / 40)"; + h = "5 * ((safeZoneH / 1.2) / 25)"; + onLBSelChanged = QUOTE(_this call FUNC(rangeTablePageChange)); + }; + class CloseBackground: RscText { + idc = -1; + x = "33.7634559672906 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; + y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; + w = "0.5 * (safeZoneH / 40)"; + h = "0.5 * ((safeZoneH / 1.2) / 25)"; + colorBackground[] = {0,0,0,0.5}; + }; + class CloseActiveText: RscActiveText { + idc = -1; + style = 48; + color[] = {1,1,1,0.7}; + text = "A3\Ui_f\data\GUI\Rsc\RscDisplayArcadeMap\icon_exit_cross_ca.paa"; + x = "33.7634559672906 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; + y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; + w = "0.5 * (safeZoneH / 40)"; + h = "0.5 * ((safeZoneH / 1.2) / 25)"; + colorText[] = {1,1,1,0.7}; + colorActive[] = {1,1,1,1}; + tooltip = "Close"; + onButtonClick = "closeDialog 0"; + }; + }; +}; \ No newline at end of file diff --git a/addons/mk6mortar/UI/RangeTable_background.paa b/addons/mk6mortar/UI/RangeTable_background.paa new file mode 100644 index 0000000000..a2a752ce6e Binary files /dev/null and b/addons/mk6mortar/UI/RangeTable_background.paa differ diff --git a/addons/mk6mortar/UI/icon_rangeTable.paa b/addons/mk6mortar/UI/icon_rangeTable.paa new file mode 100644 index 0000000000..9273b849d7 Binary files /dev/null and b/addons/mk6mortar/UI/icon_rangeTable.paa differ diff --git a/addons/mk6mortar/XEH_preInit.sqf b/addons/mk6mortar/XEH_preInit.sqf index 45a72e1528..eed38408ae 100644 --- a/addons/mk6mortar/XEH_preInit.sqf +++ b/addons/mk6mortar/XEH_preInit.sqf @@ -5,6 +5,9 @@ ADDON = false; PREP(handleFired); PREP(handlePlayerVehicleChanged); PREP(moduleInit); +PREP(rangeTableOpen); +PREP(rangeTablePageChange); +PREP(rangeTablePreCalculatedValues); PREP(toggleMils); PREP(turretDisplayLoaded); diff --git a/addons/mk6mortar/config.cpp b/addons/mk6mortar/config.cpp index cd849c9efd..5050bb2b32 100644 --- a/addons/mk6mortar/config.cpp +++ b/addons/mk6mortar/config.cpp @@ -16,7 +16,18 @@ class CfgPatches { #include "CfgMagazines.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" + +class RscText; +class RscListbox; +class RscListNBox; +class RscPicture; +class RscControlsGroup; +class ScrollBar; +class RscActiveText; + + #include "RscInGameUI.hpp" +#include "RscRangeTable.hpp" class ACE_Settings { //These settings effect gameplay difficutly: defaults will leave the mortar the same as vanilla diff --git a/addons/mk6mortar/functions/fnc_rangeTableOpen.sqf b/addons/mk6mortar/functions/fnc_rangeTableOpen.sqf new file mode 100644 index 0000000000..e3dbcffd1d --- /dev/null +++ b/addons/mk6mortar/functions/fnc_rangeTableOpen.sqf @@ -0,0 +1,42 @@ +/* + * Author: PabstMirror + * + * Arguments: + * Return Value: + * + * Example: + * + * Public: No + */ +#include "script_component.hpp" + +#define LIST_CHARGE ((uiNamespace getVariable "ACE_82mm_RangeTable_Dialog") displayCtrl 1501) + +_weaponName = "mortar_82mm"; + +if (dialog) exitWith {ERROR("Dialog Open");}; +createDialog "ACE_82mm_RangeTable_Dialog"; +if (isNull (uiNamespace getVariable ["ACE_82mm_RangeTable_Dialog", displayNull])) exitWith {ERROR("Dialog failed to open");}; + +//Get Magazine Types +_magazines = getArray (configFile >> "CfgWeapons" >> _weaponName >> "magazines"); + +//For now just get settings from first mag, all rounds have same flight characteristics: +if ((count _magazines) < 1) exitWith {ERROR("No Magazines for weapon");}; +_initSpeed = getNumber (configFile >> "CfgMagazines" >> (_magazines select 0) >> "initSpeed"); + +//Get Charge Modes +_fireModes = getArray (configFile >> "CfgWeapons" >> _weaponName >> "modes"); + +_muzzleVelocities = []; +{ + _showToPlayer = getNumber (configFile >> "CfgWeapons" >> _weaponName >> _x >> "showToPlayer"); + if (_showToPlayer == 1) then { + _artilleryCharge = getNumber (configFile >> "CfgWeapons" >> _weaponName >> _x >> "artilleryCharge"); + LIST_CHARGE lbAdd format ["%1: %2 [%3m/s]", "Charge", (count _muzzleVelocities), (_initSpeed * _artilleryCharge)]; + LIST_CHARGE lbSetData [(count _muzzleVelocities), str (_artilleryCharge * _initSpeed)]; + _muzzleVelocities pushBack _artilleryCharge; + }; +} forEach _fireModes; + +LIST_CHARGE lbSetCurSel 0; diff --git a/addons/mk6mortar/functions/fnc_rangeTablePageChange.sqf b/addons/mk6mortar/functions/fnc_rangeTablePageChange.sqf new file mode 100644 index 0000000000..c7f740ba15 --- /dev/null +++ b/addons/mk6mortar/functions/fnc_rangeTablePageChange.sqf @@ -0,0 +1,30 @@ +/* + * Author: PabstMirror + * + * + * Arguments: + * + * Return Value: + * + * Example: + * + * Public: No + */ +#include "script_component.hpp" + +#define RANGE_TABLE ((uiNamespace getVariable "ACE_82mm_RangeTable_Dialog") displayCtrl 20001) +#define LIST_CHARGE ((uiNamespace getVariable "ACE_82mm_RangeTable_Dialog") displayCtrl 1501) + +_listBoxData = LIST_CHARGE lbData (lbCurSel LIST_CHARGE); +if (isNil "_listBoxData" || {_listBoxData == ""}) exitWith {ERROR("lbCurSel out of bounds or no data");}; +_muzzleVelocity = parseNumber _listBoxData; + +_precalcArray = [_muzzleVelocity, MK6_82mm_AIR_FRICTION] call FUNC(rangeTablePreCalculatedValues); + +lnbClear RANGE_TABLE; +{ + RANGE_TABLE lnbAddRow _x; +} forEach _precalcArray; + +//put dummy line at end because scrolling is fucked and can't see last line +RANGE_TABLE lnbAddRow ["", "", "", "", "", "", "", "", "", "", ""]; diff --git a/addons/mk6mortar/functions/fnc_rangeTablePreCalculatedValues.sqf b/addons/mk6mortar/functions/fnc_rangeTablePreCalculatedValues.sqf new file mode 100644 index 0000000000..ff0f9b5407 --- /dev/null +++ b/addons/mk6mortar/functions/fnc_rangeTablePreCalculatedValues.sqf @@ -0,0 +1,285 @@ +/* + * Author: PabstMirror +Simple Lookup Table for various muzzle velocities and air frictions. +Use ACE_Artillery_fnc_dev_buildTable to build + * + * Arguments: + * 0: NUMBER - Muzzle Velocity +1: NUMBER - Air Friction + * Return Value: + * + * Example: + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_2(_muzzleVelocity,_airFriction); + +switch (true) do { + +case ((abs(_muzzleVelocity - 60) < 0.00001) && ((abs(_airFriction - -0.0001) < 0.00001))): { + [ + ["100","1455","16","12.0","2.4","0.3","-0.2","0.3","-0.3","-0.0","0.0"], + ["150","1379","26","11.8","1.6","0.3","-0.2","0.4","-0.4","-0.0","0.1"], + ["200","1296","39","11.6","1.2","0.4","-0.3","0.5","-0.5","-0.0","0.1"], + ["250","1204","57","11.2","1.0","0.4","-0.3","0.7","-0.7","-0.1","0.1"], + ["300","1089","88","10.6","0.8","0.4","-0.3","0.8","-0.8","-0.1","0.1"], + ["350","894","187","9.3","0.6","0.4","-0.3","0.9","-0.9","-0.1","0.1"] + ] + }; + +case ((abs(_muzzleVelocity - 120) < 0.00001) && ((abs(_airFriction - -0.0001) < 0.00001))): { + [ + ["200","1523","3","23.6","8.2","1.7","-1.6","0.5","-0.5","-0.2","0.2"], + ["250","1503","3","23.5","6.6","1.8","-1.6","0.6","-0.6","-0.2","0.2"], + ["300","1483","4","23.5","5.5","1.8","-1.6","0.7","-0.8","-0.3","0.3"], + ["350","1463","5","23.4","4.7","1.9","-1.7","0.9","-0.9","-0.4","0.3"], + ["400","1443","5","23.4","4.2","1.9","-1.7","1.0","-1.0","-0.4","0.4"], + ["450","1423","6","23.3","3.7","2.0","-1.7","1.1","-1.1","-0.5","0.4"], + ["500","1402","7","23.2","3.4","2.0","-1.8","1.2","-1.3","-0.5","0.5"], + ["550","1381","8","23.1","3.1","2.1","-1.8","1.4","-1.4","-0.6","0.5"], + ["600","1359","9","23.0","2.8","2.2","-1.9","1.5","-1.5","-0.6","0.6"], + ["650","1337","10","22.9","2.6","2.2","-1.9","1.6","-1.6","-0.7","0.7"], + ["700","1314","11","22.7","2.4","2.3","-2.0","1.7","-1.7","-0.7","0.7"], + ["750","1291","13","22.6","2.3","2.4","-2.0","1.9","-1.9","-0.8","0.8"], + ["800","1267","14","22.4","2.1","2.4","-2.1","2.0","-2.0","-0.8","0.8"], + ["850","1241","16","22.2","2.0","2.5","-2.1","2.1","-2.1","-0.9","0.9"], + ["900","1215","17","22.0","1.9","2.5","-2.2","2.2","-2.2","-0.9","0.9"], + ["950","1187","20","21.7","1.8","2.6","-2.3","2.3","-2.4","-1.0","1.0"], + ["1000","1158","23","21.5","1.7","2.6","-2.3","2.5","-2.5","-1.1","1.0"], + ["1050","1127","26","21.1","1.6","2.7","-2.4","2.6","-2.6","-1.1","1.1"], + ["1100","1092","30","20.8","1.5","2.7","-2.4","2.7","-2.8","-1.2","1.1"], + ["1150","1054","36","20.4","1.4","2.7","-2.4","2.9","-2.9","-1.2","1.2"], + ["1200","1011","45","19.8","1.3","2.7","-2.5","3.0","-3.0","-1.3","1.2"], + ["1250","957","59","19.1","1.2","2.7","-2.4","3.1","-3.1","-1.3","1.3"], + ["1300","876","94","18.0","1.1","2.6","-2.4","3.2","-3.3","-1.3","1.3"] + ] + }; + +case ((abs(_muzzleVelocity - 180) < 0.00001) && ((abs(_airFriction - -0.0001) < 0.00001))): { + [ + ["400","1523","1","34.0","11.7","4.9","-4.6","0.9","-0.9","-0.8","0.8"], + ["450","1513","1","34.0","10.5","4.9","-4.7","1.0","-1.0","-0.9","0.8"], + ["500","1504","2","34.0","9.4","5.0","-4.7","1.1","-1.1","-1.0","0.9"], + ["550","1494","2","33.9","8.6","5.1","-4.7","1.2","-1.2","-1.1","1.0"], + ["600","1484","2","33.9","7.9","5.1","-4.8","1.3","-1.4","-1.2","1.1"], + ["650","1474","2","33.9","7.3","5.2","-4.8","1.5","-1.5","-1.3","1.2"], + ["700","1464","2","33.8","6.8","5.2","-4.9","1.6","-1.6","-1.4","1.3"], + ["750","1454","2","33.8","6.3","5.3","-4.9","1.7","-1.7","-1.5","1.4"], + ["800","1444","3","33.7","6.0","5.4","-5.0","1.8","-1.8","-1.6","1.5"], + ["850","1433","3","33.7","5.6","5.4","-5.0","1.9","-1.9","-1.7","1.6"], + ["900","1423","3","33.6","5.3","5.5","-5.1","2.0","-2.0","-1.8","1.7"], + ["950","1413","3","33.6","5.0","5.6","-5.1","2.1","-2.1","-1.9","1.8"], + ["1000","1402","3","33.5","4.8","5.6","-5.2","2.2","-2.2","-2.0","1.9"], + ["1050","1392","4","33.4","4.6","5.7","-5.3","2.3","-2.4","-2.1","2.0"], + ["1100","1381","4","33.3","4.4","5.8","-5.3","2.5","-2.5","-2.2","2.1"], + ["1150","1370","4","33.3","4.2","5.8","-5.4","2.6","-2.6","-2.3","2.2"], + ["1200","1359","4","33.2","4.0","5.9","-5.5","2.7","-2.7","-2.4","2.3"], + ["1250","1348","5","33.1","3.9","6.0","-5.5","2.8","-2.8","-2.5","2.4"], + ["1300","1337","5","33.0","3.7","6.1","-5.6","2.9","-2.9","-2.6","2.5"], + ["1350","1326","5","32.9","3.6","6.1","-5.6","3.0","-3.0","-2.7","2.6"], + ["1400","1314","5","32.8","3.5","6.2","-5.7","3.1","-3.1","-2.8","2.7"], + ["1450","1302","6","32.7","3.3","6.3","-5.8","3.2","-3.2","-2.9","2.8"], + ["1500","1290","6","32.6","3.2","6.3","-5.9","3.3","-3.4","-3.1","2.9"], + ["1550","1278","6","32.5","3.1","6.4","-5.9","3.4","-3.5","-3.2","3.0"], + ["1600","1266","7","32.3","3.0","6.5","-6.0","3.5","-3.6","-3.3","3.1"], + ["1650","1253","7","32.2","2.9","6.6","-6.1","3.7","-3.7","-3.4","3.2"], + ["1700","1240","8","32.0","2.8","6.6","-6.1","3.8","-3.8","-3.5","3.3"], + ["1750","1227","8","31.9","2.8","6.7","-6.2","3.9","-3.9","-3.6","3.4"], + ["1800","1214","9","31.7","2.7","6.7","-6.3","4.0","-4.0","-3.7","3.5"], + ["1850","1200","9","31.6","2.6","6.8","-6.3","4.1","-4.1","-3.8","3.6"], + ["1900","1186","10","31.4","2.5","6.9","-6.4","4.2","-4.2","-3.9","3.7"], + ["1950","1171","10","31.2","2.4","6.9","-6.5","4.3","-4.3","-4.0","3.8"], + ["2000","1156","11","31.0","2.4","7.0","-6.5","4.4","-4.4","-4.1","3.9"], + ["2050","1141","12","30.8","2.3","7.0","-6.6","4.5","-4.6","-4.2","4.0"], + ["2100","1124","13","30.5","2.2","7.1","-6.6","4.7","-4.7","-4.3","4.1"], + ["2150","1108","14","30.3","2.2","7.1","-6.6","4.8","-4.8","-4.4","4.2"], + ["2200","1090","15","30.0","2.1","7.2","-6.7","4.9","-4.9","-4.5","4.3"], + ["2250","1071","17","29.7","2.0","7.2","-6.7","5.0","-5.0","-4.6","4.4"], + ["2300","1052","18","29.4","2.0","7.2","-6.8","5.1","-5.1","-4.7","4.5"], + ["2350","1030","20","29.0","1.9","7.2","-6.8","5.2","-5.2","-4.8","4.6"], + ["2400","1008","23","28.6","1.9","7.2","-6.8","5.3","-5.3","-4.9","4.7"], + ["2450","983","26","28.2","1.8","7.2","-6.8","5.4","-5.4","-5.0","4.8"], + ["2500","954","31","27.6","1.7","7.1","-6.8","5.6","-5.6","-5.1","4.9"], + ["2550","921","38","27.0","1.6","7.1","-6.7","5.7","-5.7","-5.2","4.9"], + ["2600","878","52","26.1","1.5","6.9","-6.6","5.8","-5.8","-5.2","5.0"] + ] + }; +case ((abs(_muzzleVelocity - 240) < 0.00001) && ((abs(_airFriction - -0.0001) < 0.00001))): { + [ + ["600","1526","1","43.3","15.3","9.5","-9.1","1.2","-1.2","-1.8","1.7"], + ["650","1519","1","43.3","14.1","9.5","-9.2","1.3","-1.3","-1.9","1.8"], + ["700","1513","1","43.3","13.2","9.6","-9.2","1.4","-1.4","-2.1","1.9"], + ["750","1507","1","43.2","12.3","9.6","-9.2","1.5","-1.5","-2.2","2.1"], + ["800","1500","1","43.2","11.5","9.7","-9.3","1.6","-1.6","-2.4","2.2"], + ["850","1494","1","43.2","10.9","9.7","-9.3","1.7","-1.7","-2.5","2.4"], + ["900","1488","1","43.2","10.3","9.8","-9.4","1.8","-1.8","-2.7","2.5"], + ["950","1481","1","43.1","9.8","9.9","-9.4","1.9","-1.9","-2.8","2.7"], + ["1000","1475","1","43.1","9.3","9.9","-9.5","2.0","-2.0","-3.0","2.8"], + ["1050","1468","1","43.1","8.9","10.0","-9.5","2.1","-2.1","-3.1","2.9"], + ["1100","1462","1","43.0","8.5","10.1","-9.6","2.2","-2.2","-3.3","3.1"], + ["1150","1455","1","43.0","8.1","10.1","-9.6","2.3","-2.3","-3.4","3.2"], + ["1200","1449","1","43.0","7.8","10.2","-9.7","2.4","-2.4","-3.6","3.4"], + ["1250","1442","2","42.9","7.5","10.3","-9.8","2.5","-2.5","-3.7","3.5"], + ["1300","1436","2","42.9","7.2","10.3","-9.8","2.6","-2.6","-3.9","3.6"], + ["1350","1429","2","42.8","6.9","10.4","-9.9","2.7","-2.7","-4.0","3.8"], + ["1400","1422","2","42.8","6.7","10.5","-10.0","2.8","-2.8","-4.2","3.9"], + ["1450","1416","2","42.7","6.5","10.5","-10.0","2.9","-2.9","-4.4","4.1"], + ["1500","1409","2","42.7","6.2","10.6","-10.1","3.0","-3.0","-4.5","4.2"], + ["1550","1402","2","42.6","6.0","10.7","-10.2","3.0","-3.1","-4.7","4.4"], + ["1600","1395","2","42.6","5.9","10.8","-10.2","3.1","-3.2","-4.8","4.5"], + ["1650","1388","2","42.5","5.7","10.8","-10.3","3.2","-3.3","-5.0","4.7"], + ["1700","1381","2","42.4","5.5","10.9","-10.4","3.3","-3.3","-5.1","4.8"], + ["1750","1374","2","42.4","5.4","11.0","-10.4","3.4","-3.4","-5.3","4.9"], + ["1800","1367","2","42.3","5.2","11.0","-10.5","3.5","-3.5","-5.4","5.1"], + ["1850","1360","3","42.2","5.1","11.1","-10.6","3.6","-3.6","-5.6","5.2"], + ["1900","1353","3","42.2","5.0","11.2","-10.6","3.7","-3.7","-5.8","5.4"], + ["1950","1346","3","42.1","4.8","11.3","-10.7","3.8","-3.8","-5.9","5.5"], + ["2000","1338","3","42.0","4.7","11.3","-10.8","3.9","-3.9","-6.1","5.7"], + ["2050","1331","3","41.9","4.6","11.4","-10.9","4.0","-4.0","-6.2","5.8"], + ["2100","1323","3","41.9","4.5","11.5","-10.9","4.1","-4.1","-6.4","6.0"], + ["2150","1316","3","41.8","4.4","11.6","-11.0","4.2","-4.2","-6.5","6.1"], + ["2200","1308","3","41.7","4.3","11.6","-11.1","4.3","-4.3","-6.7","6.3"], + ["2250","1301","3","41.6","4.2","11.7","-11.1","4.4","-4.4","-6.9","6.4"], + ["2300","1293","4","41.5","4.1","11.8","-11.2","4.5","-4.5","-7.0","6.6"], + ["2350","1285","4","41.4","4.0","11.9","-11.3","4.6","-4.6","-7.2","6.7"], + ["2400","1277","4","41.3","3.9","11.9","-11.3","4.7","-4.7","-7.3","6.9"], + ["2450","1269","4","41.2","3.8","12.0","-11.4","4.8","-4.8","-7.5","7.0"], + ["2500","1261","4","41.1","3.8","12.1","-11.5","4.9","-4.9","-7.7","7.1"], + ["2550","1253","4","41.0","3.7","12.1","-11.6","5.0","-5.0","-7.8","7.3"], + ["2600","1244","4","40.9","3.6","12.2","-11.6","5.1","-5.1","-8.0","7.4"], + ["2650","1236","5","40.7","3.5","12.3","-11.7","5.2","-5.2","-8.1","7.6"], + ["2700","1227","5","40.6","3.5","12.3","-11.8","5.3","-5.3","-8.3","7.7"], + ["2750","1219","5","40.5","3.4","12.4","-11.8","5.4","-5.4","-8.4","7.9"], + ["2800","1210","5","40.3","3.3","12.5","-11.9","5.5","-5.5","-8.6","8.0"], + ["2850","1201","5","40.2","3.3","12.5","-12.0","5.6","-5.6","-8.8","8.2"], + ["2900","1192","6","40.1","3.2","12.6","-12.0","5.7","-5.7","-8.9","8.3"], + ["2950","1182","6","39.9","3.1","12.6","-12.1","5.8","-5.8","-9.1","8.5"], + ["3000","1173","6","39.7","3.1","12.7","-12.2","5.9","-5.9","-9.2","8.6"], + ["3050","1163","6","39.6","3.0","12.7","-12.2","6.0","-6.0","-9.4","8.8"], + ["3100","1153","7","39.4","3.0","12.8","-12.3","6.1","-6.0","-9.5","8.9"], + ["3150","1143","7","39.2","2.9","12.8","-12.3","6.1","-6.2","-9.7","9.0"], + ["3200","1133","7","39.0","2.9","12.9","-12.4","6.3","-6.2","-9.8","9.2"], + ["3250","1122","8","38.8","2.8","12.9","-12.4","6.4","-6.3","-10.0","9.3"], + ["3300","1111","8","38.6","2.7","13.0","-12.5","6.4","-6.4","-10.2","9.5"], + ["3350","1100","9","38.4","2.7","13.0","-12.5","6.5","-6.5","-10.3","9.6"], + ["3400","1088","9","38.2","2.6","13.0","-12.5","6.6","-6.6","-10.5","9.8"], + ["3450","1076","10","38.0","2.6","13.0","-12.6","6.7","-6.7","-10.6","9.9"], + ["3500","1064","10","37.7","2.5","13.1","-12.6","6.9","-6.8","-10.7","10.0"], + ["3550","1051","11","37.4","2.5","13.1","-12.6","7.0","-6.9","-10.9","10.2"], + ["3600","1038","12","37.2","2.4","13.1","-12.6","7.0","-7.0","-11.0","10.3"], + ["3650","1024","13","36.9","2.4","13.1","-12.6","7.2","-7.1","-11.2","10.4"], + ["3700","1009","14","36.5","2.3","13.1","-12.6","7.2","-7.3","-11.3","10.5"], + ["3750","993","15","36.2","2.3","13.0","-12.6","7.4","-7.3","-11.4","10.7"], + ["3800","977","16","35.8","2.2","13.0","-12.6","7.5","-7.5","-11.6","10.8"], + ["3850","959","18","35.4","2.2","13.0","-12.6","7.6","-7.6","-11.7","10.9"], + ["3900","940","20","34.9","2.1","12.9","-12.5","7.7","-7.7","-11.8","11.0"], + ["3950","918","23","34.4","2.0","12.8","-12.4","7.8","-7.8","-11.9","11.1"], + ["4000","893","28","33.7","2.0","12.7","-12.3","7.9","-7.9","-12.0","11.2"], + ["4050","863","35","32.9","1.9","12.5","-12.1","8.0","-8.0","-12.0","11.2"], + ["4100","821","50","31.8","1.8","12.1","-11.8","8.2","-8.2","-12.0","11.2"] + ] + }; +case ((abs(_muzzleVelocity - 300) < 0.00001) && ((abs(_airFriction - -0.0001) < 0.00001))): { + [ + ["800","1527","0","51.4","18.2","15.0","-14.6","1.4","-1.4","-3.1","2.9"], + ["850","1522","1","51.4","17.2","15.0","-14.6","1.5","-1.5","-3.3","3.0"], + ["900","1517","1","51.4","16.2","15.0","-14.7","1.6","-1.6","-3.5","3.2"], + ["950","1513","1","51.4","15.4","15.1","-14.7","1.7","-1.6","-3.7","3.4"], + ["1000","1508","1","51.4","14.7","15.2","-14.8","1.7","-1.7","-3.9","3.6"], + ["1050","1503","1","51.3","14.0","15.2","-14.8","1.8","-1.8","-4.1","3.8"], + ["1100","1498","1","51.3","13.4","15.3","-14.8","1.9","-1.9","-4.3","3.9"], + ["1150","1494","1","51.3","12.8","15.3","-14.9","2.0","-2.0","-4.5","4.1"], + ["1200","1489","1","51.3","12.3","15.4","-14.9","2.1","-2.1","-4.7","4.3"], + ["1250","1484","1","51.2","11.8","15.5","-15.0","2.2","-2.2","-4.9","4.5"], + ["1300","1479","1","51.2","11.3","15.5","-15.0","2.3","-2.3","-5.1","4.7"], + ["1350","1475","1","51.2","10.9","15.6","-15.1","2.3","-2.3","-5.3","4.8"], + ["1400","1470","1","51.2","10.6","15.6","-15.1","2.4","-2.4","-5.5","5.0"], + ["1450","1465","1","51.1","10.2","15.7","-15.2","2.5","-2.5","-5.7","5.2"], + ["1500","1460","1","51.1","9.9","15.8","-15.3","2.6","-2.6","-5.9","5.4"], + ["1550","1455","1","51.1","9.5","15.8","-15.3","2.7","-2.7","-6.1","5.6"], + ["1600","1451","1","51.0","9.3","15.9","-15.4","2.8","-2.8","-6.3","5.8"], + ["1650","1446","1","51.0","9.0","16.0","-15.4","2.9","-2.9","-6.5","5.9"], + ["1700","1441","1","51.0","8.7","16.0","-15.5","3.0","-2.9","-6.7","6.1"], + ["1750","1436","1","50.9","8.5","16.1","-15.6","3.0","-3.0","-6.9","6.3"], + ["1800","1431","1","50.9","8.2","16.2","-15.6","3.1","-3.1","-7.1","6.5"], + ["1850","1426","1","50.8","8.0","16.2","-15.7","3.2","-3.2","-7.3","6.7"], + ["1900","1421","1","50.8","7.8","16.3","-15.8","3.3","-3.3","-7.5","6.9"], + ["1950","1416","1","50.7","7.6","16.4","-15.8","3.4","-3.4","-7.7","7.1"], + ["2000","1411","1","50.7","7.4","16.4","-15.9","3.5","-3.5","-7.9","7.2"], + ["2050","1406","1","50.7","7.3","16.5","-15.9","3.6","-3.5","-8.1","7.4"], + ["2100","1401","1","50.6","7.1","16.6","-16.0","3.6","-3.6","-8.3","7.6"], + ["2150","1396","1","50.6","6.9","16.6","-16.1","3.7","-3.7","-8.5","7.8"], + ["2200","1390","1","50.5","6.8","16.7","-16.1","3.8","-3.8","-8.7","8.0"], + ["2250","1385","2","50.5","6.6","16.8","-16.2","3.9","-3.9","-8.9","8.2"], + ["2300","1380","2","50.4","6.5","16.9","-16.3","4.0","-4.0","-9.1","8.3"], + ["2350","1375","2","50.3","6.3","16.9","-16.4","4.1","-4.1","-9.3","8.5"], + ["2400","1370","2","50.3","6.2","17.0","-16.4","4.2","-4.1","-9.5","8.7"], + ["2450","1364","2","50.2","6.1","17.1","-16.5","4.2","-4.2","-9.7","8.9"], + ["2500","1359","2","50.2","6.0","17.1","-16.6","4.3","-4.3","-9.9","9.1"], + ["2550","1354","2","50.1","5.8","17.2","-16.6","4.4","-4.4","-10.1","9.3"], + ["2600","1348","2","50.0","5.7","17.3","-16.7","4.5","-4.5","-10.3","9.5"], + ["2650","1343","2","50.0","5.6","17.3","-16.8","4.6","-4.6","-10.5","9.6"], + ["2700","1337","2","49.9","5.5","17.4","-16.8","4.7","-4.7","-10.7","9.8"], + ["2750","1332","2","49.8","5.4","17.5","-16.9","4.8","-4.7","-10.9","10.0"], + ["2800","1326","2","49.8","5.3","17.6","-17.0","4.8","-4.8","-11.1","10.2"], + ["2850","1321","2","49.7","5.2","17.6","-17.0","4.9","-4.9","-11.3","10.4"], + ["2900","1315","2","49.6","5.1","17.7","-17.1","5.0","-5.0","-11.5","10.6"], + ["2950","1309","2","49.5","5.0","17.8","-17.2","5.1","-5.1","-11.7","10.8"], + ["3000","1304","2","49.5","5.0","17.8","-17.3","5.2","-5.2","-11.9","10.9"], + ["3050","1298","2","49.4","4.9","17.9","-17.3","5.3","-5.2","-12.1","11.1"], + ["3100","1292","2","49.3","4.8","18.0","-17.4","5.3","-5.3","-12.3","11.3"], + ["3150","1286","3","49.2","4.7","18.0","-17.5","5.4","-5.4","-12.5","11.5"], + ["3200","1280","3","49.1","4.6","18.1","-17.5","5.5","-5.5","-12.7","11.7"], + ["3250","1274","3","49.0","4.6","18.2","-17.6","5.6","-5.6","-12.9","11.9"], + ["3300","1268","3","48.9","4.5","18.2","-17.7","5.7","-5.6","-13.1","12.1"], + ["3350","1262","3","48.8","4.4","18.3","-17.7","5.8","-5.7","-13.3","12.2"], + ["3400","1256","3","48.7","4.4","18.4","-17.8","5.9","-5.8","-13.5","12.4"], + ["3450","1250","3","48.6","4.3","18.4","-17.9","5.9","-5.9","-13.8","12.6"], + ["3500","1244","3","48.5","4.2","18.5","-17.9","6.0","-6.0","-14.0","12.8"], + ["3550","1237","3","48.4","4.2","18.6","-18.0","6.1","-6.1","-14.2","13.0"], + ["3600","1231","3","48.3","4.1","18.6","-18.1","6.2","-6.2","-14.4","13.2"], + ["3650","1224","3","48.2","4.0","18.7","-18.1","6.3","-6.3","-14.6","13.4"], + ["3700","1218","3","48.1","4.0","18.7","-18.2","6.4","-6.3","-14.8","13.5"], + ["3750","1211","4","48.0","3.9","18.8","-18.2","6.5","-6.4","-15.0","13.7"], + ["3800","1205","4","47.8","3.9","18.8","-18.3","6.5","-6.5","-15.2","13.9"], + ["3850","1198","4","47.7","3.8","18.9","-18.4","6.6","-6.6","-15.4","14.1"], + ["3900","1191","4","47.6","3.7","18.9","-18.4","6.7","-6.7","-15.6","14.3"], + ["3950","1184","4","47.5","3.7","19.0","-18.5","6.8","-6.8","-15.8","14.5"], + ["4000","1177","4","47.3","3.6","19.1","-18.5","6.9","-6.8","-16.0","14.7"], + ["4050","1170","4","47.2","3.6","19.1","-18.6","7.0","-6.9","-16.2","14.8"], + ["4100","1163","4","47.0","3.5","19.1","-18.6","7.1","-7.0","-16.4","15.0"], + ["4150","1155","5","46.9","3.5","19.2","-18.7","7.1","-7.1","-16.6","15.2"], + ["4200","1148","5","46.7","3.4","19.2","-18.7","7.2","-7.2","-16.8","15.4"], + ["4250","1140","5","46.6","3.4","19.3","-18.8","7.3","-7.3","-17.0","15.6"], + ["4300","1132","5","46.4","3.3","19.3","-18.8","7.4","-7.4","-17.2","15.7"], + ["4350","1124","5","46.2","3.3","19.3","-18.8","7.5","-7.5","-17.4","15.9"], + ["4400","1116","5","46.1","3.2","19.4","-18.9","7.6","-7.5","-17.6","16.1"], + ["4450","1108","6","45.9","3.2","19.4","-18.9","7.7","-7.6","-17.8","16.3"], + ["4500","1100","6","45.7","3.1","19.4","-19.0","7.8","-7.7","-17.9","16.4"], + ["4550","1091","6","45.5","3.1","19.4","-19.0","7.8","-7.8","-18.1","16.6"], + ["4600","1083","6","45.3","3.1","19.5","-19.0","7.9","-7.9","-18.3","16.8"], + ["4650","1074","7","45.1","3.0","19.5","-19.0","8.0","-8.0","-18.5","17.0"], + ["4700","1065","7","44.9","3.0","19.5","-19.1","8.1","-8.1","-18.7","17.1"], + ["4750","1055","7","44.6","2.9","19.5","-19.1","8.2","-8.2","-18.9","17.3"], + ["4800","1046","8","44.4","2.9","19.5","-19.1","8.3","-8.3","-19.1","17.5"], + ["4850","1036","8","44.2","2.8","19.5","-19.1","8.4","-8.3","-19.2","17.6"], + ["4900","1025","8","43.9","2.8","19.5","-19.1","8.5","-8.4","-19.4","17.8"], + ["4950","1015","9","43.6","2.7","19.5","-19.1","8.6","-8.5","-19.6","18.0"], + ["5000","1004","9","43.3","2.7","19.4","-19.1","8.7","-8.6","-19.8","18.1"], + ["5050","992","10","43.0","2.6","19.4","-19.0","8.8","-8.7","-19.9","18.3"], + ["5100","980","11","42.7","2.6","19.4","-19.0","8.9","-8.8","-20.1","18.4"], + ["5150","968","11","42.4","2.5","19.3","-18.9","9.0","-8.9","-20.2","18.6"], + ["5200","955","12","42.0","2.5","19.2","-18.9","9.1","-9.0","-20.4","18.7"], + ["5250","941","13","41.6","2.4","19.2","-18.8","9.1","-9.1","-20.6","18.8"], + ["5300","926","15","41.2","2.4","19.1","-18.8","9.2","-9.2","-20.7","19.0"], + ["5350","910","16","40.7","2.3","19.0","-18.6","9.4","-9.3","-20.8","19.1"], + ["5400","892","18","40.2","2.3","18.8","-18.5","9.5","-9.4","-20.9","19.2"], + ["5450","872","21","39.6","2.2","18.6","-18.3","9.6","-9.5","-21.0","19.3"], + ["5500","849","26","38.8","2.1","18.4","-18.1","9.7","-9.7","-21.1","19.3"], + ["5550","820","33","37.9","2.1","18.0","-17.8","9.8","-9.8","-21.1","19.4"] + ] + }; + default {systemChat "Error: MuzzleVelocity not found in LUT"; []}; +}; \ No newline at end of file diff --git a/addons/mk6mortar/script_component.hpp b/addons/mk6mortar/script_component.hpp index adf4a56946..cb74d552de 100644 --- a/addons/mk6mortar/script_component.hpp +++ b/addons/mk6mortar/script_component.hpp @@ -9,4 +9,6 @@ #define DEBUG_SETTINGS DEBUG_SETTINGS_MK6MORTAR #endif -#include "\z\ace\Addons\main\script_macros.hpp" \ No newline at end of file +#include "\z\ace\Addons\main\script_macros.hpp" + +#define MK6_82mm_AIR_FRICTION -0.0001 \ No newline at end of file